It wasn’t too long ago that artisans, bathed in the glow of molten metal, forged parts that would go on to make up bigger, more powerful machines. Today, we call those artisans developers. Instead of metal, they use bits and bytes in the cloud to forge a modern application architecture that supports public, private and hybrid application deployment. One that enables users and developers to move their applications wherever they need to go. And it’s built on a growing, vibrant ecosystem.
Nowhere is this epic shift in how things are made more visible than the meteoric adoption of Cloud Foundry. In this talk, Chip Childers, VP of Technology for Cloud Foundry Foundation, will give attendees an inside look at the industry movements and the technological requirements that are driving Cloud Foundry's rapid adoption. Most importantly, he will walk through how organizations are responding to the challenge of continuous innovation, what's driving modern application architectures, and how the Cloud Foundry platform uses specific constraints in order to fulfill it's promise to application owners.
11. “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
16. Microservices are great, but they require:
rapid provisioning
basic monitoring
rapid application deployment
devops culture
Per Martin Fowler
17.
18. • 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.
20. • 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
26. 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)
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
40. That was all about 12 factor
apps…
What about services?
44. The Cloud Native Advantage:
Simple Patterns
Highly Automated
Scaled with Ease
45.
46. 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, 2011
http://www.asymco.com/2011/02/25/the-platform-as-a-promise/
47.
48.
49.
50. 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.
51. We’re focusing on certification to guarantee
portability of apps across clouds.
Make it lasting and durable.
Build the ecosystem of opportunity.