SlideShare a Scribd company logo
Creating an Effective Developer
Experience on Kubernetes
Daniel Bryant
@danielbryantuk | @datawireio
tl;dr
The developer experience is primarily about minimising the friction from idea to
code to delivering observable business value
How you construct your ‘platform’ impacts the developer experience greatly
High productivity (and fun) comes from intentionally designing experience of: local
development, packaging apps, CI/CD, deployment control, and observability
@danielbryantuk
Independent Technical Consultant, Product Architect at Datawire
Previously: Academic, software developer (from startups to gov),
consultant, CTO, trainer, conference tourist...
Leading change through technology and teams
DevEx 101
DevEx...
...reducing engineering friction between creating a hypothesis to delivering an
observable experiment (or value) in production
- Adrian Trenaman (SVP Engineering, HBC)
https://www.infoq.com/news/2017/07/remove-friction-dev-ex
DevEx: DevOps, Lean, and UX
DevEx and
Workflow
The Ideal Workflow
https://speakerdeck.com/stilkov/microservices-patterns-and-antipatterns-1
The Platform
Drives DevEx
https://twitter.com/kelseyhightower/status/851935087532945409
https://www.infoq.com/news/2017/06/paved-paas-netflix
https://www.infoq.com/news/2018/07/shopify-kubernetes-paas
Should I Build a
PaaS on k8s?
Key Questions to Ask...
Develop and test services locally, or
within the cluster (or both)?
● Working locally has many advantages
○ Reduce ops cost of multi-cluster
● Some want to maintain minimal local
development envs
○ Or hide Docker/k8s from devs
● Local/remote container dev tools like
Telepresence and Squash allow hybrid
How quick do you need user feedback?
● Canary testing is very powerful
○ As is developing in prod and shadowing
○ K8s tools like Istio & Ambassador enable this
● Needs app and platform support
● Some teams can be nervous about
testing in production (quite rightly!)
Do you want to implement “guide rails”
for your development teams?
● Larger teams often want to provide
comprehensive guide rails
● Startups and SMEs may instead value
team independence
○ #YOLO
● Hybrid? Offer platform, but allow service
teams freedom and responsibility
https://blog.openshift.com/multiple-deployment-methods-openshift/
Workflow
Tooling and
Techniques
Pattern: K8s as a Foundation
● Kubernetes becoming de facto CoaaS (the new cloud broker?)
○ Lots of hosted options
● Highly extensible
○ Custom Controllers
○ Operators
○ CloudBuddies
● Extension enables custom workflow
○ “Kubernetes Custom Resource, Controller and Operator Development Tools”
DIY K8s? What About Vendor Lock-in?
“Engineers go to great lengths to
avoid vendor lock-in. The irony is that
in doing so, they often become their
own vendor... with just as
troublesome behaviour and rules”
- Paraphrasing Adrian Cockcroft
https://www.battery.com/powered/%EF%BB%BFwho-doesnt-like-lock-in/
● Draft
○ Automates “inner loop” build-push-deploy
○ Utilises Helm
● Gitkube
○ Automates build-push-deploy
○ Provides heroku / CF like experience
● Skaffold
○ Automates build-push-deploy
○ Watches source code
○ Provides “dev” and “run” (CD) modes
● Telepresence (*)
○ Enables local-to-prod development
Pattern: Automate Inner Dev Loop
● Helm (*)
○ Package manager for k8s
○ Deploy and manage (ready-made) charts
● Ksonnet
○ Define k8s manifests in jsonnet
○ Create composable config/services
● Metaparticle
○ “Standard library for cloud native apps”
○ Language-specific binding
● Ballerina
○ “Microservice programming language”
○ Annotations for package and deploy
(*) CNCF projects
Pattern: Automate Inner Dev Loop
https://blog.hasura.io/draft-vs-gitkube-vs-helm-vs-
ksonnet-vs-metaparticle-vs-skaffold-f5aa9561f948
https://codeengineered.com/blog/2018/kuberne
tes-helm-related-tools/
Pattern: Envoy for Managing L7 Traffic
● Allows fine-grained deploy/release
● Enables real-time development in
production (with shadowing)
● Many control planes (for Envoy)
○ Ambassador
○ Gloo
○ Istio
Pattern: CI/CD Enforces Policy
● Make is easy to do the right thing
○ Self-service pipeline creations
○ Bake-in hooks/slots for platform functionality
● Testing of NFRs is vital
○ Security, Performance, Quality
● Post-pipeline: Run chaos tests to codify
properties and assert in production
https://www.slideshare.net/dbryant_uk/codemotion-rome-2018-continuous-d
elivery-with-containers-the-good-the-bad-and-the-ugly
Pattern: Observability > Testing
● Essential part of the platform and developer
workflow/experience
○ Monitoring, logging and tracing
○ Bake-in hooks to scaffolding
● Global/service dashboards
● “Observability and Avoiding Alert Overload
from Microservices at the Financial Times”
Conclusion
In Summary
The developer experience is primarily about minimising the friction from idea to
code to delivering observable business value
How you construct your ‘platform’ impacts the developer experience greatly
You must intentionally curate the experience of: local development, packaging
apps, CI/CD, deployment control, and observability
Thanks for Listening!
Questions, comments, thoughts…
db@datawire.io
@danielbryantuk
More info: dzone.com/articles/creating-a-positive-developer-experience-for-conta
datawire.io/what-is-cloud-native | getambassador.io | istio.io | telepresence.io,
prometheus.io | “Kubernetes Up and Running”

