towards micro-services & api-centric application development · towards micro-services &...
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 [email protected]
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 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