SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
1
DeveloperFirstWorkflowsonKubernetes
(adoptingmicroservicestogofaster)
Richard Li
How do you ship better (cloud) software faster?
Microservices. (Multiple, asynchronous launches.)
4
Take the standard development process:
Code
(Dev)
Test
(QA)
Prod
(Ops)
Release
(Release)
Define
(Product)
5
… and make it distributed.
> No central release, test, dev cycle. Each person/team operates
an independent development process.
> Team needs to have the skills / knowledge to operate all
aspects of the development process.
Service A Service B Service C
6
Microservices is a distributed
development process for cloud-native
software.
> Not an architecture! Your architecture supports
the process, and not the other way around.
7
Howdoyouadoptadistributed
developmentprocess?
8
Startbycreatinganindependentprocess!
(withafrom-scratchAPIservice)
New
service
Monolith
independent process!!
(think spinning off a
developer or dev team)
9
1. Self-sufficiency. Each team needs to be self-sufficient in all aspects of
the development cycle to avoid bottlenecks.
2. Safety. Since it’s hard to be an expert in every area of the
development, need to insure an oops isn’t catastrophic.
Givethedeveloper/devteamtheabilitytoSUCCESSFULLY
operateindependently.
10
Wait!DoIhavetobuildthese
capabilitiesfromscratch?
11
• Massive community and ecosystem
• 14M Docker hosts
• 3300+ contributors
• Lots of third party tools
• Build, package, and deploy your
service (and dependencies!) in a
consistent way
12
• Massive community and ecosystem
• 789 companies, 2505 developers
• Google, Red Hat, Oracle, Microsoft
have embraced Kubernetes
• 62% of K8S are on AWS
• Mesosphere is embracing K8S on
DC/OS
• Kubernetes is the cloud POSIX …
not just a container scheduler
• Declarative definition of your cloud
infrastructure
13
• Fast growing community and
ecosystem
• Lyft, Google, IBM, Verizon, Yahoo,
Datawire …
• CNCF project
• Modern L7 proxy
• Designed for distributed cloud
architectures (global rate-limiting,
observability, circuit breakers, …)
• APIs for managing fleets of Envoy
proxies
14
1. Microservices is a distributed development workflow that
helps you go faster.
2. Start your microservices journey by building an efficient
workflow for your first services team, then your organization.
3. The Kubernetes ecosystem, Docker, and Envoy provide
the foundational components you need to build that
workflow.
15
Gettingstartedwithmicroservices,
usingKubernetes,Docker,andEnvoy.
5 Analyze metrics.
16
Prototyping
workflow
Production
workflow
Yourdeveloper-firstworkflowforbuilding1service.
1 Bootstrap the service.
2 Code.
3 Run your code (in a dev Kube cluster).
4 Deploy to production Kubernetes cluster.
17
Howdoyoumaximize
productivity?
SPEED.
(self sufficiency)
19
1 Bootstrap the service with a service template.
$ git clone $URL
todo/
Dockerfile # How do you build your code + container
k8s/ # How should Kubernetes run your service
tf/ # What non-Kubernetes resources need to be provisioned
app.py # stub for your application
service.yaml # Metadata about your service
Realism: How closely does
this mirror production?
Fast feedback cycle for
developers
Low setup and
maintenance cost for
developers
Scalability as your
application gets more
complex
Run entire system locally
Run business logic
locally, cloud resources
remote
Single service local, all
other services remote
All remote development
100% remote development100% local development
2 Code. Build a productive development environment.
Docker or
Minikube
Telepresence
+ Kubernetes
Kubernetes +
CI/CD
Set up local drivers
to cloud resources
21
3 Deploy to development Kubernetes cluster.
A
Build a container image that contains your code,
dependencies, and configuration, based on the Dockerfile.
B Tag the image.
C Push image to a container registry.
D Update Kubernetes manifest with tag.
docker build
docker tag
docker push
E Apply Kubernetes manifest to cluster.
Start with a Kubernetes manifest
template, and instantiate the image
tag (and other variables, too) into
the template.
kubectl apply
F Repeat for all dependencies.
e.g., other services
22
4 Deploy to production Kubernetes cluster.
A
Build a container image that contains your code,
dependencies, and configuration, based on the Dockerfile.
B Tag the image.
C Push image to a container registry.
D
Update Kubernetes manifest with production config data
and update Envoy configuration for canary routing.
Keep the same environment & deploy
process for dev/prod to eliminate
environmental differences.
E Apply Kubernetes manifest to cluster.
F Repeat for all dependencies, including Envoy.
Envoy deploys the same way as any
other service.
23
5 Analyze metrics.
A Deploy each service behind Envoy.
B
C Add additional service-specific metrics as appropriate.
Automatically measure L7 throughput, latency, and
availability for the service via Envoy.
D Collect metrics in Prometheus or equivalent.
24
Yourarchitecturefordistributeddevelopment.
EnvoyMonolith
Service
Auth
• Canary routing
• Authentication
• URL mapping
• L7 observability
Makingyourorganizationfaster.
Team A Team B Team C
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
26
1. Microservices is a distributed development workflow that
helps you go faster.
2. Start your microservices journey by building an efficient
workflow for your first services team, then your organization.
3. The Kubernetes ecosystem, Docker, and Envoy provide the
foundational components you need to build that workflow.
4. To maximize productivity, optimize the loop. Make your
workflow from source code to getting feedback as fast as
possible — which means self-sufficiency.
SAFETY.
28
Asample,multi-serviceapplication.
Envoy
Tasks
Search
Auth
29
<demo>
We have FEARLESSLY pushed a (buggy)
update into production!
31
1. Microservices is a distributed development workflow that
helps you go faster.
2. Start your microservices journey by building an efficient
workflow for your first services team, then your organization.
3. The Kubernetes ecosystem, Docker, and Envoy provide the
foundational components you need to build that workflow.
4. To maximize productivity, make your workflow from source
code to getting feedback as fast as possible.
5. An efficient workflow lets teams be safely self-sufficient —
letting them to move fast and not break things.
32
Thanks!
Feedback/questions: richard@datawire.io
Tutorial to do this yourself: http://www.datawire.io/guide/
development/fast-develop-deploy-canary-workflow/
Open source tools for developers on K8S: https://
www.datawire.io (Telepresence, Forge, Ambassador)
We’re hiring an OSS/C++ engineer to work on Envoy!

