SlideShare a Scribd company logo
@chipchilders
Chip Childers, VP Technology
Cloud Foundry Foundation
Going Cloud Native with Cloud Foundry
Why does Cloud Native matter?
Since 2000, 52% of the Fortune
500 are no longer on the list
Continuous Innovation
There is a rough consensus on many Cloud Native traits.
Containers as an atomic unit, for example. Micro-services
as the means of both construction and communication.
Platform independence. Multiple language support.
Automation as a feature of everything from build to
deployment. High uptime. Ephemeral infrastructure (cattle
not pets). And so on.
Stephen O’Grady, Redmonk
http://redmonk.com/sogrady/2015/07/24/cloud-native-implications/
There is a rough consensus on many Cloud Native traits.
Containers as an atomic unit, for example. Micro-services
as the means of both construction and communication.
Platform independence. Multiple language support.
Automation as a feature of everything from build to
deployment. High uptime. Ephemeral infrastructure (cattle
not pets). And so on.
Stephen O’Grady, Redmonk
http://redmonk.com/sogrady/2015/07/24/cloud-native-implications/
There is a rough consensus on many Cloud Native traits.
Containers as an atomic unit, for example. Micro-services
as the means of both construction and communication.
Platform independence. Multiple language support.
Automation as a feature of everything from build to
deployment. High uptime. Ephemeral infrastructure (cattle
not pets). And so on.
Stephen O’Grady, Redmonk
http://redmonk.com/sogrady/2015/07/24/cloud-native-implications/
There is a rough consensus on many Cloud Native traits.
Containers as an atomic unit, for example. Micro-services
as the means of both construction and communication.
Platform independence. Multiple language support.
Automation as a feature of everything from build to
deployment. High uptime. Ephemeral infrastructure (cattle
not pets). And so on.
Stephen O’Grady, Redmonk
http://redmonk.com/sogrady/2015/07/24/cloud-native-implications/
There is a rough consensus on many Cloud Native traits.
Containers as an atomic unit, for example. Micro-services
as the means of both construction and communication.
Platform independence. Multiple language support.
Automation as a feature of everything from build to
deployment. High uptime. Ephemeral infrastructure (cattle
not pets). And so on.
Stephen O’Grady, Redmonk
http://redmonk.com/sogrady/2015/07/24/cloud-native-implications/
There is a rough consensus on many Cloud Native traits.
Containers as an atomic unit, for example. Micro-services
as the means of both construction and communication.
Platform independence. Multiple language support.
Automation as a feature of everything from build to
deployment. High uptime. Ephemeral infrastructure (cattle
not pets). And so on.
Stephen O’Grady, Redmonk
http://redmonk.com/sogrady/2015/07/24/cloud-native-implications/
There is a rough consensus on many Cloud Native traits.
Containers as an atomic unit, for example. Micro-services
as the means of both construction and communication.
Platform independence. Multiple language support.
Automation as a feature of everything from build to
deployment. High uptime. Ephemeral infrastructure (cattle
not pets). And so on.
Stephen O’Grady, Redmonk
http://redmonk.com/sogrady/2015/07/24/cloud-native-implications/
The Cloud Native Advantage:
Simple Patterns
Highly Automated
Scaled with Ease
Fast, Safe, Scalable… Pick 3
Fast – Focus on Takt Time
Definition: the desired time between units of production output, synchronized
to customer demand
http://www.strategosinc.com/takt_time.htm
Safe
A.B.T. - Always Be Testing (automatically)
Safe – Runtime Characteristics Matter
• Visibility – Measure all the things. Translate data into knowledge. (see:
OODA loop)
• Fault Isolation – Smaller applications, released independently, isolate the
scope of a fault condition.
• Fault Tolerance – Failures happen (see: Circuit Breaker Pattern / Design
for Failure)
• Autonomic Recovery – Humans have better things to do at night
Scale – Prepare (as best you can) to Succeed
• Demand elastic infrastructure
• Separate concerns - Isolated ephemeral services, Solve persistence
independently
• Accept that the scalability of a system can be a series of plateaus
Going Cloud Native with Cloud Foundry
“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
Microservices are great, but they require:
rapid provisioning
basic monitoring
rapid application deployment
devops culture
Martin Fowler
Going Cloud Native with Cloud Foundry
• Use declarative formats for setup automation, to minimize time and
cost for new developers joining the project;
• Have a clean contract with the underlying OS, offering maximum
portability between execution environments;
• Are suitable for deployment on modern cloud platforms, obviating
the need for servers and systems administration;
• Minimize divergence between development and production,
enabling continuous deployment for maximum agility;
• And can scale up without significant changes to tooling,
architecture, or development practices.
But even that’s not enough…
• Role based access to resources: the right
people should be able to do things and the
wrong people shouldn’t
• Run specified bits on demand: take code, put
it together with all the rest of the things it
needs and and get it running
• Coordinate cross service configurations: in a
service oriented world, services need to be
configured to connect with each other
• Route public requests to running bits: the
next big thing needs access to the internet
• Read and write persistent data: data has to
live somewhere
• Add and remove resources: scaling is a great
problem to have, but still
• Isolate resources and failures without
isolation and decoupling, that is one big
distributed single point of failure
• Measure performance/health: can’t manage
what you don’t measure
• Detect and determine failure: sometimes,
things get real… but how do you know
• Recover failures: someone is going to have
to clean this mess
• Work tomorrow: when everything you’ve
thought to be true has been shown not to
You must be this tall…
We’re going to need a platform
Unit of Value
IaaS == Virtual Machine
• Opaque to the system
• Orchestration is post-hoc
• System changes are imperative
(“launch” stuff)
App Platform == Application
• Containers are transparent
• Lifecycle is fully managed
• System changes are
declarative (manifest.yml)
Unit of Value
IaaS == Virtual Machine
• Opaque to the system
• Orchestration is post-hoc
• System changes are imperative
(“launch” stuff)
App Platform == Application Time
to release a feature or App
• Containers are transparent
• Lifecycle is fully managed
• System changes are
declarative (manifest.yml)
Platforms make promises
Constraints are the contract that
allows a platform to keep
promises
Here is my source code
Run it on the cloud for me
I do not care how
Cloud Foundry Haiku
Onsi Fakhouri
Going Cloud Native with Cloud Foundry
.war .jar
dependencies
libraries
service manifest
App App App
LB
DB
Multi-server run time
environment(s)
.tar.gz
Turning this: Into this:
https://blog.appdynamics.com/devops/the-future-of-ops/
Or even this…
• Auto-detect frameworks
• Link to App Platform
• Self-service deploy
• Dynamic routing
• A/B versioning
• Live upgrades
• Self-service
removal
• Elastic scale
• Integrated HA
• Log aggregation
• Policy and Auth
target <mycf>
push <myapp>
create-service <myservice>
bind <myapp> <myservice>
start <myapp>
scale <myapp> -i 100
…
cf
App
DB
LB
App App
Where’s the container in this
story?
Going Cloud Native with Cloud Foundry
= + +
Contents Processes
?
?
Isolation Rules
PID
User
Network
cgroups cflinuxfs2
What is a “Container”?
Let’s talk about Buildpacks / Staging
• Ruby code that detects language,
frameworks, whatnot…
• Compiles the code into executable
binaries (*)
/bin/detect < Am I supposed to run?
/bin/compile < Build the thing
/bin/release < Pass along potential metadata
cflinuxfs2
Prescriptive
CHRONOS
scheduler.next
container.next
Assembly
Prescriptive
CHRONOS
scheduler.next
container.next
Assembly
runC
Prescriptive
CHRONOS
scheduler.next
gorouter
CloudController Auth
Loggregator
Staging
Buildpacks
BOSH
Service Broker
Diego
Garden
etcd
Core
Services
container.next
Assembly
runC
Prescriptive Assembly
CHRONOS
scheduler.next
gorouter
CloudController Auth
Loggregator
Staging
Buildpacks
BOSH
Service Broker
Diego
etcd
Core
Services
container.nextrunC
That was all about 12 factor
apps…
What about services?
CF and Services
- Development infrastructure components
(DBs, Cache, Queue, etc…)
- Loopback to other CF hosted apps
- Reaching out to your “legacy”
- External providers
Going Cloud Native with Cloud Foundry
Going Cloud Native with Cloud Foundry
.war .jar
dependencies
libraries
service manifest
App App App
LB
DB
Multi-server run time
environment(s)
.tar.gz
Turning this: Into this:
The Cloud Native Advantage:
Simple Patterns
Highly Automated
Scaled with Ease
cloudfoundry.org

