devops, platforms,
and devops platforms
Andrew Clay Shafer
Senior Director of Technology
Andrew Clay Shafer
Andrew Clay Shafer
@littleidea
EMC Federation
Rules Everything
Around me
devops,
platforms,
and devops platforms
wat
start with definitions?
everyone has a platform
just kidding
we’ll come back to that
start with a story
start with my story
how did that happen?
Previously…
The power of automation!!!
automation at scale
turning the pages
I’m sure some of you
have lived this too
maybe you didn’t
(maybe you are about to)
this scenario played
out over and over
everyone trying to
solve similar problems
everyone making
similar mistakes
what you automate is just as
important as the fact you do
technology can resist automation
day 2 matters
the architecture matters
please quit building installers
please quit building
brittle clever solutions
please quit building stuff that
will predictably explode
Typical Day at Work
maybe you like being a hero?
maybe your co-worker does?
Operations is the secret sauce configuration
paying interest on technical debt
paying interest on automation debt
architecture debt
process debt
everyone
over
and over
and over
WHERE IS YOUR DEVOPS NOW?
there has to be a better way
let’s rewind to definitions
What is devops?
I wrote a blog post.
March 2010
devops
• developers and operations can
and should work together
• system administration evolving to
look more like software
development
• evolving together as global
community sharing solutions
devops - calms
• culture
• automation
• lean
• metrics
• sharing
What is a platform?
Everyone has a platform…
might be the one guy who runs scripts
might be a bunch of configuration management
might be a public PaaS
if you can deploy and operate code
in any capacity, you have a platform
maybe not be very good one
who cares about the word…
what about success?
‘devops actualized’ represent patterns
that emerged in high performing
organizations that deliver highly available
applications continuously at scale
devops,
platforms,
continuous delivery,
microservices…
These things
are all one…
faster and safer
BLAH BLAH BLAH BLAH
OODA LOOP
SMALL BATCHES
from now on, I’m going to call all
that together… ‘Cloud Native’
what would cloud natives do?
wwcnd
Amazon, a bookstore in Seattle, deploys
code to production every 11 seconds…
1 second
–Werner Vogels, CTO Amazon
“The traditional model is that you take your software to the wall
that separates development and operations, and throw it over
and then forget about it. Not at Amazon. You build it, you run it.
This brings developers into contact with the day-to-day
operation of their software. It also brings them into day-to-day
contact with the customer. This customer feedback loop is
essential for improving the quality of the service.”
Adrian Cockroft - ex-Netflix
What I learned from my time at Netflix.
Netflix Lessons
• Speed wins in the marketplace
• Remove friction from product development
• High trust, low process, no hand-offs between teams
• Freedom and responsibility culture
• Don’t do your own undifferentiated heavy lifting
• use simple patterns automated by tooling
• self service cloud makes impossible things instant
Principles > Practices >Tools
why > what
Netflix Lessons
• Speed wins in the marketplace
• Remove friction from product development
• High trust, low process, no hand-offs between teams
• Freedom and responsibility culture
• Don’t do your own undifferentiated heavy lifting
• use simple patterns automated by tooling
• self service cloud makes impossible things instant
Netflix built a platform to enable
self service deployment
Netflix built a platform to deploy
and operate microservices
Netflix built a platform to
continuously deliver software
Netflix built a platform that could
protect itself from failure
What Netflix did not do is build a platform
for general ad-hoc automation…
Constraints are the contract that
allows a platform to keep
promises.
Everyone has a platform.
What promises can
your platform keep?
SLAs
we promise
Pivotal Cloud Foundry
promises starts at the API
•current_vm_id
•create_stemcell
•delete_stemcell
•create_vm
•delete_vm
•has_vm?
•reboot_vm
•set_vm_metadata
•configure_networks
•create_disk
•delete_disk
•attach_disk
•snapshot_disk
•delete_snapshot
•detach_disk
•get_disks
Cloud Provider Interface
Cloud Native Infrastructure Automation
CPI
need to manage a large distributed system
• deployment
• configuration changes
• updates/upgrades - minimal downtime
• health checks and remediation
• scale out/scale in
• across multiple IaaS
Everything as a Service
Now that we have a tool chain for
release engineering, deployment,
and lifecycle management of large-
scale distributed services…
What should we do with it?
deploy a self-service self-healing
container scheduler, of course!
routers
Linux
LinuxLinux
Containers
message bus
cloud controller
loggregators
controller DB
etcd
hm9000
metrics firehose
UAA
login
Cloud Foundry Elastic Runtime
service
brokers
object
store
stagers
Cloud Native Runtime Platform
Cloud Native Infrastructure Automation
CPI
BOSH release
• role based access to resources
• run code on demand
• coordinate cross service
configurations
• route public requests
• read and write persistent data
• add and remove resources
• record internal and external
events
• isolate resources and failures
• measure performance/health
• detect and determine failure
(plan & provoke failure)
• recover failures
• work tomorrow
What problems does it solve?
12 Factor Ops
your pipeline to continuously
deliver microservices is ready
(and win buzzword bingo)
ask me about distributed
runtime configuration, service
discovery, and circuit breakers
the patterns proven successful
building and operating highly
available systems with predictable
scaling and failure characteristics
Cloud Native Runtime Platform
Cloud Native Infrastructure Automation
Cloud Native Application Framework
CPI
BOSH release
12 Factor
Cloud Native Contracts
structured contracts
determine the promises a
platform can keep
simple patterns
automated by tooling
simple patterns
automated by tooling
simple patterns
automated by tooling
This is the
cloud native
advantage
This is what helps
organizations move
quickly at scale
Conway’s Law Rules Everything Around You
Motivated to change the relationship
between people and the computers
I never set out to DO devops.
actually, needed to change the
relationship between people and people
no one originally set out to do devops,
continuous delivery, microservices, or
platforms these were natural consequences
don’t fixate on the words, fixate on the outcomes
if you want to align people in your
organization, think about the
interfaces, look at the promises they
make and keep with each other.
Use tools and simple
patterns to make doing the
right thing the easy thing
can you keep promises?
DO YOU KEEP PROMISES
DOES YOUR PLATFORM
HELP YOU KEEP PROMISES?
Thank You
@littleidea
We are uncovering better ways of developing software,
by doing it and helping others do it

devops, platforms and devops platforms