SlideShare a Scribd company logo
© Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved.
Cloud Foundry and Microservices
A Mutualistic Symbiotic Relationship
1
Matt Stine
Cloud Foundry Platform Engineer
CF Summit 2014
© Copyright 2014 Pivotal. All rights reserved. 2
“Software Keeps Eating the World”
© Copyright 2014 Pivotal. All rights reserved. 3
Software Keeps Changing Industries
$3.5B valuation
Financial Services
$3.5B valuation
Travel & Hospitality
$3.5B valuation
Transportation
$3.2B Acquisition by Google
Home Automation
$20B valuation
Entertainment
$26B valuation
Tesla--Automotive
$19.5B
© Copyright 2014 Pivotal. All rights reserved. 4
Warner Music: Software Factories
Warner Software Factory Platform
• New applications and major updates
- Before: 6 months, team of 10 developers
- After: 6 weeks, same team
- Speed/Agility: 400% faster on new platform
- HR Hard Savings: $1.1M per application update
delivered
© Copyright 2014 Pivotal. All rights reserved. 5
Iterative Development
Design
Develop
Test
Customer
Feedback
Customer
Delivery
Analytics
© Copyright 2014 Pivotal. All rights reserved.
Horizontal Scale
6
Slow/Expensive Fast/Cheap
© Copyright 2014 Pivotal. All rights reserved.
Diversity of Clients
7
http://money.cnn.com/2014/02/28/technology/mobile/mobile-apps-internet/
In January 2014, mobile devices accounted for 55% of Internet usage in the United
States. Apps made up 47% of Internet traffic and 8% of traffic came from mobile
browsers.
© Copyright 2014 Pivotal. All rights reserved. 8
Continuous Delivery
© Copyright 2014 Pivotal. All rights reserved. 9
Software Factories
Feedback Rapid Iteration
Horizontal Scale
Diversity of Clients
Continuous Delivery
Infrastructure
Applications
Monoliths
Microservices
Physical/Virtual Cloud Foundry
© Copyright 2014 Pivotal. All rights reserved. 10
New Architectural Constraints
• CF optimizes for 12 Factor Linux applications
• Microservices: a radical departure from traditional monolithic
applications
• In both cases, the enterprise is 

forced to “think different.”
© Copyright 2014 Pivotal. All rights reserved.
How XP Practices Support Each Other
11
http://www.kusmin.eu/wiki/index.php/How_XP_Practices_Support_Each_Other
© Copyright 2014 Pivotal. All rights reserved.
A Mutualistic Symbiotic Relationship…
12
Cloud Foundry
Microservices
http://en.wikipedia.org/wiki/Symbiosis#Mutualism
© Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved.
Microservices
Overview
13
© Copyright 2014 Pivotal. All rights reserved. 14
Simple vs. Easy
• Simple
• sim- plex
• one fold/braid
• vs complex
• Easy
• ease < aise < adjacens
• lie near
• vs hard
© Copyright 2014 Pivotal. All rights reserved.
Monolithic Architecture
15
Relational Database
Data Access
Service
HTML JavaScript MVC
Service
Monolithic ApplicationBrowser
© Copyright 2014 Pivotal. All rights reserved. 16
Monolithic Architectures
• Complex / Easy
• Modularity Dependent Upon Language / Frameworks
• Change Cycles Tightly Coupled / Obstacle to Frequent Deploys
• Inefficient Scaling
• Can Be Intimidating to New Developers
• Obstacle to Scaling Development
• Requires Long-Term Commitment to Technical Stack
© Copyright 2014 Pivotal. All rights reserved.
Microservice Architecture
17
…
HTTP
HTTP
HTTP
HTTP
HTTP
HTTP
AMQP
AMQP
Relational
DB
Key/Value
Store
Graph
DB
© Copyright 2014 Pivotal. All rights reserved. 18
Microservice Architectures
• Simple / Hard
• Modularity Based on Component Services
• Change Cycles Decoupled / Enable Frequent Deploys
• Efficient Scaling
• Individual Components Less Intimidating to New Developers
• Enables Scaling of Development
• Eliminates Long-Term Commitment to Technical Stack
© Copyright 2014 Pivotal. All rights reserved.
Conway’s Law
19
Any organization that designs a system (defined broadly) will produce a design
whose structure is a copy of the organization's communication structure.
Melvyn Conway, 1967
http://martinfowler.com/articles/microservices.html#OrganizedAroundBusinessCapabilities
© Copyright 2014 Pivotal. All rights reserved.
Organize Around Business Capabilities
20
Data Access
Service
HTML JavaScript MVC
Service
UISpecialists
Middleware
Specialists
DBAs
BusinessCapability
BusinessCapability
BusinessCapability
Siloed
Functional
Teams
http://martinfowler.com/articles/microservices.html#OrganizedAroundBusinessCapabilities
Siloed
Application
Architectures
Cross-
functional
Teams
Microservice
Architectures
© Copyright 2014 Pivotal. All rights reserved. 21
Partitioning Strategies
• By Noun (e.g. product info service)
• By Verb (e.g. shipping service)
• Single Responsibility Principle

