13. When IaaS and App Platforms Come Together
• 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
14. 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)
15. 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:
16. 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
18. Microservices are great.
Per Martin Fowler they lead to specific requirements:
rapid provisioning
basic monitoring
rapid application deployment
devops culture
19.
20. • Use declarative formats for setup automation, to minimize time and
cost for new developers joining the project;
• Have a clean contract with the underlying operating system, 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.
22. • 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. A Cloud Foundry is a place of practice for continuous innovation.
noun pragmatic cathedral
We give you the technology to create the place, and we
assemble the wisdom of the community to create the practices.
47. ? DIEGO runs
one-off tasks
long running
processes
a distributed system that orchestrates containerized workloads
48. ?
Task
a unit of work
runs at most once
DIEGO runs
a distributed system that orchestrates containerized workloads
long running
processes
49. ?
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
118. 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
?
?
154. ?
…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…
Intro self
Title of talk is The Making of a Modern Application Architecture
However, we’ve realized that the story is actually just as much about how platforms are evolving to support these modern application architectures.
We all know that we are at the dawn of a new era
Computing is everywhere – phone supercomputers
People are changing, we are increasingly relying on technology in everyday life
What we are required to produce now is a shift in business that matches the changes in human behavior
If a company can’t deliver accurate, relevant and personalized opportunities to you, they will become increasingly irrelevant
For 20 years, business experts like the MIT Sloan School of Business have said that the most important thing is sustainable competitive advantage
They don’t say that anymore. It has become impossible to sustain competitive advantage today
What’s needed is a model for continuous innovation
This is how you capture the opportunities that present themselves in a timely fashion
How you create new opportunities
Consistently building on, or pivoting from, your current success to stay relevant
We’ve seen the rise of Agile development within the enterprise. How many of you have adopted agile? Now how many of you can continuously deliver that software?
This is a trap that we call waterscrumfall.
So how do we get out of the waterscrumfall?
We know we need to pair cloud native apps with continuous delivery
If we can put these two together, we can do what MIT is telling us to do (click)
Here at an OSS conference, we all know how powerful OSS can be.
But the truth is that in today’s markets, pressure requires collaboration to solve for common problems
When there is this much market pressure, you begin to see emergent behaviors in a market
Those pressures produce the desire to create projects that solve our problems
Projects like…
Each of these projects are wonderful at what they are solving for, but represent part of the solution
We’re building these projects together into Open Data Centers… stacks that are open from top to bottom.
As examples… Open Compute, OPNFV, etc…
It’s crucial that we begin to see harmony up and down the stack
Serve as a powerful platform for that continuous innovation we’re aiming for.
What we’re striving for is the holistic cloud native application platform.
Something that works with everything else, that builds on the projects both above and below in the stack
That presents a consistent set of interfaces to managing applications and services
How do you meet these expectations ?
By thinking about the entire platform. It’s the IaaS benefits combined with Developer, IT Ops and Infra benefits. All of these combined pack the punch and you can stand up this environment pretty fast.
There’s no single magic bullet, but the ecosystem and new platform thinking that ties your complexities together and automates at scale.
Enterprise Grade with Consumer expectations that’s the promise
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 customers. This is what JPMC, Allstate, Lockheed and others
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
Declarative formats to make it easy for new developers
Clean contract with the OS
Designed for modern cloud platforms
Minimize difference between dev and prod – faster deployments, fully automated pipeline
Environmental differences limited to scale, which should be trivially adjusted
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
Cloud Foundry is a Cloud Native Application Platform
Dig a little deeper into the CF Open Source project
Users at the top
Infrastructure at the bottom
CF is the piece in the middle – Elastic Runtime, Services, Operations
2 key things we are doing – refactoring elastic runtime – project diego – docker and rocket
We welcome you to join us
We are a Linux Foundation Collaborative Project
Thank you for the opportunity to speak today