More Related Content

PDF
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
PDF
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
PPTX
CloudStack Collab 2013 Keynote
PDF
Run your Java code on Cloud Foundry
PDF
Cloud Foundry Introduction and Overview
PDF
An introduction to Cloud Foundry
PDF
Cloud Foundry Overview
PDF
Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Introducing Cloud Native, Event Driven, Serverless, Micrsoservices Framework ...
CloudStack Collab 2013 Keynote
Run your Java code on Cloud Foundry
Cloud Foundry Introduction and Overview
An introduction to Cloud Foundry
Cloud Foundry Overview
Part 3: Enabling Continuous Delivery (Pivotal Cloud Platform Roadshow)

What's hot (20)

PDF
Cloud Foundry, the Open Platform As A Service
PPTX
Building a Platform for the People - IBM's Open Cloud Architecture Summit - A...
PDF
Cloud Native Architectures for Devops
KEY
Cloud Foundry Bootcamp
PPTX
Talk at the Boston Cloud Foundry Meetup June 2015
PPTX
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
PDF
Cloud Foundry BOSH CPI for OpenStack
PPTX
Breaking the Monolith
PDF
Patterns of Cloud Native Architecture
PDF
Cloud Foundry Summit 2015: Managing Hybrid Deployments Using Cloud Foundry on...
PDF
The Cloud Foundry Story
PDF
Comparison of Several PaaS Cloud Computing Platforms
PPTX
Cloud foundry: The Platform for Forging Cloud Native Applications
PDF
Practical PaaS presentation
PDF
Cloud foundry presentation
PDF
Finding and Organizing a Great Cloud Foundry User Group
PPTX
Pivotal cloud foundry introduction
PPTX
Cloud Foundry Roadmap Update - OSCON - May 2017
PPTX
Choosing a dev ops paas platform svccd presentation v2 for slideshare
PDF
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
Cloud Foundry, the Open Platform As A Service
Building a Platform for the People - IBM's Open Cloud Architecture Summit - A...
Cloud Native Architectures for Devops
Cloud Foundry Bootcamp
Talk at the Boston Cloud Foundry Meetup June 2015
Overseeing Ship's Surveys and Surveyors Globally Using IoT and Docker by Jay ...
Cloud Foundry BOSH CPI for OpenStack
Breaking the Monolith
Patterns of Cloud Native Architecture
Cloud Foundry Summit 2015: Managing Hybrid Deployments Using Cloud Foundry on...
The Cloud Foundry Story
Comparison of Several PaaS Cloud Computing Platforms
Cloud foundry: The Platform for Forging Cloud Native Applications
Practical PaaS presentation
Cloud foundry presentation
Finding and Organizing a Great Cloud Foundry User Group
Pivotal cloud foundry introduction
Cloud Foundry Roadmap Update - OSCON - May 2017
Choosing a dev ops paas platform svccd presentation v2 for slideshare
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
Ad