(http://programmer.97things.oreilly.com/wiki/index.php/
The_Single_Responsibility_Principle)
© Copyright 2014 Pivotal. All rights reserved. 22
UNIX Pipes and Filters
cut -d" " -f1 < access.log | sort | uniq -c | sort -rn | less
© Copyright 2014 Pivotal. All rights reserved.
Choreography over Orchestration
23
https://www.flickr.com/photos/gabrielsaldana/5896491978
https://www.flickr.com/photos/chrisbrenschmidt/2223763842
http://martinfowler.com/articles/microservices.html#SmartEndpointsAndDumbPipes
© Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved. 24
Overview
http://12factor.net
© Copyright 2014 Pivotal. All rights reserved. 25
Twelve Factor + Cloud Foundry
• One codebase tracked in revision control, many deploys
• Multiple = Distributed System
• Consistent with CF application unit
• Explicitly declare and isolate dependencies
• CF emphasis on deployable units (e.g. Java WAR)
• CF Buildpacks provide runtime dependencies
© Copyright 2014 Pivotal. All rights reserved. 26
Twelve Factor + Cloud Foundry
• Store config in the environment
• Nicely facilitated via CF
• Treat backing services as attached resources
• cf create-service / cf bind-service
• Strictly separate build and run stages
• CF Buildpacks + immutable Warden containers
© Copyright 2014 Pivotal. All rights reserved. 27
Twelve Factor + Cloud Foundry
• Execute the app as one or more stateless processes
• CF Warden containers - no clustered memory, no shared FS.
• Challenge for the monolith!
• Export services via port binding
• CF provides HTTP/HTTPS today, more future (TCP?)
• Scale out via the process model
• cf scale app -i 1000
© Copyright 2014 Pivotal. All rights reserved. 28
Twelve Factor + Cloud Foundry
• Maximize robustness with fast startup and graceful shutdown
• CF scales quickly, but can only move as fast as your app
can bootstrap (challenge for the monolith!)
• Keep development, staging, and production as similar as
possible
• CF is CF! Spaces provide separation of concerns without
technical differences.
© Copyright 2014 Pivotal. All rights reserved. 29
Twelve Factor + Cloud Foundry
• Treat logs as event streams
• CF Loggregator!
• Run admin/management tasks as one-off processes
• Still a challenge to be addressed…
© Copyright 2014 Pivotal. All rights reserved. 30
Twelve Factor + Microservices
• Fully compatible architectural style
• Frameworks tend to optimize around same ideas
• Examples:
• Spring Boot + Cloud
• http://projects.spring.io/spring-boot
• http://projects.spring.io/spring-cloud
• Dropwizard (https://dropwizard.github.io/dropwizard)
© Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved. 31
http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html
© Copyright 2014 Pivotal. All rights reserved. 32
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. 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. 34
Significant Operations Overhead
• Mitigate polyglot language/environment provisioning complexity via CF Buildpacks
• Mitigate failover and resilience concerns via CF Scale, CF Health Monitor, and future CF
App AZ’s (http://blog.gopivotal.com/cloud-foundry-pivotal/products/the-four-levels-of-
ha-in-pivotal-cf)
• Mitigate routing/load balancing and plumbing concerns via CF Router and CF Services
• High quality monitoring = CF BP agent-based tooling, future CF metric streams
• High quality operations infrastructure = CF BOSH!
• Robust release/deployment automation = CF API, scriptable CF CLI, Maven/Gradle
Plugins, Strong Cloudbees/Jenkins partnerships
© Copyright 2014 Pivotal. All rights reserved. 35
Currently, there is not much in terms of frameworks and open source tooling to
support this from an operational perspective. It's likely therefore that a team rolling out
Microservices will need to make significant investment in custom scripting or
development to manage these processes before they write a line of code that delivers
business value.
!
Operations is the most obvious and commonly held objection towards the model,
though it is too easily brushed aside by proponents of this architecture.
http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html
© Copyright 2014 Pivotal. All rights reserved. 36
© Copyright 2014 Pivotal. All rights reserved.
No Open Source Tooling?
37
© Copyright 2014 Pivotal. All rights reserved. 38
Substantial DevOps Skills Required
• This is a Good Thing™ in any architecture!
• CF keeps your microservices up and available (and your
monoliths too!)
• CF = development and production parity!
• Polyglot persistence without all the fuss: CF BOSH and
Service Brokers
© Copyright 2014 Pivotal. All rights reserved. 39
Distributed System Complexity
• Agreed: Microservices imply distributed systems.
• All of the CF platform features we’ve discussed help to
mitigate these concerns:
• latent/unreliable networks
• fault tolerance
• load variability
© Copyright 2014 Pivotal. All rights reserved. 40
Testability Challenges
• With CF, it is NOT difficult to recreate environments in a
consistent way for either manual or automated testing!
• Idiomatic Microservices involves placing less emphasis on
testing and more on monitoring
• Not sure where this idea comes from…
• CF is an enabler of both!
© Copyright 2014 Pivotal. All rights reserved.
A Mutualistic Symbiotic Relationship
41
Cloud Foundry
Microservices
http://en.wikipedia.org/wiki/Symbiosis#Mutualism
A NEW PLATFORM FOR A NEW ERA

More Related Content

What's hot (19)

PDF
Demystifying DevOps
Bhuvaneswari Subramani
 
PDF
Itb 2021 - Bulding Quick APIs by Gavin Pickin
Gavin Pickin
 
PDF
Best Practices for Cloud Native Applications using Hybrid Azure
Capgemini
 
PDF
Enterprise Ready - What's New in Data Center
Atlassian
 
PDF
Cloud-Native Fundamentals: An Introduction to 12-Factor Applications
VMware Tanzu
 
PPTX
Requirement Gathering in Azure DevOps
Tricia Sinclair
 
PDF
How to Architect and Develop Cloud Native Applications
Sufyaan Kazi
 
PDF
Structure and Opinions - Software Deployments with Cloud Foundry
Andrew Ripka
 
PPTX
DevOps Offerings at WhiteHedge
WhiteHedge Technologies Inc.
 
PDF
CIS14: NSTIC - Identity and Access Management Collaborative Approaches to Nov...
CloudIDSummit
 
PDF
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
Craeg Strong
 
PDF
Microservice Scars - Alt.net 2hr
Joshua Toth
 
PPTX
Neev Open Source Contributions
Neev Technologies
 
PDF
Azure DevOps Day - Trivandrum
Amal Dev
 
PDF
The Microservices and DevOps Journey
C4Media
 
PPTX
DevOpsGroup Cloud Adoption Frameworks - agile south coast
DevOpsGroup
 
PDF
InfoSec: Evolve Thyself to Keep Pace in the Age of DevOps
VMware Tanzu
 
PPTX
Cloud and agile software projects: Overview and Benefits
Guillaume Berche
 
PDF
Pivotal Overview: Canadian Team
VMware Tanzu
 
Demystifying DevOps
Bhuvaneswari Subramani
 
Itb 2021 - Bulding Quick APIs by Gavin Pickin
Gavin Pickin
 
Best Practices for Cloud Native Applications using Hybrid Azure
Capgemini
 
Enterprise Ready - What's New in Data Center
Atlassian
 
Cloud-Native Fundamentals: An Introduction to 12-Factor Applications
VMware Tanzu
 
Requirement Gathering in Azure DevOps
Tricia Sinclair
 
How to Architect and Develop Cloud Native Applications
Sufyaan Kazi
 
Structure and Opinions - Software Deployments with Cloud Foundry
Andrew Ripka
 
DevOps Offerings at WhiteHedge
WhiteHedge Technologies Inc.
 
CIS14: NSTIC - Identity and Access Management Collaborative Approaches to Nov...
CloudIDSummit
 
20211028 ADDO Adapting to Covid with Serverless Craeg Strong Ariel Partners
Craeg Strong
 
Microservice Scars - Alt.net 2hr
Joshua Toth
 
Neev Open Source Contributions
Neev Technologies
 
Azure DevOps Day - Trivandrum
Amal Dev
 
The Microservices and DevOps Journey
C4Media
 
DevOpsGroup Cloud Adoption Frameworks - agile south coast
DevOpsGroup
 
InfoSec: Evolve Thyself to Keep Pace in the Age of DevOps
VMware Tanzu
 
Cloud and agile software projects: Overview and Benefits
Guillaume Berche
 
Pivotal Overview: Canadian Team
VMware Tanzu
 

Similar to Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship (20)

PDF
Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)
VMware Tanzu
 
