Cloud Native Future

125
your cloud native future Andrew Clay Shafer

Transcript of Cloud Native Future

Page 1: Cloud Native Future

your cloud native futureAndrew Clay Shafer

Page 2: Cloud Native Future
Page 3: Cloud Native Future

you have to be serious

Page 4: Cloud Native Future

you can’t be so irreverent

Page 5: Cloud Native Future

do you have to be so serious?

Page 6: Cloud Native Future

you are a zealot

Page 7: Cloud Native Future
Page 8: Cloud Native Future
Page 9: Cloud Native Future
Page 10: Cloud Native Future

Humans are allergic to change. They love to say, "We've always done it this way." I try to fight that.

Page 11: Cloud Native Future

It is not necessary to change. Survival is not mandatory.

- W. Edwards Deming

Page 12: Cloud Native Future

Andrew Clay Shafer

Page 13: Cloud Native Future

Andrew Clay Shafer

@littleidea

Page 14: Cloud Native Future

Andrew Clay Shafer

@littleidea

Page 15: Cloud Native Future

@littleidea

Page 16: Cloud Native Future

software is eating the world

Page 17: Cloud Native Future

insurmountable opportunity

Page 18: Cloud Native Future

transform human experience

Page 19: Cloud Native Future

transform human performance

Page 20: Cloud Native Future

you are building a software business

or losing to someone who is

Page 21: Cloud Native Future

you are building software

or losing to someone who is

Page 22: Cloud Native Future

talks I am not giving today…

Page 23: Cloud Native Future

devops, managing complex systems at scale

Page 24: Cloud Native Future

building for failure and MTTR

Page 25: Cloud Native Future

configuration services, service discovery, and circuit breakers

Page 26: Cloud Native Future

continuous delivery, microservices and you

Page 27: Cloud Native Future

faster and safer

BLAH BLAH BLAH BLAH

OODA LOOP

SMALL BATCHES

Page 28: Cloud Native Future

three stone cutters walk into a Pareto Inefficient Nash Equilibrium

Page 29: Cloud Native Future

Three Stone CuttersWhat do you do?

Page 30: Cloud Native Future

I get paid to cut stones

Page 31: Cloud Native Future

I am an expert craftsmen.

Page 32: Cloud Native Future
Page 33: Cloud Native Future

I build cathedrals.

Page 34: Cloud Native Future

In Conclusion…

Page 35: Cloud Native Future

you are building a learning organization

or losing to someone who is

Page 36: Cloud Native Future

Software is Eating the World

Page 37: Cloud Native Future

BSSoftware just all of a sudden got hungry?

Page 38: Cloud Native Future

what is disrupting everything are the experiences being created

Page 39: Cloud Native Future

super computers in every pocket connected to each other

and all human knowledge by high speed networks

Page 40: Cloud Native Future

every aspect of human performance and experience that can be optimized

will be

Page 41: Cloud Native Future

what is the solution?

Page 42: Cloud Native Future

let’s talk about #winning

Page 43: Cloud Native Future

tale of two software projects

Page 44: Cloud Native Future
Page 45: Cloud Native Future
Page 46: Cloud Native Future
Page 47: Cloud Native Future

It was supposed to be a "killer app," but a system deployed to volunteers by Mitt Romney's presidential campaign may have

done more harm to Romney's chances on Election Day

Page 48: Cloud Native Future

Aurich Lawson / Thinkstock

Page 49: Cloud Native Future

if you don’t experiment before putting things into production

production is always an experiment

Page 50: Cloud Native Future

might have lost the election

Page 51: Cloud Native Future

but Harper is an unicorn, we don’t have the talent

Page 52: Cloud Native Future

“Netflix hired them from you, and got out of their way.”

Page 53: Cloud Native Future

Principles > Practices >Tools

Page 54: Cloud Native Future

why > what

Page 55: Cloud Native Future

success and failure are correlated with learning

Page 56: Cloud Native Future

software is creating experiences

Page 57: Cloud Native Future

software is creative

Page 58: Cloud Native Future

software is complex

Page 59: Cloud Native Future

software is prone to failure

Page 60: Cloud Native Future

software is not digging ditches

Page 61: Cloud Native Future

software is closer to art than science

Page 62: Cloud Native Future

software is a socio-technical evolution of our capabilities

Page 63: Cloud Native Future

to succeed at software you need the capacity to create

Page 64: Cloud Native Future

to succeed at software you need to be willing to fail

Page 65: Cloud Native Future

you are building a learning organization

or losing to someone who is

Page 66: Cloud Native Future

you haven’t learned anything until you change your behavior

Page 67: Cloud Native Future

devops, platforms, continuous delivery, microservices…

Page 68: Cloud Native Future

These things are all one…

Page 69: Cloud Native Future

same patterns emerged in high performing organizations that

deliver highly available applications continuously at scale

Page 70: Cloud Native Future

from now on, I’m going to call all that together… ‘Cloud Native’

Page 71: Cloud Native Future

–Leo Devops Tolstoy