Contenu connexe

Tendances

Tendances (20)

DockerCon EU 2015: Placing a container on a train at 200mph
DockerCon EU 2015: Placing a container on a train at 200mphDockerCon EU 2015: Placing a container on a train at 200mph
DockerCon EU 2015: Placing a container on a train at 200mph
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of docker
 
DockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times NewsroomDockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times Newsroom
 
Kubernetes laravel and kubernetes
Kubernetes   laravel and kubernetesKubernetes   laravel and kubernetes
Kubernetes laravel and kubernetes
 
Docker, the Future of Distributed Applications | Docker Tour de France 2014
Docker, the Future of Distributed Applications | Docker Tour de France 2014Docker, the Future of Distributed Applications | Docker Tour de France 2014
Docker, the Future of Distributed Applications | Docker Tour de France 2014
 
Webinar: Code Faster on Kubernetes
Webinar: Code Faster on KubernetesWebinar: Code Faster on Kubernetes
Webinar: Code Faster on Kubernetes
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
DCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application PackagesDCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application Packages
 
DockerCon SF 2015: Ben Golub's Keynote Day 1
DockerCon SF 2015: Ben Golub's Keynote Day 1DockerCon SF 2015: Ben Golub's Keynote Day 1
DockerCon SF 2015: Ben Golub's Keynote Day 1
 
DCSF19 How To Build Your Containerization Strategy
DCSF19 How To Build Your Containerization Strategy  DCSF19 How To Build Your Containerization Strategy
DCSF19 How To Build Your Containerization Strategy
 
Continuous Delivery the Hard Way with Kubernetes
Continuous Delivery the Hard Way with Kubernetes Continuous Delivery the Hard Way with Kubernetes
Continuous Delivery the Hard Way with Kubernetes
 
How to Install and Use Kubernetes by Weaveworks
How to Install and Use Kubernetes by Weaveworks How to Install and Use Kubernetes by Weaveworks
How to Install and Use Kubernetes by Weaveworks
 
CI CD using Docker and Jenkins
CI CD  using Docker and JenkinsCI CD  using Docker and Jenkins
CI CD using Docker and Jenkins
 
Webinar: High velocity deployment with google cloud and weave cloud
Webinar: High velocity deployment with google cloud and weave cloudWebinar: High velocity deployment with google cloud and weave cloud
Webinar: High velocity deployment with google cloud and weave cloud
 
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & DeployOPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
 
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
Developer joy for distributed teams with CodeReady Workspaces | DevNation Tec...
 
Docker for any type of workload and any IT Infrastructure
Docker for any type of workload and any IT InfrastructureDocker for any type of workload and any IT Infrastructure
Docker for any type of workload and any IT Infrastructure
 
