For many years, the gold standard of business strategy has been the mantra “Sustainable competitive advantage.” But the world has changed. Moving forward, the mantra for survival must be “Continuous innovation.”
In this talk, I will take the audience inside the architectural foundation of a modern cloud native platform. I’ll walk through the tools they’ll use to deliver on the promise of continuous innovation — tools such as Docker, Lattice, Puppet, and Cloud Foundry. And I’ll show examples of how to use those tools to deliver the speed and portability businesses need to thrive in a cloud native world.
4. Microservices are great.
Per Martin Fowler they lead to specific requirements:
rapid provisioning
basic monitoring
rapid application deployment
devops culture
5.
6. • 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.
8. • 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
11. Platforms on Platforms
• Better SLAs
• Flexibility
• Speed
• Availability
• Faster Time To Market
• Mobile + Data
Services
• Agile and Iterative
• Leverage OSS
• Continuous Delivery
• No Downtime
• Instant scaling
• Consistency &
Automation
App Dev App OpsIaaS
12. Understanding Cloud Native Application Platforms
.war .jar
dependencies
libraries
service manifest
App App App
LB
DB
Multi-server run time
environment(s)
.tar.gz
Turning this: Into this:
13. 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)
14. Removing Developer and Operational Constraints
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
33. ? DIEGO runs
one-off tasks
long running
processes
a distributed system that orchestrates containerized workloads
34. ?
Task
a unit of work
runs at most once
DIEGO runs
a distributed system that orchestrates containerized workloads
long running
processes
35. ?
Task LRP
a unit of work
runs at most once
N long-running instances
distributed across cells for HA
monitored & restarted
DIEGO runs
a distributed system that orchestrates containerized workloads
100. Garden-Windows
provides a container experience for Windows 2012
that will only get better with Windows 2016
allows us to build a cf push experience
?
?
136. ?
…is a useful low-barrier solution to real-world
problems
…makes exploring Diego easy
…is a softer onramp to the CF tech stack
…allows us to efficiently prototype new ideas for
Diego’s future
Lattice…
152. A Cloud Foundry is a place of practice for continuous innovation.
noun pragmatic cathedral
Chip Childers | @chipchilders
VP Technology | Cloud Foundry Foundation
Editor's Notes
Sam talked about Continuous Innovation this morning, and how it’s demands are manifesting themselves in the technologies that we use.
We’re building these platforms to allow ourselves to reach the architectural ideal of micro services
To actually deliver, you need:
Rapid provisioning
Assumed operability – things like basic monitoring
Rapid application deployment
Devops culture to provide the feedback loops we require with this accelerated rate of change
If we really focus on the architecture questions…
Deployment needs to be about the code to running app.
Then what happens on day 2? And on day 3?
Containers are an amazing ingredient
But we need to think holistically about the
application lifecycle
cluster management
persistent vs. ephemeral components
We’re gonna need a platform
Even more importantly, the unit of value for the business is the RATE OF CHANGE for the applications
We’re here for more than day 1
This is a theme for our users. This is what JPMC, Allstate, Lockheed and others
We welcome you to join us
We are a Linux Foundation Collaborative Project
Thank you for the opportunity to speak today