the promise of a cloud native platform (code freeze conf)
TRANSCRIPT
Pi @bridgetkromhout
The Promise of a Cloud Native Platform
Bridget Kromhout
Pi @bridgetkromhout
Bridget Kromhout
lives: Minneapolis,
Minnesota
works: Pivotal
podcasts: Arrested DevOps
organizes: devopsdays
Pi @bridgetkromhout
navigating platform choices
Pi @bridgetkromhout
Previously, on Platform Tales…
Docker in Production: Reality, Not Hype
Pi @bridgetkromhout
Deconstructing a monolithic
Python/Django app into…
(as was the style at the time)
Go microservices
Pi @bridgetkromhout
Peak load: tens of thousands of requests per second Traffic variance: swings 10-20x throughout the week
Pi @bridgetkromhout
Pi @bridgetkromhout
Containerized builds
runs tests
creates versioned deployable artifacts
standardizes development environment
Pi @bridgetkromhout
Pi @bridgetkromhout
also true for infrastructure as code.
Pi @bridgetkromhout
Pi @bridgetkromhout
Pi @bridgetkromhout
Just because you can…
…doesn’t mean you should.
Pi @bridgetkromhout
Image credit: Simon Wardley
Pi @bridgetkromhout
so what’s a cloud native platform?
Pi @bridgetkromhout
if you can deploy and operate code in any capacity, you have a platform
opinions optional
Pi @bridgetkromhout
Pi @bridgetkromhout
Pi @bridgetkromhout
1979 (Version 7)1982 (BSD)
20042000
chroot FreeBSD jails Solaris Zones LXC
2008
A Brief History of Containers
Pi @bridgetkromhout
Pi @bridgetkromhout
Pi @bridgetkromhout
“To always be
shipping, you need a
shipyard”
Bret Mogilefsky of 18F, on cloud.gov
Pi @bridgetkromhout
Pi @bridgetkromhout
Pi @bridgetkromhout
why > whatPrinciples > Practices >Tools
Pi @bridgetkromhout
reasonable constraints
Pi @bridgetkromhout
Pi @bridgetkromhout
Pi @bridgetkromhout
Large-scale cluster management at Google with Borg - Verma et al. 2015
“Almost every task run under Borg contains a
built-in HTTP server that publishes information
about the health of the task and thousands of performance metrics”
Pi @bridgetkromhout
Constraints are the contract that allows a platform to keep promises.
Pi @bridgetkromhout
promises
Pi @bridgetkromhout
Everyone has a platform.
What promises can your platform keep?
Pi @bridgetkromhout
Minimum Viable Platform
1. Routing and load balancing 2. Backing services broker 3. Infrastructure orchestration 4. Health management, monitoring, and recovery 5. Reusable runtime environment repository 6. Log aggregation
Casey West - The cloud-native future
Pi @bridgetkromhout
structured contracts determine the promises a platform can keep
Pi @bridgetkromhout
“Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.”
Mel Conway
Pi @bridgetkromhout
12-factor apps need
12-factor ops
Pi @bridgetkromhout
use tools and simple patterns to make
doing the right thing
the easy thing
Pi @bridgetkromhout
simple patterns automated by tooling:
the cloud native advantage
Pi @bridgetkromhout
Thank you!