More Related Content

PDF
CloudNativeLondon 2018: "In Search of the Perfect Cloud Native Developer Expe...
PDF
SACON NY 19: "Creating an effective developer experience for cloud-native apps"
PDF
microXchg 2019: "Creating an Effective Developer Experience for Cloud-Native ...
PPTX
jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"
PPTX
Continuous Delivery with Containers: The Good, the Bad, and the Ugly
PDF
Workday "Creating an Effective Developer Experience on Kubernetes"
PDF
CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"
PDF
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
CloudNativeLondon 2018: "In Search of the Perfect Cloud Native Developer Expe...
SACON NY 19: "Creating an effective developer experience for cloud-native apps"
microXchg 2019: "Creating an Effective Developer Experience for Cloud-Native ...
jSpring 2018 "Continuous Delivery Patterns for Modern Architectures and Java"
Continuous Delivery with Containers: The Good, the Bad, and the Ugly
Workday "Creating an Effective Developer Experience on Kubernetes"
CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...

What's hot (20)

PPTX
JAX DevOps 2019: "Creating an Effective Developer Experience for Cloud-native...
PPTX
[Konveyor] roles & processes that make application modernization projects...
PDF
Knative makes Developers Incredible on Serverless
PPTX
[Konveyor] introduction to cloud native chaos engineering with litmus chaos (1)
PDF
Next ’19 的 Istio 場次 重點摘要
PDF
OWASP Juice Shop 5.x and beyond
PDF
QtWS15 Revolutionizing Automotive with Qt
PDF
Reshaping Enterprise Architecture
PDF
賣 K8s 的人不敢告訴你的事 (Secrets that K8s vendors won't tell you)
PDF
The Twelve Factor App
PPTX
Pat Gelsinger, James Watters, Cornelia Davis at SpringOne Platform 2019
PDF
Continuous Deployment for Staging and Production Environments
PPTX
Pat Gelsinger, James Watters, Cornelia Davis at SpringOne Platform 2019
PDF
Cloud Native Development for Continuous Integration with IBM Wazi
PDF
RHTE 2016 - Get your App Dev on in the Cloud
PPTX
Painless containerization in your very own private Cloud
PDF
PKS is Not JAK8sP (Just Another Kubernetes Platform)
PDF
Using the Carbon Architecture to Build a Fit-for-Purpose Platform
PDF
Managing serverless workloads with knative
PPTX
SFDC Seamless Deployment Techniques
JAX DevOps 2019: "Creating an Effective Developer Experience for Cloud-native...
[Konveyor] roles & processes that make application modernization projects...
Knative makes Developers Incredible on Serverless
[Konveyor] introduction to cloud native chaos engineering with litmus chaos (1)
Next ’19 的 Istio 場次 重點摘要
OWASP Juice Shop 5.x and beyond
QtWS15 Revolutionizing Automotive with Qt
Reshaping Enterprise Architecture
賣 K8s 的人不敢告訴你的事 (Secrets that K8s vendors won't tell you)
The Twelve Factor App
Pat Gelsinger, James Watters, Cornelia Davis at SpringOne Platform 2019
Continuous Deployment for Staging and Production Environments
Pat Gelsinger, James Watters, Cornelia Davis at SpringOne Platform 2019
Cloud Native Development for Continuous Integration with IBM Wazi
RHTE 2016 - Get your App Dev on in the Cloud
Painless containerization in your very own private Cloud
PKS is Not JAK8sP (Just Another Kubernetes Platform)
Using the Carbon Architecture to Build a Fit-for-Purpose Platform
Managing serverless workloads with knative
SFDC Seamless Deployment Techniques
Ad

Similar to Velocity NY 2018 "The Cloud Native Developer Workflow" (20)

PPTX
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"
PDF
Efficient platform engineering with Microk8s & gopaddle.pdf
PDF
WSO2Con2024 - Hello Choreo Presentation - Kanchana
PPSX
The Future of Platform Engineering
PPTX
Anypoint Tools and MuleSoft Automation (DRAFT).pptx
PPTX
MuleSoft Meetup #9 - Anypoint Tools and MuleSoft Automation (FINAL).pptx
PDF
2024-05-30_meetup_devops_aix-marseille.pdf
PDF
Tampere Docker meetup - Happy 5th Birthday Docker
PDF
Migliorare la Developer Experience in un mondo Cloud Native
PPTX
KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
PDF
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
PDF
DevOps-Roadmap
PDF
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
PDF
Platform Engineering
PDF
Choreo: Empowering the Future of Enterprise Software Engineering
PDF
Promise of DevOps
PPTX
Containers and the Docker EE Difference and usecases
PPTX
Bahrain ch9 introduction to docker 5th birthday
PPTX
Micro Front-End & Microservices - Plansoft
PDF
Bring-your-ML-Project-into-Production-v2.pdf
muCon 2019: "Creating an Effective Developer Experience for Cloud-Native Apps"
Efficient platform engineering with Microk8s & gopaddle.pdf
WSO2Con2024 - Hello Choreo Presentation - Kanchana
The Future of Platform Engineering
Anypoint Tools and MuleSoft Automation (DRAFT).pptx
MuleSoft Meetup #9 - Anypoint Tools and MuleSoft Automation (FINAL).pptx
2024-05-30_meetup_devops_aix-marseille.pdf
Tampere Docker meetup - Happy 5th Birthday Docker
Migliorare la Developer Experience in un mondo Cloud Native
KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
DevOps-Roadmap
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
Platform Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
Promise of DevOps
Containers and the Docker EE Difference and usecases
Bahrain ch9 introduction to docker 5th birthday
Micro Front-End & Microservices - Plansoft
Bring-your-ML-Project-into-Production-v2.pdf
Ad

More from Daniel Bryant (20)

PDF
ITKonekt 2023: The Busy Platform Engineers Guide to API Gateways
PDF
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...
PDF
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"
PDF
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...
PPTX
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
PDF
Fall 22: "From Kubernetes to PaaS to... err, what's next"
PDF
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
PDF
KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...
PDF
JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...
PDF
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
PDF
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
PDF
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
PDF
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
PDF
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
PDF
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
PDF
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
PDF
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
PDF
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
PPTX
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...
PDF
Ambassador Fest: "Kubernetes Workflow 101: The Big Picture of Idea to an API ...
ITKonekt 2023: The Busy Platform Engineers Guide to API Gateways
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
Fall 22: "From Kubernetes to PaaS to... err, what's next"
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...
JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...
Ambassador Fest: "Kubernetes Workflow 101: The Big Picture of Idea to an API ...

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPT
Teaching material agriculture food technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Cloud computing and distributed systems.
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Teaching material agriculture food technology
Dropbox Q2 2025 Financial Results & Investor Presentation
Advanced methodologies resolving dimensionality complications for autism neur...
Big Data Technologies - Introduction.pptx
Encapsulation_ Review paper, used for researhc scholars
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Programs and apps: productivity, graphics, security and other tools
Network Security Unit 5.pdf for BCA BBA.
Chapter 3 Spatial Domain Image Processing.pdf
Spectral efficient network and resource selection model in 5G networks
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Machine learning based COVID-19 study performance prediction
Understanding_Digital_Forensics_Presentation.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Cloud computing and distributed systems.

Velocity NY 2018 "The Cloud Native Developer Workflow"

  • 1. Creating an Effective Developer Experience on Kubernetes Daniel Bryant @danielbryantuk | @datawireio
  • 2. tl;dr The developer experience is primarily about minimising the friction from idea to code to delivering observable business value How you construct your ‘platform’ impacts the developer experience greatly High productivity (and fun) comes from intentionally designing experience of: local development, packaging apps, CI/CD, deployment control, and observability
  • 3. @danielbryantuk Independent Technical Consultant, Product Architect at Datawire Previously: Academic, software developer (from startups to gov), consultant, CTO, trainer, conference tourist... Leading change through technology and teams
  • 5. DevEx... ...reducing engineering friction between creating a hypothesis to delivering an observable experiment (or value) in production - Adrian Trenaman (SVP Engineering, HBC) https://www.infoq.com/news/2017/07/remove-friction-dev-ex
  • 13. Should I Build a PaaS on k8s?
  • 15. Develop and test services locally, or within the cluster (or both)? ● Working locally has many advantages ○ Reduce ops cost of multi-cluster ● Some want to maintain minimal local development envs ○ Or hide Docker/k8s from devs ● Local/remote container dev tools like Telepresence and Squash allow hybrid
  • 16. How quick do you need user feedback? ● Canary testing is very powerful ○ As is developing in prod and shadowing ○ K8s tools like Istio & Ambassador enable this ● Needs app and platform support ● Some teams can be nervous about testing in production (quite rightly!)
  • 17. Do you want to implement “guide rails” for your development teams? ● Larger teams often want to provide comprehensive guide rails ● Startups and SMEs may instead value team independence ○ #YOLO ● Hybrid? Offer platform, but allow service teams freedom and responsibility https://blog.openshift.com/multiple-deployment-methods-openshift/
  • 19. Pattern: K8s as a Foundation ● Kubernetes becoming de facto CoaaS (the new cloud broker?) ○ Lots of hosted options ● Highly extensible ○ Custom Controllers ○ Operators ○ CloudBuddies ● Extension enables custom workflow ○ “Kubernetes Custom Resource, Controller and Operator Development Tools”
  • 20. DIY K8s? What About Vendor Lock-in? “Engineers go to great lengths to avoid vendor lock-in. The irony is that in doing so, they often become their own vendor... with just as troublesome behaviour and rules” - Paraphrasing Adrian Cockcroft https://www.battery.com/powered/%EF%BB%BFwho-doesnt-like-lock-in/
  • 21. ● Draft ○ Automates “inner loop” build-push-deploy ○ Utilises Helm ● Gitkube ○ Automates build-push-deploy ○ Provides heroku / CF like experience ● Skaffold ○ Automates build-push-deploy ○ Watches source code ○ Provides “dev” and “run” (CD) modes ● Telepresence (*) ○ Enables local-to-prod development Pattern: Automate Inner Dev Loop ● Helm (*) ○ Package manager for k8s ○ Deploy and manage (ready-made) charts ● Ksonnet ○ Define k8s manifests in jsonnet ○ Create composable config/services ● Metaparticle ○ “Standard library for cloud native apps” ○ Language-specific binding ● Ballerina ○ “Microservice programming language” ○ Annotations for package and deploy (*) CNCF projects
  • 22. Pattern: Automate Inner Dev Loop https://blog.hasura.io/draft-vs-gitkube-vs-helm-vs- ksonnet-vs-metaparticle-vs-skaffold-f5aa9561f948 https://codeengineered.com/blog/2018/kuberne tes-helm-related-tools/
  • 23. Pattern: Envoy for Managing L7 Traffic ● Allows fine-grained deploy/release ● Enables real-time development in production (with shadowing) ● Many control planes (for Envoy) ○ Ambassador ○ Gloo ○ Istio
  • 24. Pattern: CI/CD Enforces Policy ● Make is easy to do the right thing ○ Self-service pipeline creations ○ Bake-in hooks/slots for platform functionality ● Testing of NFRs is vital ○ Security, Performance, Quality ● Post-pipeline: Run chaos tests to codify properties and assert in production https://www.slideshare.net/dbryant_uk/codemotion-rome-2018-continuous-d elivery-with-containers-the-good-the-bad-and-the-ugly
  • 25. Pattern: Observability > Testing ● Essential part of the platform and developer workflow/experience ○ Monitoring, logging and tracing ○ Bake-in hooks to scaffolding ● Global/service dashboards ● “Observability and Avoiding Alert Overload from Microservices at the Financial Times”
  • 27. In Summary The developer experience is primarily about minimising the friction from idea to code to delivering observable business value How you construct your ‘platform’ impacts the developer experience greatly You must intentionally curate the experience of: local development, packaging apps, CI/CD, deployment control, and observability
  • 28. Thanks for Listening! Questions, comments, thoughts… db@datawire.io @danielbryantuk More info: dzone.com/articles/creating-a-positive-developer-experience-for-conta datawire.io/what-is-cloud-native | getambassador.io | istio.io | telepresence.io, prometheus.io | “Kubernetes Up and Running”