SlideShare a Scribd company logo
1 of 61
Download to read offline
© Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved.
To Microservices and Beyond!
1
Simon Elisha (@simon_elisha) - CTO & Director of Field Engineering
© Copyright 2014 Pivotal. All rights reserved. 2
IT SEEMS THERE’S SOME HYPE…
M!CR0S3RV!C3$!!!!!
© Copyright 2014 Pivotal. All rights reserved.
DEFINE: Microservice
3
Loosely coupled service oriented
architecture with bounded contexts
If every service has to be updated in
concert, it’s not loosely coupled!
If you have to know about surrounding
services you don’t have a bounded context.
© Copyright 2014 Pivotal. All rights reserved. 4
Not Traditional (ESB-centric) SOA
Enterprise Service Bus
Service Service Service Service
Service Service Service Service
UI UI
© Copyright 2014 Pivotal. All rights reserved. 5
But Microservices!
© Copyright 2014 Pivotal. All rights reserved. 6
But why?
© Copyright 2014 Pivotal. All rights reserved. 7
Issues We’ll Confront
• Microservices are not an inherently superior architecture.
• We’re still building big systems from smaller things.
• Just like Docker won’t save the world, neither will
microservices. They’re not free.
• You absolutely cannot forget about data.
• Let’s begin!
© Copyright 2014 Pivotal. All rights reserved. 8
Not an end in themselves…
It’s about Continuous Delivery!
© Copyright 2014 Pivotal. All rights reserved.
What is Continuous Delivery?
9
$
Business
DevelopmentQA
Operations
Customer
© Copyright 2014 Pivotal. All rights reserved.
What is Continuous Delivery?
10
$
© Copyright 2014 Pivotal. All rights reserved. 11
Keep the Wheel Spinning!
Design
Develop
Test
Customer
Feedback
Customer
Delivery
Analytics
© Copyright 2014 Pivotal. All rights reserved. 12
Prod
Release
#1
Prod
Release
#2
Prod
Release
#3
AgileDevelopm
ent
Waterfall
Organization!
© Copyright 2014 Pivotal. All rights reserved.
Silo Delivery
13
Project
Mgmt
UX Dev QA DBA
Sys
Admin
Net
Admin
Storage
Admin
Adapted from: http://www.slideshare.net/adriancockcroft/goto-berlin
MONOLITHIC DELIVERY
© Copyright 2014 Pivotal. All rights reserved.
Continuous Delivery
14
Product
Mgr
UX Dev QA DBA
Sys
Admin
Net
Admin
Storage
Admin
BUSINESS CAPABILITY TEAMS
USING MICROSERVICES
PLATFORM OPERATIONS
TEAM
Adapted from: http://www.slideshare.net/adriancockcroft/goto-berlin
© Copyright 2014 Pivotal. All rights reserved.
Continuous Delivery
15
Product
Mgr
UX Dev QA DBA
Sys
Admin
Net
Admin
Storage
Admin
BUSINESS CAPABILITY TEAMS
USING MICROSERVICES
PLATFORM OPERATIONS
TEAM
Adapted from: http://www.slideshare.net/adriancockcroft/goto-berlin
Self
Service
API
© Copyright 2014 Pivotal. All rights reserved. 16
INVENTORY
Prod Release
Prod Release
Prod Release
CATALOG
Prod Release
Prod Release
Prod Release
REVIEWS
Prod Release
Prod Release
Prod Release
SHIPPING
Prod Release
Prod Release
Prod Release
© Copyright 2014 Pivotal. All rights reserved. 17
Microservices Enabling Continuous Delivery
• Decoupling Capabilities -> Decoupling Change Cycles
• Product Ownership: Tip to Tail
• We Build and Operate What We Understand BEST
• We Collaborate via API Contracts
• Microservice to Microservice
• Microservice to Platform
© Copyright 2014 Pivotal. All rights reserved. 18
Systems over Services
Composition over Components
© Copyright 2014 Pivotal. All rights reserved.
Microframeworks for Microservices
19
Spring Boot
http://projects.spring.io/spring-boot
Dropwizard
http://dropwizard.io
© Copyright 2014 Pivotal. All rights reserved.
It can get pretty small…
20
@RestController
class ThisWillActuallyRun {
@RequestMapping("/")
String home() {
Hello World!
}
}
© Copyright 2014 Pivotal. All rights reserved.
With Spring Data REST!
21
http://projects.spring.io/spring-data-rest
@Entity
@Table(name = "city")
public class City implements Serializable {
@Id
@GeneratedValue
private Long id;
@Column(nullable = false)
private String name;
@Column(nullable = false)
private String county;
//...
}
© Copyright 2014 Pivotal. All rights reserved.
With Spring Data REST!
22
http://projects.spring.io/spring-data-rest
@RepositoryRestResource(collectionResourceRel = "cities", path = "cities")
public interface CityRepository extends PagingAndSortingRepository<City, Long> {}
@Configuration
@ComponentScan
@EnableAutoConfiguration
@EnableJpaRepositories
@Import(RepositoryRestMvcConfiguration.class)
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
© Copyright 2014 Pivotal. All rights reserved.
With Spring Data REST!
23
http://projects.spring.io/spring-data-rest
{
"_links" : {
"next" : {
"href" : "http://localhost:8080/cities?page=1&size=20"
},
"self" : {
"href" : "http://localhost:8080/cities{?page,size,sort}",
"templated" : true
}
},
"_embedded" : {
"cities" : [ {
"name" : "HOLTSVILLE",
"county" : "SUFFOLK",
"stateCode" : "NY",
"postalCode" : "00501",
"latitude" : "+40.922326",
"longitude" : "-072.637078",
© Copyright 2014 Pivotal. All rights reserved.
But No Microservice is an Island…
24
© Copyright 2014 Pivotal. All rights reserved.
Example Distributed System: Minified
25
© Copyright 2014 Pivotal. All rights reserved. 26
Some emergent features of microservices
systems…
• Distributed/Versioned Configuration
• Service Registration/Discovery
• Routing/Load Balancing
• Fault Tolerance (Circuit Breakers, Bulkheads, …)
© Copyright 2014 Pivotal. All rights reserved.
Example: Coordination Boiler Plate
27
© Copyright 2014 Pivotal. All rights reserved. 28
• Eureka
• Hystrix + Turbine
• Ribbon
• Feign
• Zuul
• Archaius
+
http://netflix.github.io
© Copyright 2014 Pivotal. All rights reserved. 29
http://projects.spring.io/spring-cloud
© Copyright 2014 Pivotal. All rights reserved.
Example: Spring Cloud + Netflix OSS
30
© Copyright 2014 Pivotal. All rights reserved. 31
Operationalized
Architecture
You have to pay for your lunch!
© Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved. 32
http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html
© Copyright 2014 Pivotal. All rights reserved. 33
Paying for your lunch…
• Significant Operations Overhead
• Substantial DevOps Skills Required
• Implicit Interfaces
• Duplication of Effort
• Distributed System Complexity
• Asynchronicity is Difficult!
• Testability Challenges
© Copyright 2014 Pivotal. All rights reserved.
You must be this tall
to use
Microservices…
34
http://martinfowler.com/bliki/MicroservicePrerequisites.html
https://www.flickr.com/photos/gusset/3723961589
• RAPID PROVISIONING
• BASIC MONITORING
• RAPID APPLICATION DEPLOYMENT
• DEVOPS CULTURE
© Copyright 2014 Pivotal. All rights reserved.
It takes a platform…
35
http://techblog.netflix.com/2013/01/optimizing-netflix-api.html
http://techblog.netflix.com/2014/03/the-netflix-dynamic-scripting-platform.html
© Copyright 2014 Pivotal. All rights reserved.
It takes a platform…
36
Pivotal CF Spring Cloud
© Copyright 2014 Pivotal. All rights reserved. 37
Platform Features
• Environment Provisioning
• On-Demand/Automatic Scaling
• Failover/Resilience
• Routing/Load Balancing
• Data Service Operations
• Monitoring
© Copyright 2014 Pivotal. All rights reserved.
Environment Provisioning/App Deployment
38
Router
Cloud Controller
Service Broker
Node(s)
DEA
DEA
DEA
DEA
Blobstore DB
Runtime
1. Upload bits/metadata
2. Create/bind services
3. Stage via Buildpack
4. Deploy via Container
push app
+ app MD
SC
+ =
http://docs.cloudfoundry.org/devguide/deploy-apps/
© Copyright 2014 Pivotal. All rights reserved.
Environment Provisioning/App Deployment
39
Router
Cloud Controller
DEA
Blobstore DB
Runtime
Detect Compile Upload
No
System
Buildpacks
+ =
Yes
http://docs.cloudfoundry.org/buildpacks/
© Copyright 2014 Pivotal. All rights reserved.
Deployment/Load Balancing/Scaling
40
Blobstore
Router
Cloud Controller
DEA
Messaging (NATS)
DEA DEA
Runtime
Access
App
http://docs.cloudfoundry.org/concepts/architecture/warden.html
Container Container
© Copyright 2014 Pivotal. All rights reserved.
Failover/Resilience
41
Blobstore
Router
Cloud Controller
DEA
Messaging (NATS)
DEA DEA
Runtime
Health Manager
Actual StateDesired State
http://docs.cloudfoundry.org/concepts/architecture/#hm9k
Container Container Container
© Copyright 2014 Pivotal. All rights reserved.
Data Service Operations: Cluster Provisioning
42
Blobstore
BOSH
Health Monitor
DB
Deploy my
Services
IaaS
Worker VMsBOSH Director
NATS
Cassandra Node
Target VM
Cassandra Node
Target VM
Cassandra Node
Target VM
http://bosh.cloudfoundry.org/
© Copyright 2014 Pivotal. All rights reserved.
DB
Router
Data Service Operations: Application Binding
43
Service
credentials
reserve resources
obtain connection data
CLI Cloud
Controller
Service
Broker
Data
Service
Runtime
create service (HTTP)
bind service (HTTP)
create service (HTTP)
bind service (HTTP)
http://docs.cloudfoundry.org/services/api.html
© Copyright 2014 Pivotal. All rights reserved.
Monitoring
44
© Copyright 2014 Pivotal. All rights reserved. 45
It’s All About the Data
What about the BIG QUESTIONS?
© Copyright 2014 Pivotal. All rights reserved.
This won’t work…
46
© Copyright 2014 Pivotal. All rights reserved. 47
Instead!
© Copyright 2014 Pivotal. All rights reserved.
Bounded Contexts
48
Movie Movie
Actor
Genre
Media
Type
Media
Type
Kiosk
Location
Media
Product
Catalog
Inventory
© Copyright 2014 Pivotal. All rights reserved.
Polyglot Persistence
49
REST XYou shall not pass…
© Copyright 2014 Pivotal. All rights reserved.
But I have a question!
50
REST XYou shall not pass…
?
?
? ?
?
?
© Copyright 2014 Pivotal. All rights reserved.
Lambda Architecture
51
© Copyright 2014 Pivotal. All rights reserved.
Join via Events!
52
© Copyright 2014 Pivotal. All rights reserved. 53
http://projects.spring.io/spring-xd/
© Copyright 2014 Pivotal. All rights reserved. 54
© Copyright 2014 Pivotal. All rights reserved.
Redbox Conceptual Workflow
55
© Copyright 2014 Pivotal. All rights reserved.
SpringBox Microservices
56
Catalog Service
Inventory Service
Kiosk
Kiosk
Kiosk
Reservation
Service
https://github.com/cf-platform-eng/springbox-datacloud
© Copyright 2014 Pivotal. All rights reserved.
…and if you have a question:
57
Kiosk
Kiosk
Kiosk
Speed Layer
Batch Layer
Serving Layer
Event
Ingest
https://github.com/cf-platform-eng/springbox-datacloud
“What movie genres are most popular in what geographic locations?”
© Copyright 2014 Pivotal. All rights reserved.
“What movie genres are most popular in
what geographic locations?”
58
// Aggregate preferences across all kiosks:
stream create --name kiosk_agg_prefs --definition "rabbit --
queues=lambda.kiosk.events | field-value-counter --fieldName=genreIds"
// Tap aggregate preferences, filter for kiosk #1:
stream create --name kiosk_1_prefs --definition "tap:stream:kiosk_agg_prefs > filter
--expression=#jsonPath(payload,'$.locationId').equals(1) | field-value-counter --
fieldName=genreIds"
© Copyright 2014 Pivotal. All rights reserved.
“What movie genres are most popular in
what geographic locations?”
59
field-value-counter display --name kiosk_agg_prefs
field-value-counter display=kiosk_agg_prefs
------------------------------------------- - -----
VALUE - COUNT
Action | 14
Adventure | 6
Comedy | 27
Sci-Fi | 18
© Copyright 2014 Pivotal. All rights reserved. 60
Where We’ve Been…
• Microservices are an enabler to Continuous Delivery.
• Less about services, more about composed distributed
systems. Patterns can help.
• You’re going to need a platform.
• Decomposed data governance -> recomposed data
discovery.
• Thank You!
A NEW PLATFORM FOR A NEW ERA

More Related Content

What's hot

Architecture & Operations
Architecture & OperationsArchitecture & Operations
Architecture & OperationsVMware Tanzu
 
Cloud native Microservices using Spring Boot
Cloud native Microservices using Spring BootCloud native Microservices using Spring Boot
Cloud native Microservices using Spring BootSufyaan Kazi
 
Devops Enterprise Summit: My Great Awakening: 
Top “Ah-ha” Moments As Former ...
Devops Enterprise Summit: My Great Awakening: 
Top “Ah-ha” Moments As Former ...Devops Enterprise Summit: My Great Awakening: 
Top “Ah-ha” Moments As Former ...
Devops Enterprise Summit: My Great Awakening: 
Top “Ah-ha” Moments As Former ...cornelia davis
 
Pivotal Power Lunch - Why Cloud Native?
Pivotal Power Lunch - Why Cloud Native?Pivotal Power Lunch - Why Cloud Native?
Pivotal Power Lunch - Why Cloud Native?Sufyaan Kazi
 
IBM and OpenStack: Collaboration Beyond the Code
IBM and OpenStack: Collaboration Beyond the CodeIBM and OpenStack: Collaboration Beyond the Code
IBM and OpenStack: Collaboration Beyond the CodeDaniel Krook
 
Pivotal microservices spring_pcf_skillsmatter.pptx
Pivotal microservices spring_pcf_skillsmatter.pptxPivotal microservices spring_pcf_skillsmatter.pptx
Pivotal microservices spring_pcf_skillsmatter.pptxSufyaan Kazi
 
A year with Cloud Foundry and BOSH
A year with Cloud Foundry and BOSHA year with Cloud Foundry and BOSH
A year with Cloud Foundry and BOSHTroy Astle
 
Cloud Native Architectures for Devops
Cloud Native Architectures for DevopsCloud Native Architectures for Devops
Cloud Native Architectures for Devopscornelia davis
 
Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...
Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...
Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...Chris Haddad
 
How to Architect and Develop Cloud Native Applications
How to Architect and Develop Cloud Native ApplicationsHow to Architect and Develop Cloud Native Applications
How to Architect and Develop Cloud Native ApplicationsSufyaan Kazi
 
Pivotal spring boot-cloud workshop
Pivotal   spring boot-cloud workshopPivotal   spring boot-cloud workshop
Pivotal spring boot-cloud workshopSufyaan Kazi
 
HP Helion Webinar #4 - Open stack the magic pill
HP Helion Webinar #4 - Open stack the magic pillHP Helion Webinar #4 - Open stack the magic pill
HP Helion Webinar #4 - Open stack the magic pillBeMyApp
 
Unlock your VMWare Investment with Pivotal Cloud Foundry (VMworld 2014)
Unlock your VMWare Investment with Pivotal Cloud Foundry (VMworld 2014)Unlock your VMWare Investment with Pivotal Cloud Foundry (VMworld 2014)
Unlock your VMWare Investment with Pivotal Cloud Foundry (VMworld 2014)VMware Tanzu
 
HP Helion European Webinar Series ,Webinar #3
HP Helion European Webinar Series ,Webinar #3 HP Helion European Webinar Series ,Webinar #3
HP Helion European Webinar Series ,Webinar #3 BeMyApp
 
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a PlatformLinux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a Platformcornelia davis
 
Forecast 2014: EMC Corp - Build a hybrid cloud
Forecast 2014: EMC Corp - Build a hybrid cloudForecast 2014: EMC Corp - Build a hybrid cloud
Forecast 2014: EMC Corp - Build a hybrid cloudOpen Data Center Alliance
 
The Cloud Foundry Story
The Cloud Foundry StoryThe Cloud Foundry Story
The Cloud Foundry StoryVMware Tanzu
 

What's hot (20)

PCF Architecture
PCF Architecture PCF Architecture
PCF Architecture
 
Architecture & Operations
Architecture & OperationsArchitecture & Operations
Architecture & Operations
 
Cloud native Microservices using Spring Boot
Cloud native Microservices using Spring BootCloud native Microservices using Spring Boot
Cloud native Microservices using Spring Boot
 
Devops Enterprise Summit: My Great Awakening: 
Top “Ah-ha” Moments As Former ...
Devops Enterprise Summit: My Great Awakening: 
Top “Ah-ha” Moments As Former ...Devops Enterprise Summit: My Great Awakening: 
Top “Ah-ha” Moments As Former ...
Devops Enterprise Summit: My Great Awakening: 
Top “Ah-ha” Moments As Former ...
 
Pivotal CF 소개
Pivotal CF 소개 Pivotal CF 소개
Pivotal CF 소개
 
Pivotal Power Lunch - Why Cloud Native?
Pivotal Power Lunch - Why Cloud Native?Pivotal Power Lunch - Why Cloud Native?
Pivotal Power Lunch - Why Cloud Native?
 
IBM and OpenStack: Collaboration Beyond the Code
IBM and OpenStack: Collaboration Beyond the CodeIBM and OpenStack: Collaboration Beyond the Code
IBM and OpenStack: Collaboration Beyond the Code
 
Pivotal microservices spring_pcf_skillsmatter.pptx
Pivotal microservices spring_pcf_skillsmatter.pptxPivotal microservices spring_pcf_skillsmatter.pptx
Pivotal microservices spring_pcf_skillsmatter.pptx
 
A year with Cloud Foundry and BOSH
A year with Cloud Foundry and BOSHA year with Cloud Foundry and BOSH
A year with Cloud Foundry and BOSH
 
Cloud Native Architectures for Devops
Cloud Native Architectures for DevopsCloud Native Architectures for Devops
Cloud Native Architectures for Devops
 
Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...
Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...
Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...
 
How to Architect and Develop Cloud Native Applications
How to Architect and Develop Cloud Native ApplicationsHow to Architect and Develop Cloud Native Applications
How to Architect and Develop Cloud Native Applications
 
Pivotal spring boot-cloud workshop
Pivotal   spring boot-cloud workshopPivotal   spring boot-cloud workshop
Pivotal spring boot-cloud workshop
 
HP Helion Webinar #4 - Open stack the magic pill
HP Helion Webinar #4 - Open stack the magic pillHP Helion Webinar #4 - Open stack the magic pill
HP Helion Webinar #4 - Open stack the magic pill
 
Unlock your VMWare Investment with Pivotal Cloud Foundry (VMworld 2014)
Unlock your VMWare Investment with Pivotal Cloud Foundry (VMworld 2014)Unlock your VMWare Investment with Pivotal Cloud Foundry (VMworld 2014)
Unlock your VMWare Investment with Pivotal Cloud Foundry (VMworld 2014)
 
HP Helion European Webinar Series ,Webinar #3
HP Helion European Webinar Series ,Webinar #3 HP Helion European Webinar Series ,Webinar #3
HP Helion European Webinar Series ,Webinar #3
 
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a PlatformLinux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
 
Forecast 2014: EMC Corp - Build a hybrid cloud
Forecast 2014: EMC Corp - Build a hybrid cloudForecast 2014: EMC Corp - Build a hybrid cloud
Forecast 2014: EMC Corp - Build a hybrid cloud
 
The Cloud Foundry Story
The Cloud Foundry StoryThe Cloud Foundry Story
The Cloud Foundry Story
 
Intel Cloud Foundry and OpenStack
Intel Cloud Foundry and OpenStackIntel Cloud Foundry and OpenStack
Intel Cloud Foundry and OpenStack
 

Viewers also liked

Nursing home cook performance appraisal
Nursing home cook performance appraisalNursing home cook performance appraisal
Nursing home cook performance appraisalhayesamelia80
 
12. Горад у ІХ - сярэдзіне ХІІІ ст. Прыняцце хрысціянства
12. Горад у ІХ - сярэдзіне ХІІІ ст. Прыняцце хрысціянства12. Горад у ІХ - сярэдзіне ХІІІ ст. Прыняцце хрысціянства
12. Горад у ІХ - сярэдзіне ХІІІ ст. Прыняцце хрысціянстваAnastasiyaF
 
شروط التقديم
شروط التقديمشروط التقديم
شروط التقديمNour Elbader
 
PortfolioDrBarbaraCox
PortfolioDrBarbaraCoxPortfolioDrBarbaraCox
PortfolioDrBarbaraCoxBarbara Cox
 
mega holdings new presentation
mega holdings new presentation  mega holdings new presentation
mega holdings new presentation Mohammed Ammar
 
Вместе с мамой. Что делать, когда твой ребенок в реанимации
Вместе с мамой. Что делать, когда твой ребенок в реанимацииВместе с мамой. Что делать, когда твой ребенок в реанимации
Вместе с мамой. Что делать, когда твой ребенок в реанимацииФонд Вера
 
SOFTWARE RESUME recent UPDATE
SOFTWARE RESUME recent UPDATESOFTWARE RESUME recent UPDATE
SOFTWARE RESUME recent UPDATEAdebayo Damilola
 
閱讀報告6226
閱讀報告6226閱讀報告6226
閱讀報告6226晴 宇
 
Undang-Undang nomor 31 tahun 1999
Undang-Undang nomor 31 tahun 1999Undang-Undang nomor 31 tahun 1999
Undang-Undang nomor 31 tahun 1999Muhammad Sirajuddin
 
RN_ASA_ Storyboard
RN_ASA_ StoryboardRN_ASA_ Storyboard
RN_ASA_ StoryboardBecky Sheely
 

Viewers also liked (17)

Nursing home cook performance appraisal
Nursing home cook performance appraisalNursing home cook performance appraisal
Nursing home cook performance appraisal
 
12. Горад у ІХ - сярэдзіне ХІІІ ст. Прыняцце хрысціянства
12. Горад у ІХ - сярэдзіне ХІІІ ст. Прыняцце хрысціянства12. Горад у ІХ - сярэдзіне ХІІІ ст. Прыняцце хрысціянства
12. Горад у ІХ - сярэдзіне ХІІІ ст. Прыняцце хрысціянства
 
شروط التقديم
شروط التقديمشروط التقديم
شروط التقديم
 
PortfolioDrBarbaraCox
PortfolioDrBarbaraCoxPortfolioDrBarbaraCox
PortfolioDrBarbaraCox
 
State life
State lifeState life
State life
 
Flipkart
FlipkartFlipkart
Flipkart
 
mega holdings new presentation
mega holdings new presentation  mega holdings new presentation
mega holdings new presentation
 
Suhu tubuh
Suhu tubuhSuhu tubuh
Suhu tubuh
 
Вместе с мамой. Что делать, когда твой ребенок в реанимации
Вместе с мамой. Что делать, когда твой ребенок в реанимацииВместе с мамой. Что делать, когда твой ребенок в реанимации
Вместе с мамой. Что делать, когда твой ребенок в реанимации
 
SOFTWARE RESUME recent UPDATE
SOFTWARE RESUME recent UPDATESOFTWARE RESUME recent UPDATE
SOFTWARE RESUME recent UPDATE
 
閱讀報告6226
閱讀報告6226閱讀報告6226
閱讀報告6226
 
IH Poster Samples
IH Poster SamplesIH Poster Samples
IH Poster Samples
 
Copy of عامة
Copy of عامةCopy of عامة
Copy of عامة
 
QQML slides
QQML slidesQQML slides
QQML slides
 
IELTS Speaking Part2
IELTS Speaking Part2IELTS Speaking Part2
IELTS Speaking Part2
 
Undang-Undang nomor 31 tahun 1999
Undang-Undang nomor 31 tahun 1999Undang-Undang nomor 31 tahun 1999
Undang-Undang nomor 31 tahun 1999
 
RN_ASA_ Storyboard
RN_ASA_ StoryboardRN_ASA_ Storyboard
RN_ASA_ Storyboard
 

Similar to To Microservices and Beyond

Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipVMware Tanzu
 
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipMatt Stine
 
Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)
Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)
Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)VMware Tanzu
 
Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209minseok kim
 
Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...
Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...
Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...VMware Tanzu
 
Development on Cloud,PaaS and SDDC
Development on Cloud,PaaS and SDDCDevelopment on Cloud,PaaS and SDDC
Development on Cloud,PaaS and SDDCseungdon Choi
 
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
[2015-11월 정기 세미나] Cloud Native Platform - PivotalOpenStack Korea Community
 
Developing Oracle Fusion Middleware Applications in the Cloud
Developing Oracle Fusion Middleware Applications in the CloudDeveloping Oracle Fusion Middleware Applications in the Cloud
Developing Oracle Fusion Middleware Applications in the CloudMatt Wright
 
Concevoir et déployer vos applications a base de microservices sur Cloud Foundry
Concevoir et déployer vos applications a base de microservices sur Cloud FoundryConcevoir et déployer vos applications a base de microservices sur Cloud Foundry
Concevoir et déployer vos applications a base de microservices sur Cloud FoundryVMware Tanzu
 
The Fantastic Voyage to PaaS - Are we there yet? (Cloud Foundry Summit 2014)
The Fantastic Voyage to PaaS - Are we there yet? (Cloud Foundry Summit 2014)The Fantastic Voyage to PaaS - Are we there yet? (Cloud Foundry Summit 2014)
The Fantastic Voyage to PaaS - Are we there yet? (Cloud Foundry Summit 2014)VMware Tanzu
 
A proven path for migrating from clearcase to git and or subversion
A proven path for migrating from clearcase to git and or subversionA proven path for migrating from clearcase to git and or subversion
A proven path for migrating from clearcase to git and or subversionCollabNet
 
What's new in Pivotal Cloud Foundry 1.6
What's new in Pivotal Cloud Foundry 1.6What's new in Pivotal Cloud Foundry 1.6
What's new in Pivotal Cloud Foundry 1.6dektlong
 
Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016Stuart Charlton
 
Supercharge Your Application Delivery: The Journey to Enterprise PaaS
Supercharge Your Application Delivery: The Journey to Enterprise PaaSSupercharge Your Application Delivery: The Journey to Enterprise PaaS
Supercharge Your Application Delivery: The Journey to Enterprise PaaSAl Sargent
 
The New Possible: How Platform-as-a-Service Changes the Game
 The New Possible: How Platform-as-a-Service Changes the Game The New Possible: How Platform-as-a-Service Changes the Game
The New Possible: How Platform-as-a-Service Changes the GameInside Analysis
 
Supercharge Your Application Delivery
Supercharge Your Application DeliverySupercharge Your Application Delivery
Supercharge Your Application DeliveryVMware Tanzu
 
Made for Each Other: Microservices + PaaS
Made for Each Other: Microservices + PaaSMade for Each Other: Microservices + PaaS
Made for Each Other: Microservices + PaaSVMware Tanzu
 
Cloud native pitch-younjin-20150925-v2
Cloud native pitch-younjin-20150925-v2Cloud native pitch-younjin-20150925-v2
Cloud native pitch-younjin-20150925-v2Younjin Jeong
 
Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016Stormy Peters
 
Cloud Foundry - An Open Innovation Platform
Cloud Foundry - An Open Innovation PlatformCloud Foundry - An Open Innovation Platform
Cloud Foundry - An Open Innovation PlatformAll Things Open
 

Similar to To Microservices and Beyond (20)

Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
 
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic RelationshipCloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship
 
Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)
Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)
Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)
 
Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209
 
Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...
Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...
Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...
 
