achieving velocity - oliver wyman...kubernetes, docker, terraform, & more • our entire system...
TRANSCRIPT
Achieving Velocity
Alexis RichardsonCEO, Weaveworks TOC Chair, CNCF@monadic
March 2018
Velocity requires..
Developers
Platforms based on components
Abstractions for higher order products
GitOps Practices for many deployments per day
Cloud Native Tools
Developers
If you can merge a pull request, then you are a developer
100mDevelopers on GitHub in 2027
15%
Meet Finnian. He is 17.
Serverless...
“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
Platforms & Componentization
Awesome Herb Simon quote
Who wants to build a toaster?
When the components may be combined to create a platform, higher order systems emerge at rapid and accelerating speed
Platforms→Speed
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
ServerlessMachine LearningWebDataIoT…..and more to come…..
GitOps is the Practice
GitOps is the Practice
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)
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
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
ONLY what can be described and observed can be automated and controlled and accelerated
• Config is code
• Code must be version controlled
• Config must be version controlled too
GitOps follows the Logic of DevOps
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
Before After
• 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?
Kubernetes
MonitoringTracing
Logging…
Control & Operations
Git Diff
GitOps lifecycle
Observe
Orient
Decide
Act
Release
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
Confidential do not distribute
Weave Cloud
36
Confidential do not distribute
Weave Cloud
37
Confidential do not distribute
Weave Cloud
38
Cloud Native Tools
Standard Components for the Platform
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
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.
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
Cloud Native Trail Map (1)
43
Cloud Native Trail Map (2)
44
Platinum Members
45
190+ Members and Growing
End User Supporters
Gold Members
End User Members Academic/Nonprofit
46
190+ Members and Growing (silver, 1)Silver Members
47
190+ Members and Growing (silver, 2)Silver Members
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
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