achieving velocity - oliver wyman...kubernetes, docker, terraform, & more • our entire system...

49
Achieving Velocity Alexis Richardson CEO, Weaveworks TOC Chair, CNCF @monadic March 2018

Upload: others

Post on 20-May-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Achieving Velocity

Alexis RichardsonCEO, Weaveworks TOC Chair, CNCF@monadic

March 2018

Page 2: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Velocity requires..

Developers

Platforms based on components

Abstractions for higher order products

GitOps Practices for many deployments per day

Cloud Native Tools

Page 3: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Developers

Page 4: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

If you can merge a pull request, then you are a developer

Page 5: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

100mDevelopers on GitHub in 2027

15%

Page 6: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Meet Finnian. He is 17.

Page 7: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full
Page 8: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full
Page 9: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full
Page 10: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full
Page 11: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full
Page 12: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full
Page 13: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Serverless...

Page 14: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

“One of the most impressive things I saw during DockerCon was the OpenFaaS project…I was blown away by the simplicity of OpenFaaS”

CTO Advisor, 19 Oct 2017

Page 15: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full
Page 16: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Platforms & Componentization

Page 17: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Awesome Herb Simon quote

Page 18: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full
Page 19: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Who wants to build a toaster?

Page 20: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

When the components may be combined to create a platform, higher order systems emerge at rapid and accelerating speed

Page 21: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Platforms→Speed

Page 22: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Abstraction is necessary for productivity

• Explosion of higher order systems• Lower barriers to entry• New ways of working cloud leads to devops cloud native leads to gitops

Page 23: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

ServerlessMachine LearningWebDataIoT…..and more to come…..

Page 24: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

GitOps is the Practice

Page 25: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

GitOps is the Practice

Page 26: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Confidential do not distribute

High Performance Teams

26

High-performing teams deploy more frequently and have

much faster lead times

They make changes with fewerfailures, and recover faster

from failures

200x more frequentdeployments

2,555x shorter leadtimes

3x lowerchange failure rate

24x fasterrecovery from failures

200x2,555x 3x

24x

Source: 2016 State of DevOps Report (Puppet Labs)

Page 27: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Meet Qordoba

● SF based team use machine learning to create ”local” marketing UX for big brands

● Rapid iteration while obeying SOC2 compliance

● Google Cloud – Kubernetes Engine & Container Builder

● Weave Cloud – GitOps

Page 28: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Confidential do not distribute

GitOps: The Effect of moving to 30+ deployments per day per team

1) Estimated time needed to fix prod software bugs ~60% less time after using Weave Cloud

2) Estimated time to respond to customer requests ~43% less time after using Weave Cloud

3) Uptime last month 100% before Weave was 99%

Customer tools: Jenkins, GKE and Weave Cloud. Apps: web, ML.

28

Page 29: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

ONLY what can be described and observed can be automated and controlled and accelerated

Page 30: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

• Config is code

• Code must be version controlled

• Config must be version controlled too

GitOps follows the Logic of DevOps

Page 31: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

GitOps follows the Logic of DevOps

• Config is code

• Code must be version controlled

• Config must be version controlled too

• What can be described can be automated

• Describe everything: code, config, monitoring & policy; and then keep it in version control; and use Cont Delivery

Page 32: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Before After

Page 33: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

• We use declarative infrastructure ie. Kubernetes, Docker, Terraform, & more

• Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full audit trail

• We can roll our major or minor changes as pull requests, and automatically check for diffs if system diverges from the desired “source of truth” in Git

How did Weaveworks rebuild our systems in 45 mins?

Page 34: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Kubernetes

MonitoringTracing

Logging…

Control & Operations

Git Diff

GitOps lifecycle

Observe

Orient

Decide

Act

Release

Page 35: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Confidential do not distribute

Weave Cloud

Increment any Kubernetes with Management, Devops & Monitoring

Leading tool for GitOps - zero effort from code to production

Works OOTB with Kops & any validated Kubernetes service

35

Page 36: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Confidential do not distribute

Weave Cloud

36

Page 37: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Confidential do not distribute

Weave Cloud

37

Page 38: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Confidential do not distribute

Weave Cloud

38

Page 39: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Cloud Native Tools

Standard Components for the Platform

Page 40: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

1. Evolution of Cloud to meet real large scale enterprise needsa. Choice of providers (AWS/GCP/Azure/..) b. Build to scale using automated operationsc. Easy access to new services eg AI/ML

2. Enabling much higher velocity product innovation via small joined-up teams using continuous, iterative DevOps practices

3. Creating new products and customer experiences via biggest industry ‘tectonic shift’ since Web commerce in 1990s

What is Cloud Native

40

Page 41: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Today the Linux Foundation is much more than Linux

We are helping global privacy and security

through a program to encrypt the

entire internet.

Security NetworkingWe are creating

ecosystems around networking to

improve agility in the evolving

software-defined datacenter.

CloudWe are creating a portability layer for

the cloud, driving de facto standards and

developing the orchestration layer

for all clouds.

AutomotiveWe are creating the

platform for infotainment in the auto industry that can be expanded

into instrument clusters and

telematics systems.

BlockchainWe are creating a permanent, secure distributed ledger

that makes it easier to create

cost-efficient, decentralized

business networks.

We are regularly adding projects; for the most up-to-date listing of all projects visit tlfprojects.org

41

WebWe are providing the

application development

framework for next generation web, mobile, serverless,

and IoT applications.

Page 42: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

ContainersCloud Native

From Virtualization to Cloud Native

42

•Cloud native computing uses an open source software stack to:– segment applications into microservices,– package each part into its own container– and dynamically orchestrate those containers

to optimize resource utilization

Open Source

IaaSPaaS

Open Source

PaaSVirtualiza-

tion

2000 2001 2006 2009 2010 2011

Non-VirtualizedHardware

2013 2015

IaaS

42

Page 43: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Cloud Native Trail Map (1)

43

Page 44: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Cloud Native Trail Map (2)

44

Page 45: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Platinum Members

45

190+ Members and Growing

End User Supporters

Gold Members

End User Members Academic/Nonprofit

Page 46: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

46

190+ Members and Growing (silver, 1)Silver Members

Page 47: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

47

190+ Members and Growing (silver, 2)Silver Members

Page 48: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

Cloud Native Computing Foundation

• Non-profit, part of the Linux Foundation– Founded December 2015

48

• Platinum members:

Orchestration

Incubating Sandbox

Service Mesh

Storage

Graduated

Networking API

Service DiscoveryDistributed Tracing

Service Mesh

Software Update Spec

StorageSecurity

Logging Remote Procedure Call

Monitoring Container Runtime

Distributed Tracing API

Container Runtime

Messaging

Page 49: Achieving Velocity - Oliver Wyman...Kubernetes, Docker, Terraform, & more • Our entire system including code, config, monitoring rules, dashboards, is described in GitHub with full

https://www.cncf.io/blog/2017/06/05/30-highest-velocity-open-source-projects

49

30 Highest Velocity Open Source Projects

2016-11 to 2017-10

Commits