Development on Cloud,PaaS and SDDC
Development on Cloud,PaaS and SDDCDevelopment on Cloud,PaaS and SDDC
Development on Cloud,PaaS and SDDC
 
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
 
Developing Oracle Fusion Middleware Applications in the Cloud
Developing Oracle Fusion Middleware Applications in the CloudDeveloping Oracle Fusion Middleware Applications in the Cloud
Developing Oracle Fusion Middleware Applications in the Cloud
 
Concevoir et déployer vos applications a base de microservices sur Cloud Foundry
Concevoir et déployer vos applications a base de microservices sur Cloud FoundryConcevoir et déployer vos applications a base de microservices sur Cloud Foundry
Concevoir et déployer vos applications a base de microservices sur Cloud Foundry
 
The Fantastic Voyage to PaaS - Are we there yet? (Cloud Foundry Summit 2014)
The Fantastic Voyage to PaaS - Are we there yet? (Cloud Foundry Summit 2014)The Fantastic Voyage to PaaS - Are we there yet? (Cloud Foundry Summit 2014)
The Fantastic Voyage to PaaS - Are we there yet? (Cloud Foundry Summit 2014)
 
A proven path for migrating from clearcase to git and or subversion
A proven path for migrating from clearcase to git and or subversionA proven path for migrating from clearcase to git and or subversion
A proven path for migrating from clearcase to git and or subversion
 