PPTX
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
David Currie
 
PDF
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Jack-Junjie Cai
 
PDF
Made for Each Other: Microservices + PaaS
VMware Tanzu
 
PPTX
Introduction to Microservices and Cloud Native Application Architecture
David Currie
 
PDF
To Microservices and Beyond
Simon Elisha
 
PDF
Cloud Foundry - Platform as a Service for vSphere
Andy Piper
 
PDF
Microservices Architecture
Srinivasan Nanduri
 
PDF
Adopting PCF At An Automobile Manufacturer
VMware Tanzu
 
PDF
Adopting PCF At An Automobile Manufacturer
Gregor Zurowski
 
PDF
20160930 cloud foundry_overview
Takuya Saeki
 
PPTX
Cloud foundry: The Platform for Forging Cloud Native Applications
Chip Childers
 
PPTX
Microservices approach for Websphere commerce
HARIHARAN ANANTHARAMAN
 
PDF
Production-Ready_Microservices_excerpt.pdf
ajcob123
 
PDF
20141210 - Microservice Container
Jamie (Taka) Wang
 
PDF
Integration in the Cloud, by Rob Davies
Judy Breedlove
 
PDF
Cloud Foundry Introduction for CF Meetup Tokyo March 2016
Tomohiro Ichimura
 
