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

Post on 20-May-2020

11 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

INTEL® CLOUD FOR ALL

Introduction

2

Yih Leong Sun, PhDSenior Software Cloud ArchitectIntel Open Source Technology Centeryih.leong.sun@intel.com

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.

INTEL® CLOUD FOR ALL 4

Business Drivers

INTEL® CLOUD FOR ALL 5

Why do We need Micro-services & API Architecture

Rapidly changing & competitive environment

Innovation & market opportunity

Integration with existing system

INTEL® CLOUD FOR ALL 6

Architecture

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

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

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

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>

INTEL® CLOUD FOR ALL 11

Micro-services Patterns

Service DiscoveryCommunication

Deployment of ServicesData Management

DB1DB2

DB3S1

S2 S3

MessagingREST Client

Server

Micro-servicesArchitecture

HTTP

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

INTEL® CLOUD FOR ALL 13

CAP Theorem

Availability

Partition Tolerance

Consistency

ACID+

Eventually Available

BASE+

EventuallyConsistent

Pick2

INTEL® CLOUD FOR ALL 14

OpenStack* Services/API

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

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.

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.

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.

INTEL® CLOUD FOR ALL 18

Example

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

INTEL® CLOUD FOR ALL 20

Online Video Platform - Transcoding

ApplicationApplication

Application

Web

Shared File Storage

Web

Database

Web

Transcode PlaybackUpload

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

INTEL® CLOUD FOR ALL 22

Summary

INTEL® CLOUD FOR ALL 23

we have DISCUSSED…Different architecture

Micro-services patterns and challenges

OpenStack cloud-based infrastructure

INTEL® CLOUD FOR ALL 24

QUESTIONS / Feedback

yih.leong.sun@intel.com

@yihleong

#CloudApp

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

top related