Running Kubernetes in Kubernetes
Running Kubernetes in KubernetesRunning Kubernetes in Kubernetes
Running Kubernetes in Kubernetes
 
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-ComposeTales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
Tales of Training: Scaling CodeLabs with Swarm Mode and Docker-Compose
 
DCEU 18: Docker Container Networking
DCEU 18: Docker Container NetworkingDCEU 18: Docker Container Networking
DCEU 18: Docker Container Networking
 

En vedette

Principles of microservices velocity
Principles of microservices   velocityPrinciples of microservices   velocity
Principles of microservices velocity
Sam Newman
 

En vedette (7)

Microservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCONMicroservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
 
Microservices: What's Missing - O'Reilly Software Architecture New York
Microservices: What's Missing - O'Reilly Software Architecture New YorkMicroservices: What's Missing - O'Reilly Software Architecture New York
Microservices: What's Missing - O'Reilly Software Architecture New York
 
Microservices, Kubernetes and Istio - A Great Fit!
Microservices, Kubernetes and Istio - A Great Fit!Microservices, Kubernetes and Istio - A Great Fit!
Microservices, Kubernetes and Istio - A Great Fit!
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
 
Microservices Workshop All Topics Deck 2016
Microservices Workshop All Topics Deck 2016Microservices Workshop All Topics Deck 2016
Microservices Workshop All Topics Deck 2016
 
Principles of microservices velocity
Principles of microservices   velocityPrinciples of microservices   velocity
Principles of microservices velocity
 
Top 5 Deep Learning and AI Stories - October 6, 2017
Top 5 Deep Learning and AI Stories - October 6, 2017Top 5 Deep Learning and AI Stories - October 6, 2017
Top 5 Deep Learning and AI Stories - October 6, 2017
 

Similaire à DevOps Days Boston 2017: Developer first workflows for Kubernetes

Meetup Devops-Geneva-19.10.2019
Meetup Devops-Geneva-19.10.2019Meetup Devops-Geneva-19.10.2019
Meetup Devops-Geneva-19.10.2019
Hidora
 

Similaire à DevOps Days Boston 2017: Developer first workflows for Kubernetes (20)

Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices
 
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
 
Azure DevOps in Action
Azure DevOps in ActionAzure DevOps in Action
Azure DevOps in Action
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
 
Tour of Azure DevOps
Tour of Azure DevOpsTour of Azure DevOps
Tour of Azure DevOps
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1
 
Code review automation and functional tests on Carrefour
Code review automation and functional tests on CarrefourCode review automation and functional tests on Carrefour
Code review automation and functional tests on Carrefour
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
How Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivityHow Azure DevOps can boost your organization's productivity
How Azure DevOps can boost your organization's productivity
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
 
DevOps demystified
DevOps demystifiedDevOps demystified
DevOps demystified
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
 
Meetup Devops-Geneva-19.10.2019
Meetup Devops-Geneva-19.10.2019Meetup Devops-Geneva-19.10.2019
Meetup Devops-Geneva-19.10.2019
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetes
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
DEVNET-1169 CI/CT/CD on a Micro Services Applications using Docker, Salt & Ni...
DEVNET-1169	CI/CT/CD on a Micro Services Applications using Docker, Salt & Ni...DEVNET-1169	CI/CT/CD on a Micro Services Applications using Docker, Salt & Ni...
DEVNET-1169 CI/CT/CD on a Micro Services Applications using Docker, Salt & Ni...
 

Plus de Ambassador Labs

[QCon London 2020] The Future of Cloud Native API Gateways - Richard Li
[QCon London 2020] The Future of Cloud Native API Gateways - Richard Li[QCon London 2020] The Future of Cloud Native API Gateways - Richard Li
[QCon London 2020] The Future of Cloud Native API Gateways - Richard Li
Ambassador Labs
 

Plus de Ambassador Labs (20)

Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
 
Ambassador Developer Office Hours: Summer of Kubernetes Ship Week 1: Intro to...
Ambassador Developer Office Hours: Summer of Kubernetes Ship Week 1: Intro to...Ambassador Developer Office Hours: Summer of Kubernetes Ship Week 1: Intro to...
Ambassador Developer Office Hours: Summer of Kubernetes Ship Week 1: Intro to...
 
Cloud native development without the toil
Cloud native development without the toilCloud native development without the toil
Cloud native development without the toil
 
Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services
Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services
Webinar: Accelerate Your Inner Dev Loop for Kubernetes Services
 