PDF
Continuous Delivery for Microservice Architectures with Concourse & Cloud Fou...
VMware Tanzu
 
PDF
The journey to Native Cloud Architecture & Microservices, tracing the footste...
Mek Srunyu Stittri
 
PPTX
Cloud Foundry a Developer's Perspective
Dave McCrory
 
Keynote: Architecting for Continuous Delivery (Pivotal Cloud Platform Roadshow)
VMware Tanzu
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservices
David Currie
 
Developing Enterprise Applications for the Cloud, from Monolith to Microservice
Jack-Junjie Cai
 
Made for Each Other: Microservices + PaaS
VMware Tanzu
 
Introduction to Microservices and Cloud Native Application Architecture
David Currie
 
To Microservices and Beyond
Simon Elisha
 
Cloud Foundry - Platform as a Service for vSphere
Andy Piper
 
Microservices Architecture
Srinivasan Nanduri
 
Adopting PCF At An Automobile Manufacturer
VMware Tanzu
 
Adopting PCF At An Automobile Manufacturer
Gregor Zurowski
 
20160930 cloud foundry_overview
Takuya Saeki
 
Cloud foundry: The Platform for Forging Cloud Native Applications
Chip Childers
 
Microservices approach for Websphere commerce
HARIHARAN ANANTHARAMAN
 
