towards micro-services & api-centric application development · towards micro-services &...

26
Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26 th Wednesday, 3:05pm-3:45pm OpenStack Summit – Barcelona, Spain INTEL® CLOUD FOR ALL

Upload: others

Post on 20-May-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

Towards Micro-services & API-CentricApplication DevelopmentDr. Yih Leong Sun, Intel Corporation

October 26th Wednesday, 3:05pm-3:45pmOpenStack Summit – Barcelona, Spain

INTEL® CLOUD FOR ALL

Page 2: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL

Introduction

2

Yih Leong Sun, PhDSenior Software Cloud ArchitectIntel Open Source Technology [email protected]

Page 3: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 3

AgendaBusiness Drivers

Architecture

OpenStack* Services/API

Example

Summary

*Other names and brands may be claimed as the property of others.

Page 4: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 4

Business Drivers

Page 5: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 5

Why do We need Micro-services & API Architecture

Rapidly changing & competitive environment

Innovation & market opportunity

Integration with existing system

Page 6: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 6

Architecture

Page 7: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 7

Monolithic ArchitectureApp

WAR

Faculty

Course

Student

Database

MySQL

Web

Apache

App

WAR

Faculty

Course

Student

App

WAR

Faculty

Course

Student

Page 8: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 8

Service-Oriented-Architecture (SOA)

FulfillmentService

InventoryService

OrderService

CustomerService

PaymentService

CatalogService

ReportingService

CMS Warehouse Payment GatewayShipping

Web Portal Mobile POS Admin

Page 9: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 9

Service-Oriented-Architecture (SOA)

exposing software through web services

WS-* standardsXML over HTTP

asynchronous messaging to transfer documents

Service Bus

UDDI

reusable business servicesSOAP

WSDL

BPEL

Page 10: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 10

Micro-services

FacultyService

• Making SOA easier

• Independent

• HTTP(S) / REST

• Lightweight

CourseService

StudentService

MySQL MongoDB MySQL

API Gateway

REST API REST API REST API

POST /studentGET /faculties/<faculty-id>

Page 11: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 11

Micro-services Patterns

Service DiscoveryCommunication

Deployment of ServicesData Management

DB1DB2

DB3S1

S2 S3

MessagingREST Client

Server

Micro-servicesArchitecture

HTTP

Page 12: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 12

Benefits

• Modularity

• Isolation

• Mix of technologies

Challenges

• Complexity in distributed architecture

• Many deployments

• Eventually consistent(CAP theorem*)

Micro-services Benefits & Challenges

*Ref: http://dl.acm.org/citation.cfm?id=564601

Page 13: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 13

CAP Theorem

Availability

Partition Tolerance

Consistency

ACID+

Eventually Available

BASE+

EventuallyConsistent

Pick2

Page 14: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 14

OpenStack* Services/API

*Other names and brands may be claimed as the property of others.

Page 15: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL

https://www.google.com/#q=immutable

Config Changes

Application Updates

Package Updates

15

micro-services & OpenStack* Services/API

VM

VM

VM

Immutable Infrastructure

VMrev1

VMrev2

*Other names and brands may be claimed as the property of others.

Page 16: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 16

micro-services & OpenStack* Services/APIInfrastructure as Code

Service A

DBMySQL

Service A

Instance1 Instance2

Service B

DBMySQL

Service B

Instance1 Instance2

Service C

DBMySQL

Service C

Instance1 Instance2

*Other names and brands may be claimed as the property of others.

Page 17: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 17

micro-services & OpenStack* Services/APIAPI-driven infrastructure

VM

App Code

VM

Ops

Do something

VM VM

Do something

Object StorageStorage

App Code

API

API

Ops

?

*Other names and brands may be claimed as the property of others.

Page 18: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 18

Example

Page 19: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 19

Online Video Platform - Transcoding

Requirements

• Users upload media files

• Transcode video file to multiple formats for various devices/display

• Geographical locations

• Budget

Page 20: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 20

Online Video Platform - Transcoding

ApplicationApplication

Application

Web

Shared File Storage

Web

Database

Web

Transcode PlaybackUpload

Page 21: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 21

Online Video Platform - TranscodingPOST /src/<file>

POST /transcode/<job>Upload UI Transcode UI Playback UI

TranscodeService

Object StorageREST/API

TranscoderTranscoder

TranscoderResource Manager

REST/API

Object StorageREST/API

GET /transcode/<job>

GET /dest/<file>

PlaybackService

UploadService

API Gateway

REST/APIREST/API

Page 22: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 22

Summary

Page 23: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 23

we have DISCUSSED…Different architecture

Micro-services patterns and challenges

OpenStack cloud-based infrastructure

Page 24: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

INTEL® CLOUD FOR ALL 24

QUESTIONS / Feedback

[email protected]

@yihleong

#CloudApp

Page 25: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,

Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Learn more at intel.com, or from the OEM or retailer.

No computer system can be absolutely secure.

Tests document performance of components on a particular test, in specific systems. Differences in hardware, software, or configuration will affect actual performance. Consult other sources of information to evaluate performance as you consider your purchase. For more complete information about performance and benchmark results, visit http://www.intel.com/performance.

Intel, the Intel logo and others are trademarks of Intel Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others.

© 2016 Intel Corporation.

Legal notices and disclaimers

Page 26: Towards Micro-services & API-Centric Application Development · Towards Micro-services & API-Centric Application Development Dr. Yih Leong Sun, Intel Corporation October 26th Wednesday,