[Confoo Montreal 2020] From Grief to Growth: The 7 Stages of Observability - ...
[Confoo Montreal 2020] From Grief to Growth: The 7 Stages of Observability - ...[Confoo Montreal 2020] From Grief to Growth: The 7 Stages of Observability - ...
[Confoo Montreal 2020] From Grief to Growth: The 7 Stages of Observability - ...
 
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais
[Confoo Montreal 2020] Build Your Own Serverless with Knative - Alex Gervais
 
[QCon London 2020] The Future of Cloud Native API Gateways - Richard Li
[QCon London 2020] The Future of Cloud Native API Gateways - Richard Li[QCon London 2020] The Future of Cloud Native API Gateways - Richard Li
[QCon London 2020] The Future of Cloud Native API Gateways - Richard Li
 
What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0? What's New in the Ambassador Edge Stack 1.0?
What's New in the Ambassador Edge Stack 1.0?
 
Webinar: Effective Management of APIs and the Edge when Adopting Kubernetes
Webinar: Effective Management of APIs and the Edge when Adopting Kubernetes Webinar: Effective Management of APIs and the Edge when Adopting Kubernetes
Webinar: Effective Management of APIs and the Edge when Adopting Kubernetes
 
Ambassador: Building a Control Plane for Envoy
Ambassador: Building a Control Plane for Envoy Ambassador: Building a Control Plane for Envoy
Ambassador: Building a Control Plane for Envoy
 
Telepresence - Fast Development Workflows for Kubernetes
Telepresence - Fast Development Workflows for KubernetesTelepresence - Fast Development Workflows for Kubernetes
Telepresence - Fast Development Workflows for Kubernetes
 