What's new in Pivotal Cloud Foundry 1.6
What's new in Pivotal Cloud Foundry 1.6What's new in Pivotal Cloud Foundry 1.6
What's new in Pivotal Cloud Foundry 1.6
 
Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016
 
Supercharge Your Application Delivery: The Journey to Enterprise PaaS
Supercharge Your Application Delivery: The Journey to Enterprise PaaSSupercharge Your Application Delivery: The Journey to Enterprise PaaS
Supercharge Your Application Delivery: The Journey to Enterprise PaaS
 
The New Possible: How Platform-as-a-Service Changes the Game
 The New Possible: How Platform-as-a-Service Changes the Game The New Possible: How Platform-as-a-Service Changes the Game
The New Possible: How Platform-as-a-Service Changes the Game
 
Supercharge Your Application Delivery
Supercharge Your Application DeliverySupercharge Your Application Delivery
Supercharge Your Application Delivery
 
Made for Each Other: Microservices + PaaS
Made for Each Other: Microservices + PaaSMade for Each Other: Microservices + PaaS
Made for Each Other: Microservices + PaaS
 
Cloud native pitch-younjin-20150925-v2
Cloud native pitch-younjin-20150925-v2Cloud native pitch-younjin-20150925-v2
Cloud native pitch-younjin-20150925-v2
 
Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016
 