Production-Ready_Microservices_excerpt.pdf
ajcob123
 
20141210 - Microservice Container
Jamie (Taka) Wang
 
Integration in the Cloud, by Rob Davies
Judy Breedlove
 
Cloud Foundry Introduction for CF Meetup Tokyo March 2016
Tomohiro Ichimura
 
Continuous Delivery for Microservice Architectures with Concourse & Cloud Fou...
VMware Tanzu
 
The journey to Native Cloud Architecture & Microservices, tracing the footste...
Mek Srunyu Stittri
 
Cloud Foundry a Developer's Perspective
Dave McCrory
 
Ad

More from VMware Tanzu (20)

PDF
Spring into AI presented by Dan Vega 5/14
VMware Tanzu
 
PDF
What AI Means For Your Product Strategy And What To Do About It
VMware Tanzu
 
PDF
Make the Right Thing the Obvious Thing at Cardinal Health 2023
VMware Tanzu
 
PPTX
Enhancing DevEx and Simplifying Operations at Scale
VMware Tanzu
 
PDF
Spring Update | July 2023
VMware Tanzu
 
PPTX
Platforms, Platform Engineering, & Platform as a Product
VMware Tanzu
 
PPTX
Building Cloud Ready Apps
VMware Tanzu
 
PDF
Spring Boot 3 And Beyond
VMware Tanzu
 
PDF
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
VMware Tanzu
 
PDF
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
VMware Tanzu
 
PDF
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
VMware Tanzu
 
PPTX
tanzu_developer_connect.pptx
VMware Tanzu
 
PDF
Tanzu Virtual Developer Connect Workshop - French
VMware Tanzu
 
PDF
Tanzu Developer Connect Workshop - English
VMware Tanzu
 
PDF
Virtual Developer Connect Workshop - English
VMware Tanzu
 
PDF
Tanzu Developer Connect - French
VMware Tanzu
 
PDF
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
VMware Tanzu
 
PDF
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
VMware Tanzu
 
PDF
SpringOne Tour: The Influential Software Engineer
VMware Tanzu
 
PDF
SpringOne Tour: Domain-Driven Design: Theory vs Practice
VMware Tanzu
 
Spring into AI presented by Dan Vega 5/14
VMware Tanzu
 
What AI Means For Your Product Strategy And What To Do About It
VMware Tanzu
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
VMware Tanzu
 
Enhancing DevEx and Simplifying Operations at Scale
VMware Tanzu
 
Spring Update | July 2023
VMware Tanzu
 
Platforms, Platform Engineering, & Platform as a Product
VMware Tanzu
 
Building Cloud Ready Apps
VMware Tanzu
 
Spring Boot 3 And Beyond
VMware Tanzu
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
VMware Tanzu
 
tanzu_developer_connect.pptx
VMware Tanzu
 
Tanzu Virtual Developer Connect Workshop - French
VMware Tanzu
 
Tanzu Developer Connect Workshop - English
VMware Tanzu
 
Virtual Developer Connect Workshop - English
VMware Tanzu
 