“All happy applications are alike; each unhappy application is unhappy in its own way.”

Page 72: Cloud Native Future

what would cloud natives do?

wwcnd

Page 73: Cloud Native Future

Amazon, a bookstore in Seattle, deploys code to production every 11 seconds…

1 second

Page 74: Cloud Native Future

–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.”

Page 75: Cloud Native Future

Adrian Cockroft - ex-Netflix

What I learned from my time at Netflix.

Page 76: Cloud Native Future

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

Page 77: Cloud Native Future

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

Page 78: Cloud Native Future

Netflix built a platform to enable self service deployment

Page 79: Cloud Native Future

Netflix built a platform to deploy and operate microservices

Page 80: Cloud Native Future

Netflix built a platform to continuously deliver software

Page 81: Cloud Native Future

Netflix built a platform that could protect itself from failure

Page 82: Cloud Native Future

What Netflix did not do is build a platform for general ad-hoc automation…

Page 83: Cloud Native Future

Constraints are the contract that allows a platform to keep promises.

Page 84: Cloud Native Future

Everyone has a platform.

What promises can your platform keep?

Page 85: Cloud Native Future

Cloud Foundry promises starts at the API

Page 86: Cloud Native Future

API all the things

Page 87: Cloud Native Future

•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

Page 88: Cloud Native Future

Cloud Native Infrastructure Automation

CPI

Page 89: Cloud Native Future

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

Page 90: Cloud Native Future

Everything as a Service

Page 91: Cloud Native Future

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?

Page 92: Cloud Native Future

deploy a self-service self-healing container scheduler, of course!

Page 93: Cloud Native Future

routers

LinuxLinuxLinux Containers

message bus

cloud controller

loggregators

controller DB

etcd

hm9000

metrics firehose

UAA

login

Cloud Foundry Elastic Runtime

service brokers

object store

stagers

Page 94: Cloud Native Future

Cloud Native Runtime Platform

Cloud Native Infrastructure Automation

CPI

BOSH release

Page 95: Cloud Native Future

• 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?

Page 96: Cloud Native Future

12 Factor Ops

Page 97: Cloud Native Future

your pipeline to continuously deliver microservices is ready

(and win buzzword bingo)

Page 98: Cloud Native Future

cloud native application: • 12 factor contract • composable • discoverable • fault tolerant

Page 99: Cloud Native Future

•I. Codebase

•II. Dependencies

•III. Config

•IV. Backing Services

• Build, release, run

•VI. Processes

•VII. Port binding

•VIII. Concurrency

•IX. Disposability

•X. Dev/prod parity

•XI. Logs

•XII. Admin processes

Page 100: Cloud Native Future

‘boot’ makes microservices easy

‘cloud’ provides composable patterns

Page 101: Cloud Native Future

• configuration service • service registry • service discovery • client load balancing • circuit breaker • micro-proxy • api gateways

Page 102: Cloud Native Future

If you are one of those people who like to read books…

Page 103: Cloud Native Future

The Stories We Tell

Page 104: Cloud Native Future

the patterns proven successful building and operating highly

available systems with predictable scaling and failure characteristics

Page 105: Cloud Native Future

Cloud Native Runtime Platform

Cloud Native Infrastructure Automation

Cloud Native Application Framework

CPI

BOSH release

12 Factor

Cloud Native Contracts

Page 106: Cloud Native Future

structured contracts determine the promises a

platform can keep

Page 107: Cloud Native Future

simple patterns automated by tooling

Page 108: Cloud Native Future

simple patterns automated by tooling

Page 109: Cloud Native Future

simple patterns automated by tooling

Page 110: Cloud Native Future

Use tools and simple patterns to make doing the right thing the easy thing

Page 111: Cloud Native Future

high trust, low process, no hand-offs between teams

freedom and responsibility

Page 112: Cloud Native Future

Cloud Native Runtime Platform

Cloud Native Infrastructure Automation

Cloud Native Application Framework

CPI

BOSH release

12 Factor

Cloud Native Contracts

Cloud Native Culture

Page 113: Cloud Native Future

how many put as much effort into designing their culture as they do their applications and systems?

Page 114: Cloud Native Future

This is the cloud native advantage

Page 115: Cloud Native Future

This is what helps organizations move

quickly at scale

Page 116: Cloud Native Future

Motivated to change the relationship between people and the computers

I never set out to DO devops.

Page 117: Cloud Native Future

actually, needed to change the relationship between people and people

Page 118: Cloud Native Future

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

Page 119: Cloud Native Future

if you want to align people in your organization, think about the

interfaces, look at the promises they make and keep with each other.

Page 120: Cloud Native Future

what do you do?

Page 121: Cloud Native Future

I build the future

Page 122: Cloud Native Future

and so can you

Page 123: Cloud Native Future

the future is already here it’s just not evenly distributed

- William Gibson

Page 124: Cloud Native Future

Thank You

@littleidea

Page 125: Cloud Native Future

We are uncovering better ways of developing software, by doing it and helping others do it