Cloud Foundry - An Open Innovation Platform
Cloud Foundry - An Open Innovation PlatformCloud Foundry - An Open Innovation Platform
Cloud Foundry - An Open Innovation Platform
 

Recently uploaded

%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 

Recently uploaded (20)

%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 

To Microservices and Beyond

  • 1. © Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved. To Microservices and Beyond! 1 Simon Elisha (@simon_elisha) - CTO & Director of Field Engineering
  • 2. © Copyright 2014 Pivotal. All rights reserved. 2 IT SEEMS THERE’S SOME HYPE… M!CR0S3RV!C3$!!!!!
  • 3. © Copyright 2014 Pivotal. All rights reserved. DEFINE: Microservice 3 Loosely coupled service oriented architecture with bounded contexts If every service has to be updated in concert, it’s not loosely coupled! If you have to know about surrounding services you don’t have a bounded context.
  • 4. © Copyright 2014 Pivotal. All rights reserved. 4 Not Traditional (ESB-centric) SOA Enterprise Service Bus Service Service Service Service Service Service Service Service UI UI
  • 5. © Copyright 2014 Pivotal. All rights reserved. 5 But Microservices!
  • 6. © Copyright 2014 Pivotal. All rights reserved. 6 But why?
  • 7. © Copyright 2014 Pivotal. All rights reserved. 7 Issues We’ll Confront • Microservices are not an inherently superior architecture. • We’re still building big systems from smaller things. • Just like Docker won’t save the world, neither will microservices. They’re not free. • You absolutely cannot forget about data. • Let’s begin!
  • 8. © Copyright 2014 Pivotal. All rights reserved. 8 Not an end in themselves… It’s about Continuous Delivery!
  • 9. © Copyright 2014 Pivotal. All rights reserved. What is Continuous Delivery? 9 $ Business DevelopmentQA Operations Customer
  • 10. © Copyright 2014 Pivotal. All rights reserved. What is Continuous Delivery? 10 $
  • 11. © Copyright 2014 Pivotal. All rights reserved. 11 Keep the Wheel Spinning! Design Develop Test Customer Feedback Customer Delivery Analytics
  • 12. © Copyright 2014 Pivotal. All rights reserved. 12 Prod Release #1 Prod Release #2 Prod Release #3 AgileDevelopm ent Waterfall Organization!
  • 13. © Copyright 2014 Pivotal. All rights reserved. Silo Delivery 13 Project Mgmt UX Dev QA DBA Sys Admin Net Admin Storage Admin Adapted from: http://www.slideshare.net/adriancockcroft/goto-berlin MONOLITHIC DELIVERY
  • 14. © Copyright 2014 Pivotal. All rights reserved. Continuous Delivery 14 Product Mgr UX Dev QA DBA Sys Admin Net Admin Storage Admin BUSINESS CAPABILITY TEAMS USING MICROSERVICES PLATFORM OPERATIONS TEAM Adapted from: http://www.slideshare.net/adriancockcroft/goto-berlin
  • 15. © Copyright 2014 Pivotal. All rights reserved. Continuous Delivery 15 Product Mgr UX Dev QA DBA Sys Admin Net Admin Storage Admin BUSINESS CAPABILITY TEAMS USING MICROSERVICES PLATFORM OPERATIONS TEAM Adapted from: http://www.slideshare.net/adriancockcroft/goto-berlin Self Service API
  • 16. © Copyright 2014 Pivotal. All rights reserved. 16 INVENTORY Prod Release Prod Release Prod Release CATALOG Prod Release Prod Release Prod Release REVIEWS Prod Release Prod Release Prod Release SHIPPING Prod Release Prod Release Prod Release
  • 17. © Copyright 2014 Pivotal. All rights reserved. 17 Microservices Enabling Continuous Delivery • Decoupling Capabilities -> Decoupling Change Cycles • Product Ownership: Tip to Tail • We Build and Operate What We Understand BEST • We Collaborate via API Contracts • Microservice to Microservice • Microservice to Platform
  • 18. © Copyright 2014 Pivotal. All rights reserved. 18 Systems over Services Composition over Components
  • 19. © Copyright 2014 Pivotal. All rights reserved. Microframeworks for Microservices 19 Spring Boot http://projects.spring.io/spring-boot Dropwizard http://dropwizard.io
  • 20. © Copyright 2014 Pivotal. All rights reserved. It can get pretty small… 20 @RestController class ThisWillActuallyRun { @RequestMapping("/") String home() { Hello World! } }
  • 21. © Copyright 2014 Pivotal. All rights reserved. With Spring Data REST! 21 http://projects.spring.io/spring-data-rest @Entity @Table(name = "city") public class City implements Serializable { @Id @GeneratedValue private Long id; @Column(nullable = false) private String name; @Column(nullable = false) private String county; //... }
  • 22. © Copyright 2014 Pivotal. All rights reserved. With Spring Data REST! 22 http://projects.spring.io/spring-data-rest @RepositoryRestResource(collectionResourceRel = "cities", path = "cities") public interface CityRepository extends PagingAndSortingRepository<City, Long> {} @Configuration @ComponentScan @EnableAutoConfiguration @EnableJpaRepositories @Import(RepositoryRestMvcConfiguration.class) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
  • 23. © Copyright 2014 Pivotal. All rights reserved. With Spring Data REST! 23 http://projects.spring.io/spring-data-rest { "_links" : { "next" : { "href" : "http://localhost:8080/cities?page=1&size=20" }, "self" : { "href" : "http://localhost:8080/cities{?page,size,sort}", "templated" : true } }, "_embedded" : { "cities" : [ { "name" : "HOLTSVILLE", "county" : "SUFFOLK", "stateCode" : "NY", "postalCode" : "00501", "latitude" : "+40.922326", "longitude" : "-072.637078",
  • 24. © Copyright 2014 Pivotal. All rights reserved. But No Microservice is an Island… 24
  • 25. © Copyright 2014 Pivotal. All rights reserved. Example Distributed System: Minified 25
  • 26. © Copyright 2014 Pivotal. All rights reserved. 26 Some emergent features of microservices systems… • Distributed/Versioned Configuration • Service Registration/Discovery • Routing/Load Balancing • Fault Tolerance (Circuit Breakers, Bulkheads, …)
  • 27. © Copyright 2014 Pivotal. All rights reserved. Example: Coordination Boiler Plate 27
  • 28. © Copyright 2014 Pivotal. All rights reserved. 28 • Eureka • Hystrix + Turbine • Ribbon • Feign • Zuul • Archaius + http://netflix.github.io
  • 29. © Copyright 2014 Pivotal. All rights reserved. 29 http://projects.spring.io/spring-cloud
  • 30. © Copyright 2014 Pivotal. All rights reserved. Example: Spring Cloud + Netflix OSS 30
  • 31. © Copyright 2014 Pivotal. All rights reserved. 31 Operationalized Architecture You have to pay for your lunch!
  • 32. © Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved. 32 http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html
  • 33. © Copyright 2014 Pivotal. All rights reserved. 33 Paying for your lunch… • Significant Operations Overhead • Substantial DevOps Skills Required • Implicit Interfaces • Duplication of Effort • Distributed System Complexity • Asynchronicity is Difficult! • Testability Challenges
  • 34. © Copyright 2014 Pivotal. All rights reserved. You must be this tall to use Microservices… 34 http://martinfowler.com/bliki/MicroservicePrerequisites.html https://www.flickr.com/photos/gusset/3723961589 • RAPID PROVISIONING • BASIC MONITORING • RAPID APPLICATION DEPLOYMENT • DEVOPS CULTURE
  • 35. © Copyright 2014 Pivotal. All rights reserved. It takes a platform… 35 http://techblog.netflix.com/2013/01/optimizing-netflix-api.html http://techblog.netflix.com/2014/03/the-netflix-dynamic-scripting-platform.html
  • 36. © Copyright 2014 Pivotal. All rights reserved. It takes a platform… 36 Pivotal CF Spring Cloud
  • 37. © Copyright 2014 Pivotal. All rights reserved. 37 Platform Features • Environment Provisioning • On-Demand/Automatic Scaling • Failover/Resilience • Routing/Load Balancing • Data Service Operations • Monitoring
  • 38. © Copyright 2014 Pivotal. All rights reserved. Environment Provisioning/App Deployment 38 Router Cloud Controller Service Broker Node(s) DEA DEA DEA DEA Blobstore DB Runtime 1. Upload bits/metadata 2. Create/bind services 3. Stage via Buildpack 4. Deploy via Container push app + app MD SC + = http://docs.cloudfoundry.org/devguide/deploy-apps/
  • 39. © Copyright 2014 Pivotal. All rights reserved. Environment Provisioning/App Deployment 39 Router Cloud Controller DEA Blobstore DB Runtime Detect Compile Upload No System Buildpacks + = Yes http://docs.cloudfoundry.org/buildpacks/
  • 40. © Copyright 2014 Pivotal. All rights reserved. Deployment/Load Balancing/Scaling 40 Blobstore Router Cloud Controller DEA Messaging (NATS) DEA DEA Runtime Access App http://docs.cloudfoundry.org/concepts/architecture/warden.html Container Container
  • 41. © Copyright 2014 Pivotal. All rights reserved. Failover/Resilience 41 Blobstore Router Cloud Controller DEA Messaging (NATS) DEA DEA Runtime Health Manager Actual StateDesired State http://docs.cloudfoundry.org/concepts/architecture/#hm9k Container Container Container
  • 42. © Copyright 2014 Pivotal. All rights reserved. Data Service Operations: Cluster Provisioning 42 Blobstore BOSH Health Monitor DB Deploy my Services IaaS Worker VMsBOSH Director NATS Cassandra Node Target VM Cassandra Node Target VM Cassandra Node Target VM http://bosh.cloudfoundry.org/
  • 43. © Copyright 2014 Pivotal. All rights reserved. DB Router Data Service Operations: Application Binding 43 Service credentials reserve resources obtain connection data CLI Cloud Controller Service Broker Data Service Runtime create service (HTTP) bind service (HTTP) create service (HTTP) bind service (HTTP) http://docs.cloudfoundry.org/services/api.html
  • 44. © Copyright 2014 Pivotal. All rights reserved. Monitoring 44
  • 45. © Copyright 2014 Pivotal. All rights reserved. 45 It’s All About the Data What about the BIG QUESTIONS?
  • 46. © Copyright 2014 Pivotal. All rights reserved. This won’t work… 46
  • 47. © Copyright 2014 Pivotal. All rights reserved. 47 Instead!
  • 48. © Copyright 2014 Pivotal. All rights reserved. Bounded Contexts 48 Movie Movie Actor Genre Media Type Media Type Kiosk Location Media Product Catalog Inventory
  • 49. © Copyright 2014 Pivotal. All rights reserved. Polyglot Persistence 49 REST XYou shall not pass…
  • 50. © Copyright 2014 Pivotal. All rights reserved. But I have a question! 50 REST XYou shall not pass… ? ? ? ? ? ?
  • 51. © Copyright 2014 Pivotal. All rights reserved. Lambda Architecture 51
  • 52. © Copyright 2014 Pivotal. All rights reserved. Join via Events! 52
  • 53. © Copyright 2014 Pivotal. All rights reserved. 53 http://projects.spring.io/spring-xd/
  • 54. © Copyright 2014 Pivotal. All rights reserved. 54
  • 55. © Copyright 2014 Pivotal. All rights reserved. Redbox Conceptual Workflow 55
  • 56. © Copyright 2014 Pivotal. All rights reserved. SpringBox Microservices 56 Catalog Service Inventory Service Kiosk Kiosk Kiosk Reservation Service https://github.com/cf-platform-eng/springbox-datacloud
  • 57. © Copyright 2014 Pivotal. All rights reserved. …and if you have a question: 57 Kiosk Kiosk Kiosk Speed Layer Batch Layer Serving Layer Event Ingest https://github.com/cf-platform-eng/springbox-datacloud “What movie genres are most popular in what geographic locations?”
  • 58. © Copyright 2014 Pivotal. All rights reserved. “What movie genres are most popular in what geographic locations?” 58 // Aggregate preferences across all kiosks: stream create --name kiosk_agg_prefs --definition "rabbit -- queues=lambda.kiosk.events | field-value-counter --fieldName=genreIds" // Tap aggregate preferences, filter for kiosk #1: stream create --name kiosk_1_prefs --definition "tap:stream:kiosk_agg_prefs > filter --expression=#jsonPath(payload,'$.locationId').equals(1) | field-value-counter -- fieldName=genreIds"
  • 59. © Copyright 2014 Pivotal. All rights reserved. “What movie genres are most popular in what geographic locations?” 59 field-value-counter display --name kiosk_agg_prefs field-value-counter display=kiosk_agg_prefs ------------------------------------------- - ----- VALUE - COUNT Action | 14 Adventure | 6 Comedy | 27 Sci-Fi | 18
  • 60. © Copyright 2014 Pivotal. All rights reserved. 60 Where We’ve Been… • Microservices are an enabler to Continuous Delivery. • Less about services, more about composed distributed systems. Patterns can help. • You’re going to need a platform. • Decomposed data governance -> recomposed data discovery. • Thank You!
  • 61. A NEW PLATFORM FOR A NEW ERA