Tanzu Developer Connect - French
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
VMware Tanzu
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
VMware Tanzu
 
SpringOne Tour: The Influential Software Engineer
VMware Tanzu
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
VMware Tanzu
 
Ad

Recently uploaded (20)

PPTX
python advanced data structure dictionary with examples python advanced data ...
sprasanna11
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
PPTX
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Lecture A - AI Workflows for Banking.pdf
Dr. LAM Yat-fai (林日辉)
 
PDF
Market Insight : ETH Dominance Returns
CIFDAQ
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PPTX
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
PDF
Per Axbom: The spectacular lies of maps
Nexer Digital
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
python advanced data structure dictionary with examples python advanced data ...
sprasanna11
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Lecture A - AI Workflows for Banking.pdf
Dr. LAM Yat-fai (林日辉)
 
Market Insight : ETH Dominance Returns
CIFDAQ
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
Per Axbom: The spectacular lies of maps
Nexer Digital
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 

Cloud Foundry and Microservices: A Mutualistic Symbiotic Relationship

  • 1. © Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved. Cloud Foundry and Microservices A Mutualistic Symbiotic Relationship 1 Matt Stine Cloud Foundry Platform Engineer CF Summit 2014
  • 2. © Copyright 2014 Pivotal. All rights reserved. 2 “Software Keeps Eating the World”
  • 3. © Copyright 2014 Pivotal. All rights reserved. 3 Software Keeps Changing Industries $3.5B valuation Financial Services $3.5B valuation Travel & Hospitality $3.5B valuation Transportation $3.2B Acquisition by Google Home Automation $20B valuation Entertainment $26B valuation Tesla--Automotive $19.5B
  • 4. © Copyright 2014 Pivotal. All rights reserved. 4 Warner Music: Software Factories Warner Software Factory Platform • New applications and major updates - Before: 6 months, team of 10 developers - After: 6 weeks, same team - Speed/Agility: 400% faster on new platform - HR Hard Savings: $1.1M per application update delivered
  • 5. © Copyright 2014 Pivotal. All rights reserved. 5 Iterative Development Design Develop Test Customer Feedback Customer Delivery Analytics
  • 6. © Copyright 2014 Pivotal. All rights reserved. Horizontal Scale 6 Slow/Expensive Fast/Cheap
  • 7. © Copyright 2014 Pivotal. All rights reserved. Diversity of Clients 7 http://money.cnn.com/2014/02/28/technology/mobile/mobile-apps-internet/ In January 2014, mobile devices accounted for 55% of Internet usage in the United States. Apps made up 47% of Internet traffic and 8% of traffic came from mobile browsers.
  • 8. © Copyright 2014 Pivotal. All rights reserved. 8 Continuous Delivery
  • 9. © Copyright 2014 Pivotal. All rights reserved. 9 Software Factories Feedback Rapid Iteration Horizontal Scale Diversity of Clients Continuous Delivery Infrastructure Applications Monoliths Microservices Physical/Virtual Cloud Foundry
  • 10. © Copyright 2014 Pivotal. All rights reserved. 10 New Architectural Constraints • CF optimizes for 12 Factor Linux applications • Microservices: a radical departure from traditional monolithic applications • In both cases, the enterprise is 
 forced to “think different.”
  • 11. © Copyright 2014 Pivotal. All rights reserved. How XP Practices Support Each Other 11 http://www.kusmin.eu/wiki/index.php/How_XP_Practices_Support_Each_Other
  • 12. © Copyright 2014 Pivotal. All rights reserved. A Mutualistic Symbiotic Relationship… 12 Cloud Foundry Microservices http://en.wikipedia.org/wiki/Symbiosis#Mutualism
  • 13. © Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved. Microservices Overview 13
  • 14. © Copyright 2014 Pivotal. All rights reserved. 14 Simple vs. Easy • Simple • sim- plex • one fold/braid • vs complex • Easy • ease < aise < adjacens • lie near • vs hard
  • 15. © Copyright 2014 Pivotal. All rights reserved. Monolithic Architecture 15 Relational Database Data Access Service HTML JavaScript MVC Service Monolithic ApplicationBrowser
  • 16. © Copyright 2014 Pivotal. All rights reserved. 16 Monolithic Architectures • Complex / Easy • Modularity Dependent Upon Language / Frameworks • Change Cycles Tightly Coupled / Obstacle to Frequent Deploys • Inefficient Scaling • Can Be Intimidating to New Developers • Obstacle to Scaling Development • Requires Long-Term Commitment to Technical Stack
  • 17. © Copyright 2014 Pivotal. All rights reserved. Microservice Architecture 17 … HTTP HTTP HTTP HTTP HTTP HTTP AMQP AMQP Relational DB Key/Value Store Graph DB
  • 18. © Copyright 2014 Pivotal. All rights reserved. 18 Microservice Architectures • Simple / Hard • Modularity Based on Component Services • Change Cycles Decoupled / Enable Frequent Deploys • Efficient Scaling • Individual Components Less Intimidating to New Developers • Enables Scaling of Development • Eliminates Long-Term Commitment to Technical Stack
  • 19. © Copyright 2014 Pivotal. All rights reserved. Conway’s Law 19 Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure. Melvyn Conway, 1967 http://martinfowler.com/articles/microservices.html#OrganizedAroundBusinessCapabilities
  • 20. © Copyright 2014 Pivotal. All rights reserved. Organize Around Business Capabilities 20 Data Access Service HTML JavaScript MVC Service UISpecialists Middleware Specialists DBAs BusinessCapability BusinessCapability BusinessCapability Siloed Functional Teams http://martinfowler.com/articles/microservices.html#OrganizedAroundBusinessCapabilities Siloed Application Architectures Cross- functional Teams Microservice Architectures
  • 21. © Copyright 2014 Pivotal. All rights reserved. 21 Partitioning Strategies • By Noun (e.g. product info service) • By Verb (e.g. shipping service) • Single Responsibility Principle
 (http://programmer.97things.oreilly.com/wiki/index.php/ The_Single_Responsibility_Principle)
  • 22. © Copyright 2014 Pivotal. All rights reserved. 22 UNIX Pipes and Filters cut -d" " -f1 < access.log | sort | uniq -c | sort -rn | less
  • 23. © Copyright 2014 Pivotal. All rights reserved. Choreography over Orchestration 23 https://www.flickr.com/photos/gabrielsaldana/5896491978 https://www.flickr.com/photos/chrisbrenschmidt/2223763842 http://martinfowler.com/articles/microservices.html#SmartEndpointsAndDumbPipes
  • 24. © Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved. 24 Overview http://12factor.net
  • 25. © Copyright 2014 Pivotal. All rights reserved. 25 Twelve Factor + Cloud Foundry • One codebase tracked in revision control, many deploys • Multiple = Distributed System • Consistent with CF application unit • Explicitly declare and isolate dependencies • CF emphasis on deployable units (e.g. Java WAR) • CF Buildpacks provide runtime dependencies
  • 26. © Copyright 2014 Pivotal. All rights reserved. 26 Twelve Factor + Cloud Foundry • Store config in the environment • Nicely facilitated via CF • Treat backing services as attached resources • cf create-service / cf bind-service • Strictly separate build and run stages • CF Buildpacks + immutable Warden containers
  • 27. © Copyright 2014 Pivotal. All rights reserved. 27 Twelve Factor + Cloud Foundry • Execute the app as one or more stateless processes • CF Warden containers - no clustered memory, no shared FS. • Challenge for the monolith! • Export services via port binding • CF provides HTTP/HTTPS today, more future (TCP?) • Scale out via the process model • cf scale app -i 1000
  • 28. © Copyright 2014 Pivotal. All rights reserved. 28 Twelve Factor + Cloud Foundry • Maximize robustness with fast startup and graceful shutdown • CF scales quickly, but can only move as fast as your app can bootstrap (challenge for the monolith!) • Keep development, staging, and production as similar as possible • CF is CF! Spaces provide separation of concerns without technical differences.
  • 29. © Copyright 2014 Pivotal. All rights reserved. 29 Twelve Factor + Cloud Foundry • Treat logs as event streams • CF Loggregator! • Run admin/management tasks as one-off processes • Still a challenge to be addressed…
  • 30. © Copyright 2014 Pivotal. All rights reserved. 30 Twelve Factor + Microservices • Fully compatible architectural style • Frameworks tend to optimize around same ideas • Examples: • Spring Boot + Cloud • http://projects.spring.io/spring-boot • http://projects.spring.io/spring-cloud • Dropwizard (https://dropwizard.github.io/dropwizard)
  • 31. © Copyright 2014 Pivotal. All rights reserved.© Copyright 2014 Pivotal. All rights reserved. 31 http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html
  • 32. © Copyright 2014 Pivotal. All rights reserved. 32 Paying for your lunch… • Significant Operations Overhead • Substantial DevOps Skills Required • Implicit Interfaces • Duplication of Effort • Distributed System Complexity • Asynchronicity is Difficult! • Testability Challenges
  • 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. 34 Significant Operations Overhead • Mitigate polyglot language/environment provisioning complexity via CF Buildpacks • Mitigate failover and resilience concerns via CF Scale, CF Health Monitor, and future CF App AZ’s (http://blog.gopivotal.com/cloud-foundry-pivotal/products/the-four-levels-of- ha-in-pivotal-cf) • Mitigate routing/load balancing and plumbing concerns via CF Router and CF Services • High quality monitoring = CF BP agent-based tooling, future CF metric streams • High quality operations infrastructure = CF BOSH! • Robust release/deployment automation = CF API, scriptable CF CLI, Maven/Gradle Plugins, Strong Cloudbees/Jenkins partnerships
  • 35. © Copyright 2014 Pivotal. All rights reserved. 35 Currently, there is not much in terms of frameworks and open source tooling to support this from an operational perspective. It's likely therefore that a team rolling out Microservices will need to make significant investment in custom scripting or development to manage these processes before they write a line of code that delivers business value. ! Operations is the most obvious and commonly held objection towards the model, though it is too easily brushed aside by proponents of this architecture. http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html
  • 36. © Copyright 2014 Pivotal. All rights reserved. 36
  • 37. © Copyright 2014 Pivotal. All rights reserved. No Open Source Tooling? 37
  • 38. © Copyright 2014 Pivotal. All rights reserved. 38 Substantial DevOps Skills Required • This is a Good Thing™ in any architecture! • CF keeps your microservices up and available (and your monoliths too!) • CF = development and production parity! • Polyglot persistence without all the fuss: CF BOSH and Service Brokers
  • 39. © Copyright 2014 Pivotal. All rights reserved. 39 Distributed System Complexity • Agreed: Microservices imply distributed systems. • All of the CF platform features we’ve discussed help to mitigate these concerns: • latent/unreliable networks • fault tolerance • load variability
  • 40. © Copyright 2014 Pivotal. All rights reserved. 40 Testability Challenges • With CF, it is NOT difficult to recreate environments in a consistent way for either manual or automated testing! • Idiomatic Microservices involves placing less emphasis on testing and more on monitoring • Not sure where this idea comes from… • CF is an enabler of both!
  • 41. © Copyright 2014 Pivotal. All rights reserved. A Mutualistic Symbiotic Relationship 41 Cloud Foundry Microservices http://en.wikipedia.org/wiki/Symbiosis#Mutualism
  • 42. A NEW PLATFORM FOR A NEW ERA