[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...
[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...
[KubeCon NA 2018] Telepresence Deep Dive Session - Rafael Schloming & Luke Sh...
 
[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...
[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...
[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...
 
The rise of Layer 7, microservices, and the proxy war with Envoy, NGINX, and ...
The rise of Layer 7, microservices, and the proxy war with Envoy, NGINX, and ...The rise of Layer 7, microservices, and the proxy war with Envoy, NGINX, and ...
The rise of Layer 7, microservices, and the proxy war with Envoy, NGINX, and ...
 
The Simply Complex Task of Implementing Kubernetes Ingress - Velocity NYC
The Simply Complex Task of Implementing Kubernetes Ingress - Velocity NYCThe Simply Complex Task of Implementing Kubernetes Ingress - Velocity NYC
The Simply Complex Task of Implementing Kubernetes Ingress - Velocity NYC
 
Ambassador Kubernetes-Native API Gateway
Ambassador Kubernetes-Native API GatewayAmbassador Kubernetes-Native API Gateway
Ambassador Kubernetes-Native API Gateway
 
Micro xchg 2018 - What is a Service Mesh?
Micro xchg 2018 - What is a Service Mesh? Micro xchg 2018 - What is a Service Mesh?
Micro xchg 2018 - What is a Service Mesh?
 
QCon SF 2017 - Microservices: Service-Oriented Development
QCon SF 2017 - Microservices: Service-Oriented DevelopmentQCon SF 2017 - Microservices: Service-Oriented Development
QCon SF 2017 - Microservices: Service-Oriented Development
 
MA Microservices Meetup: Move fast and make things
MA Microservices Meetup: Move fast and make thingsMA Microservices Meetup: Move fast and make things
MA Microservices Meetup: Move fast and make things
 
2017 Microservices Practitioner Virtual Summit: The Mechanics of Deploying En...
2017 Microservices Practitioner Virtual Summit: The Mechanics of Deploying En...2017 Microservices Practitioner Virtual Summit: The Mechanics of Deploying En...
2017 Microservices Practitioner Virtual Summit: The Mechanics of Deploying En...
 

Dernier

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Dernier (20)

WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 

DevOps Days Boston 2017: Developer first workflows for Kubernetes

  • 2. How do you ship better (cloud) software faster?
  • 4. 4 Take the standard development process: Code (Dev) Test (QA) Prod (Ops) Release (Release) Define (Product)
  • 5. 5 … and make it distributed. > No central release, test, dev cycle. Each person/team operates an independent development process. > Team needs to have the skills / knowledge to operate all aspects of the development process. Service A Service B Service C
  • 6. 6 Microservices is a distributed development process for cloud-native software. > Not an architecture! Your architecture supports the process, and not the other way around.
  • 9. 9 1. Self-sufficiency. Each team needs to be self-sufficient in all aspects of the development cycle to avoid bottlenecks. 2. Safety. Since it’s hard to be an expert in every area of the development, need to insure an oops isn’t catastrophic. Givethedeveloper/devteamtheabilitytoSUCCESSFULLY operateindependently.
  • 11. 11 • Massive community and ecosystem • 14M Docker hosts • 3300+ contributors • Lots of third party tools • Build, package, and deploy your service (and dependencies!) in a consistent way
  • 12. 12 • Massive community and ecosystem • 789 companies, 2505 developers • Google, Red Hat, Oracle, Microsoft have embraced Kubernetes • 62% of K8S are on AWS • Mesosphere is embracing K8S on DC/OS • Kubernetes is the cloud POSIX … not just a container scheduler • Declarative definition of your cloud infrastructure
  • 13. 13 • Fast growing community and ecosystem • Lyft, Google, IBM, Verizon, Yahoo, Datawire … • CNCF project • Modern L7 proxy • Designed for distributed cloud architectures (global rate-limiting, observability, circuit breakers, …) • APIs for managing fleets of Envoy proxies
  • 14. 14 1. Microservices is a distributed development workflow that helps you go faster. 2. Start your microservices journey by building an efficient workflow for your first services team, then your organization. 3. The Kubernetes ecosystem, Docker, and Envoy provide the foundational components you need to build that workflow.
  • 16. 5 Analyze metrics. 16 Prototyping workflow Production workflow Yourdeveloper-firstworkflowforbuilding1service. 1 Bootstrap the service. 2 Code. 3 Run your code (in a dev Kube cluster). 4 Deploy to production Kubernetes cluster.
  • 19. 19 1 Bootstrap the service with a service template. $ git clone $URL todo/ Dockerfile # How do you build your code + container k8s/ # How should Kubernetes run your service tf/ # What non-Kubernetes resources need to be provisioned app.py # stub for your application service.yaml # Metadata about your service
  • 20. Realism: How closely does this mirror production? Fast feedback cycle for developers Low setup and maintenance cost for developers Scalability as your application gets more complex Run entire system locally Run business logic locally, cloud resources remote Single service local, all other services remote All remote development 100% remote development100% local development 2 Code. Build a productive development environment. Docker or Minikube Telepresence + Kubernetes Kubernetes + CI/CD Set up local drivers to cloud resources
  • 21. 21 3 Deploy to development Kubernetes cluster. A Build a container image that contains your code, dependencies, and configuration, based on the Dockerfile. B Tag the image. C Push image to a container registry. D Update Kubernetes manifest with tag. docker build docker tag docker push E Apply Kubernetes manifest to cluster. Start with a Kubernetes manifest template, and instantiate the image tag (and other variables, too) into the template. kubectl apply F Repeat for all dependencies. e.g., other services
  • 22. 22 4 Deploy to production Kubernetes cluster. A Build a container image that contains your code, dependencies, and configuration, based on the Dockerfile. B Tag the image. C Push image to a container registry. D Update Kubernetes manifest with production config data and update Envoy configuration for canary routing. Keep the same environment & deploy process for dev/prod to eliminate environmental differences. E Apply Kubernetes manifest to cluster. F Repeat for all dependencies, including Envoy. Envoy deploys the same way as any other service.
  • 23. 23 5 Analyze metrics. A Deploy each service behind Envoy. B C Add additional service-specific metrics as appropriate. Automatically measure L7 throughput, latency, and availability for the service via Envoy. D Collect metrics in Prometheus or equivalent.
  • 25. Makingyourorganizationfaster. Team A Team B Team C 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
  • 26. 26 1. Microservices is a distributed development workflow that helps you go faster. 2. Start your microservices journey by building an efficient workflow for your first services team, then your organization. 3. The Kubernetes ecosystem, Docker, and Envoy provide the foundational components you need to build that workflow. 4. To maximize productivity, optimize the loop. Make your workflow from source code to getting feedback as fast as possible — which means self-sufficiency.
  • 30. We have FEARLESSLY pushed a (buggy) update into production!
  • 31. 31 1. Microservices is a distributed development workflow that helps you go faster. 2. Start your microservices journey by building an efficient workflow for your first services team, then your organization. 3. The Kubernetes ecosystem, Docker, and Envoy provide the foundational components you need to build that workflow. 4. To maximize productivity, make your workflow from source code to getting feedback as fast as possible. 5. An efficient workflow lets teams be safely self-sufficient — letting them to move fast and not break things.
  • 32. 32 Thanks! Feedback/questions: richard@datawire.io Tutorial to do this yourself: http://www.datawire.io/guide/ development/fast-develop-deploy-canary-workflow/ Open source tools for developers on K8S: https:// www.datawire.io (Telepresence, Forge, Ambassador) We’re hiring an OSS/C++ engineer to work on Envoy!