Viewers also liked (20)

PPTX
Tying Automation to the Line of Business
PDF
Using Docker and Elastic Beanstalk in Production
PPTX
Automating Banner Financial Aid Dataload - San Jacinto College
PDF
Introduction and Overview of OpenStack for IaaS
PDF
PDF
CernVM-FS for Docker image distribution in Cloud Foundry
PPTX
Cloud Foundry Diego: The New Cloud Runtime - CloudOpen Europe Talk 2015
PPTX
How does the Cloud Foundry Diego Project Run at Scale?
PPTX
Cloud Foundry Roadmap in 2016
PPTX
Cloud Foundry V2 | Intermediate Deep Dive
PPTX
Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...
PPTX
Circle of Code with Cloud Foundry
PPTX
Who Lives in Our Garden?
PPTX
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
PDF
Deep Learning for Cyber Security
PDF
KSDG BaaS Intro
PPTX
Going Cloud Native - It Takes a Platform
PDF
Cloud Foundry Diego: Modular and Extensible Substructure for Microservices
PDF
PCF1: Cloud Foundry Diego ( Predix Transform 2016)
PPTX
Pivotal Cloud Foundry: Cloud Native Architecture
Tying Automation to the Line of Business
Using Docker and Elastic Beanstalk in Production
Automating Banner Financial Aid Dataload - San Jacinto College
Introduction and Overview of OpenStack for IaaS
CernVM-FS for Docker image distribution in Cloud Foundry
Cloud Foundry Diego: The New Cloud Runtime - CloudOpen Europe Talk 2015
How does the Cloud Foundry Diego Project Run at Scale?
Cloud Foundry Roadmap in 2016
Cloud Foundry V2 | Intermediate Deep Dive
Everyday life with Cloud Foundry in a big organization (Cloud Foundry Days To...
Circle of Code with Cloud Foundry
Who Lives in Our Garden?
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
Deep Learning for Cyber Security
KSDG BaaS Intro
Going Cloud Native - It Takes a Platform
Cloud Foundry Diego: Modular and Extensible Substructure for Microservices
PCF1: Cloud Foundry Diego ( Predix Transform 2016)
Pivotal Cloud Foundry: Cloud Native Architecture
Ad

Similar to Going Cloud Native with Cloud Foundry (20)

PPTX
Cloud Foundry Technical Overview at IBM Interconnect 2016
PPTX
The Cloud Native Journey
PDF
Adopting the Cloud
PDF
Integration in the Age of DevOps
PDF
Dipping Your Toes Into Cloud Native Application Development
PDF
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
PDF
Cloud Native Dünyada CI/CD
PDF
What is Cloud Native and why should I care
PDF
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures
PDF
Securing the Cloud Native stack
PPTX
Cloud-Native-Applications-The-Future-of-Development.pptx
PPT
Integration in the Cloud
PDF
Cloud native defined
PDF
Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015
PDF
ContainerCon- Cloud Native Applications, Containers, Microservices, Platforms...
PDF
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
PDF
Evolving to Cloud-Native - Nate Schutta 1/2
PDF
Cloud-Native Workshop - Santa Monica
PPTX
Get your head in the clouds! - Swansea Con 2016
PPTX
CF Summit: A Developer's Perspective
Cloud Foundry Technical Overview at IBM Interconnect 2016
The Cloud Native Journey
Adopting the Cloud
Integration in the Age of DevOps
Dipping Your Toes Into Cloud Native Application Development
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Cloud Native Dünyada CI/CD
What is Cloud Native and why should I care
Continuous Delivery, DevOps, Cloud - New Requirements for New Architectures
Securing the Cloud Native stack
Cloud-Native-Applications-The-Future-of-Development.pptx
Integration in the Cloud
Cloud native defined
Intro to SW Eng Principles for Cloud Computing - DNelson Apr2015
ContainerCon- Cloud Native Applications, Containers, Microservices, Platforms...
RedisConf18 - Common Redis Use Cases for Cloud Native Apps and Microservices
Evolving to Cloud-Native - Nate Schutta 1/2
Cloud-Native Workshop - Santa Monica
Get your head in the clouds! - Swansea Con 2016
CF Summit: A Developer's Perspective

More from Chip Childers (14)

PPTX
CF Days 2017 - NYC - Keynote
PPTX
CF Summit North America 2017 - Technical Keynote
PPTX
Cloud Foundry Days Tokyo 2016
PPTX
The Architecture of Continuous Innovation - OSCON 2015
PPTX
Keynote - Cloud Foundry Foundation - ApacheCon NA 2015
PPTX
Pulling Back the Curtain – CloudStack in Private and Community Clouds
PPTX
Making the move from iaa s to iaas+
PPT
Operational dashboard for apache cloud stack
PPT
CloudStack Collaboration Conference Kickoff (Thursday)
PPTX
CloudStack Release 4.1 Retrospective
PPTX
CloudStack Logo Slide
PPTX
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
PPTX
CloudStack 4.1, 4.2 and beyond
PPTX
6 Months In: What I've Learned about Apache Projects
CF Days 2017 - NYC - Keynote
CF Summit North America 2017 - Technical Keynote
Cloud Foundry Days Tokyo 2016
The Architecture of Continuous Innovation - OSCON 2015
Keynote - Cloud Foundry Foundation - ApacheCon NA 2015
Pulling Back the Curtain – CloudStack in Private and Community Clouds
Making the move from iaa s to iaas+
Operational dashboard for apache cloud stack
CloudStack Collaboration Conference Kickoff (Thursday)
CloudStack Release 4.1 Retrospective
CloudStack Logo Slide
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack 4.1, 4.2 and beyond
6 Months In: What I've Learned about Apache Projects

Recently uploaded (20)

PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Cloud computing and distributed systems.
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPT
Teaching material agriculture food technology
PPTX
A Presentation on Artificial Intelligence
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
KodekX | Application Modernization Development
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Modernizing your data center with Dell and AMD
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Cloud computing and distributed systems.
NewMind AI Weekly Chronicles - August'25 Week I
Teaching material agriculture food technology
A Presentation on Artificial Intelligence
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
“AI and Expert System Decision Support & Business Intelligence Systems”
Network Security Unit 5.pdf for BCA BBA.
Review of recent advances in non-invasive hemoglobin estimation
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Empathic Computing: Creating Shared Understanding
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
KodekX | Application Modernization Development
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
NewMind AI Monthly Chronicles - July 2025
Chapter 3 Spatial Domain Image Processing.pdf
Modernizing your data center with Dell and AMD

Going Cloud Native with Cloud Foundry

  • 1. @chipchilders Chip Childers, VP Technology Cloud Foundry Foundation Going Cloud Native with Cloud Foundry
  • 2. Why does Cloud Native matter?
  • 3. Since 2000, 52% of the Fortune 500 are no longer on the list
  • 5. There is a rough consensus on many Cloud Native traits. Containers as an atomic unit, for example. Micro-services as the means of both construction and communication. Platform independence. Multiple language support. Automation as a feature of everything from build to deployment. High uptime. Ephemeral infrastructure (cattle not pets). And so on. Stephen O’Grady, Redmonk http://redmonk.com/sogrady/2015/07/24/cloud-native-implications/
  • 6. There is a rough consensus on many Cloud Native traits. Containers as an atomic unit, for example. Micro-services as the means of both construction and communication. Platform independence. Multiple language support. Automation as a feature of everything from build to deployment. High uptime. Ephemeral infrastructure (cattle not pets). And so on. Stephen O’Grady, Redmonk http://redmonk.com/sogrady/2015/07/24/cloud-native-implications/
  • 7. There is a rough consensus on many Cloud Native traits. Containers as an atomic unit, for example. Micro-services as the means of both construction and communication. Platform independence. Multiple language support. Automation as a feature of everything from build to deployment. High uptime. Ephemeral infrastructure (cattle not pets). And so on. Stephen O’Grady, Redmonk http://redmonk.com/sogrady/2015/07/24/cloud-native-implications/
  • 8. There is a rough consensus on many Cloud Native traits. Containers as an atomic unit, for example. Micro-services as the means of both construction and communication. Platform independence. Multiple language support. Automation as a feature of everything from build to deployment. High uptime. Ephemeral infrastructure (cattle not pets). And so on. Stephen O’Grady, Redmonk http://redmonk.com/sogrady/2015/07/24/cloud-native-implications/
  • 9. There is a rough consensus on many Cloud Native traits. Containers as an atomic unit, for example. Micro-services as the means of both construction and communication. Platform independence. Multiple language support. Automation as a feature of everything from build to deployment. High uptime. Ephemeral infrastructure (cattle not pets). And so on. Stephen O’Grady, Redmonk http://redmonk.com/sogrady/2015/07/24/cloud-native-implications/
  • 10. There is a rough consensus on many Cloud Native traits. Containers as an atomic unit, for example. Micro-services as the means of both construction and communication. Platform independence. Multiple language support. Automation as a feature of everything from build to deployment. High uptime. Ephemeral infrastructure (cattle not pets). And so on. Stephen O’Grady, Redmonk http://redmonk.com/sogrady/2015/07/24/cloud-native-implications/
  • 11. There is a rough consensus on many Cloud Native traits. Containers as an atomic unit, for example. Micro-services as the means of both construction and communication. Platform independence. Multiple language support. Automation as a feature of everything from build to deployment. High uptime. Ephemeral infrastructure (cattle not pets). And so on. Stephen O’Grady, Redmonk http://redmonk.com/sogrady/2015/07/24/cloud-native-implications/
  • 12. The Cloud Native Advantage: Simple Patterns Highly Automated Scaled with Ease
  • 14. Fast – Focus on Takt Time Definition: the desired time between units of production output, synchronized to customer demand http://www.strategosinc.com/takt_time.htm
  • 15. Safe A.B.T. - Always Be Testing (automatically)
  • 16. Safe – Runtime Characteristics Matter • Visibility – Measure all the things. Translate data into knowledge. (see: OODA loop) • Fault Isolation – Smaller applications, released independently, isolate the scope of a fault condition. • Fault Tolerance – Failures happen (see: Circuit Breaker Pattern / Design for Failure) • Autonomic Recovery – Humans have better things to do at night
  • 17. Scale – Prepare (as best you can) to Succeed • Demand elastic infrastructure • Separate concerns - Isolated ephemeral services, Solve persistence independently • Accept that the scalability of a system can be a series of plateaus
  • 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
  • 20. Microservices are great, but they require: rapid provisioning basic monitoring rapid application deployment devops culture Martin Fowler
  • 22. • Use declarative formats for setup automation, to minimize time and cost for new developers joining the project; • Have a clean contract with the underlying OS, offering maximum portability between execution environments; • Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration; • Minimize divergence between development and production, enabling continuous deployment for maximum agility; • And can scale up without significant changes to tooling, architecture, or development practices.
  • 23. But even that’s not enough…
  • 24. • Role based access to resources: the right people should be able to do things and the wrong people shouldn’t • Run specified bits on demand: take code, put it together with all the rest of the things it needs and and get it running • Coordinate cross service configurations: in a service oriented world, services need to be configured to connect with each other • Route public requests to running bits: the next big thing needs access to the internet • Read and write persistent data: data has to live somewhere • Add and remove resources: scaling is a great problem to have, but still • Isolate resources and failures without isolation and decoupling, that is one big distributed single point of failure • Measure performance/health: can’t manage what you don’t measure • Detect and determine failure: sometimes, things get real… but how do you know • Recover failures: someone is going to have to clean this mess • Work tomorrow: when everything you’ve thought to be true has been shown not to
  • 25. You must be this tall…
  • 26. We’re going to need a platform
  • 27. Unit of Value IaaS == Virtual Machine • Opaque to the system • Orchestration is post-hoc • System changes are imperative (“launch” stuff) App Platform == Application • Containers are transparent • Lifecycle is fully managed • System changes are declarative (manifest.yml)
  • 28. Unit of Value IaaS == Virtual Machine • Opaque to the system • Orchestration is post-hoc • System changes are imperative (“launch” stuff) App Platform == Application Time to release a feature or App • Containers are transparent • Lifecycle is fully managed • System changes are declarative (manifest.yml)
  • 29. Platforms make promises Constraints are the contract that allows a platform to keep promises
  • 30. Here is my source code Run it on the cloud for me I do not care how Cloud Foundry Haiku Onsi Fakhouri
  • 32. .war .jar dependencies libraries service manifest App App App LB DB Multi-server run time environment(s) .tar.gz Turning this: Into this:
  • 34. • Auto-detect frameworks • Link to App Platform • Self-service deploy • Dynamic routing • A/B versioning • Live upgrades • Self-service removal • Elastic scale • Integrated HA • Log aggregation • Policy and Auth
  • 35. target <mycf> push <myapp> create-service <myservice> bind <myapp> <myservice> start <myapp> scale <myapp> -i 100 … cf App DB LB App App
  • 36. Where’s the container in this story?
  • 38. = + + Contents Processes ? ? Isolation Rules PID User Network cgroups cflinuxfs2 What is a “Container”?
  • 39. Let’s talk about Buildpacks / Staging • Ruby code that detects language, frameworks, whatnot… • Compiles the code into executable binaries (*) /bin/detect < Am I supposed to run? /bin/compile < Build the thing /bin/release < Pass along potential metadata cflinuxfs2
  • 44. That was all about 12 factor apps… What about services?
  • 45. CF and Services - Development infrastructure components (DBs, Cache, Queue, etc…) - Loopback to other CF hosted apps - Reaching out to your “legacy” - External providers
  • 48. .war .jar dependencies libraries service manifest App App App LB DB Multi-server run time environment(s) .tar.gz Turning this: Into this:
  • 49. The Cloud Native Advantage: Simple Patterns Highly Automated Scaled with Ease