building a platform for the people - ibms open cloud architecture summit - atlanta 2015
TRANSCRIPT
@chipchilders
Chip Childers, VP Technology
Cloud Foundry Foundation
Building a Platform for the People
The Dawn of a New Era
Internet All The Things
A shift in human behavior
A shift in business matching
the shift in human behavior
Since 2000, 52% of the Fortune
500 are no longer on the list
Continuous Innovation
Right-sizing digital innovation
Focused on cycle time optimization
Smaller teams and faster tools
Continuous
Integration
Continuous
Deployment
Continuous
Innovation
Continuous
Integration
Continuous
Deployment
Continuous
Innovation
waterscrumfall
Continuous
Integration
Continuous
Deployment
Continuous
Innovation
“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
Two-pizza teams
Silo-breaking
Ephemeral
Scalable
Agile
Microservices
Containers
12-Factor Applications
Microservices are great, but they require:
rapid provisioning
basic monitoring
rapid application deployment
devops culture
Per Martin Fowler
• 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
We’re going to need a platform
So here we are in the age of
open source…
Open Container
Initiative
Borg
Mesos
Cloud
Foundry
Omega
Kubernetes
cgroups
Docker
OCI
rkt/appc
LXC
Carrier Networking
Datacenter Networking
Datacenter Operating Systems
Hardware
Virtualization
Operating Systems
Application Platforms
Programming Frameworks
ContainersOpen Container
Initiative
.war .jar
dependencies
libraries
service manifest
App App App
LB
DB
Multi-server run time environment(s)
.tar.gz
Turning this: Into this:
BUILD APPLICATION
PUSH FIRST RELEASE
MAINTAIN APPLICATION
UPDATE APPLICATIONS
RETIRE APPLICATIONS
• 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
Platforms make promises
Here is my source code
Run it on the cloud for me
I do not care how
Cloud Foundry Haiku
Onsi Fakhouri
The purpose of abstraction is
not to be vague, but to create a
new semantic level in which one
can be absolutely precise.
Edsger Dijkstra
Constraints are the contract that
allows a platform to keep
promises
push
start
stop
scale
create-service
bind-service
…
cf
The Cloud Native Advantage:
Simple Patterns
Highly Automated
Scaled with Ease
A platform is a promise that the products will function in ways beyond what’s “written on the box”; that the product is extensible and has value provided by an ecosystem bigger than the original vendor.
Horace Dediu, 2011http://www.asymco.com/2011/02/25/the-platform-as-a-promise/
We’re rebalancing the system towards user-driven
roadmaps and control of the upstream project.
We’re building support for specific industry
clusters in Financial Services, Industrial IoT, and
Telecommunications.
We’re focusing on certification to guarantee
portability of apps across clouds.
Make it lasting and durable.
Build the ecosystem of opportunity.
We see a world of cloud computing that is
UBIQUITOUS and FLEXIBLE
supporting public, private, and hybrid application environments.
PORTABLE and INTEROPERABLE enabling users to move their applications wherever they need to go.
VIBRANT and GROWING underlying a massive ecosystem of applications and developers
based on an efficient marketplace.
We see a human community that is
PRAGMATIC
and focused on exchanging practical experience.
DIVERSE
and inclusive of people across race, gender, orientation, and lifestyle.
RESPECTFUL and committed to listening to thoughtful and honest perspectives.
cloudfoundry.org
@chipchilders
Thanks.