SlideShare a Scribd company logo
Hybrid Development
Environments
David Kirk
What’re we talkin about?
- What’s the problem we’re trying to solve?
- What is a Hybrid Development Environment?
- How we’ve implemented it
- Practical considerations
About Me
- Started programming in Second Life
- 7 years fulltime - all DevOps
- d@vidkirk.com
What’s the Problem?
- Microservice Development
- Dozens of services
- Computational Overhead
- Software complexity grows faster than computational capability
- Cognitive Overhead
- “How do I run all these things?”
- Organizational Overhead
- Consistent Dev Environments
- Sharing work
Common Solutions
- Bare Metal
- Inconsistent across org
- Deploy complexity, or run a subset
- Compute constrained
- docker-compose
- Containerized, common deploy definition
- Complexity integrating into local development
- Not productionlike
What do we really want here?
- Simple to deploy
- Simple to maintain
- Consistent across devs
- Productionlike
- Access Cluster Traffic
- Outbound and inbound
- “Local is in the cluster”
Hybrid Dev Environment!
- k8s Cloud + Local
- Namespaced per dev
- Develop & Debug locally
- Productionlike
- Less toolchain/config work
- Devs exposed to Ops in day-to-day work
Dev’s Namespace
Dev’s Laptop
Main API
Backstage
Backstage
Intercepted
Traffic
Here’s a Diagram
Dev 2’s
Namespace
Dev 3’s
Namespace
Dev 1’s
Namespace
Pod A
Pod B
Pod C
Dev 1’s Laptop
Service D
Networking
Magic
Dev EKS
Cluster
Have any of y’all had
experience with
environments like this?
Implementation Challenges
- Still lots of Complexity
- How do you build everything?
- How do you deploy everything?
- How do you connect?
- Simplify Tooling
- Create common tools wherever possible
- Only introduce complexity where necessary
- Simplify Concepts
- Minimize the number of workflows
- Minimize cognitive overhead
Simplify Tooling
- Building & Deploying
- Complex systems are cool…
- Let’s just focus on the basics
- Single Entry Point - Skaffold
- Define all builds in here
- Define all deploys in here
- `skaffold build` and `skaffold deploy`
- Same Tool for Staging & Production
- Different config per environment
Single Build & Deploy Path
- Your workflows should not be pets
- Minimize cognitive overhead
- Reduce tooling development workload
- Single Build Path
- Tag by git hash
- No need to rebuild same hash
- Cache hit everything you didn’t change
- Single Deploy Path
- Environment-specific config
- Helm bakes the yaml
- k8s only updates what changes
Build &
Deploy
Implementation Details - Build & Deploy
- platform-k8s
- Build & Deploy Source of Truth
- Common Framework
- All engineers can contribute - 21 of 29 have!
- Shared Docker Daemon
- DinD in the cluster
- DOCKER_HOST=tcp://dind.dind:2374
- Don’t slow down dev machines
Docker-in-Docker
in the cluster
Dev
Laptop
Dev
Laptop
Dev
Laptop
Implementation Details - Cluster Interaction
- Telepresence
- Route traffic to cluster
- Intercept from cluster
- k9s
- Invaluable k8s introspection tool
- Logs, deploy status, etc
Implementation Details - Managed Services
- Run them in pods
- RDS -> MySQL, MSK -> Kafka, etc
- Disposable
- Easy to experiment with
- Data generation scripts
- Developers need to make these
- Critical for making stacks useful
- 3rd Party Services
- Case-By-Case
- Multitenant if possible, mock if not
What’s the Workflow Like?
1. repo-sync
2. make build-dev
3. make deploy-dev
4. telepresence connect
5. dev work!
If it breaks, turn it off and on again!
Pitfalls
- Pin your telepresence version
- Different versions step on each other
- This is unorthodox
- Most devs haven’t worked like this
- Be prepared to answer the same question 10,000 times
- It pays off - Devs love it & have Ops experience
- Everything needs to conform
- No pets
- Have to be strict about this
But it’s worth it!
- Devs are big fans
- Learning curve, but not too steep
- Learn to fix prod
- Learn to debug k8s
- One toolchain
- High Achievers Contribute to Tooling
- Yohei spent a week building data seeding
- Swaroop implemented KEDA - now in production
- Nick implemented mobile testing w/ EEs running API
- Jorde implemented web UI testing - started in Dev, now in Staging
- Productionlike
That’s it!

More Related Content

PDF
David Kirk_Local Microservice Development in EKS.pdf
PDF
Gitlab, GitOps & ArgoCD
PDF
PuppetConf 2014 Killer R10K Workflow With Notes
PDF
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
PDF
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
PDF
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
PPTX
From monolith to microservice with containers.
PDF
HLayer / Cloud Native Best Practices
David Kirk_Local Microservice Development in EKS.pdf
Gitlab, GitOps & ArgoCD
PuppetConf 2014 Killer R10K Workflow With Notes
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
From monolith to microservice with containers.
HLayer / Cloud Native Best Practices

Similar to AWS Community Day 2022 David Kirk_Hybrid Local Development Environments with EKS (20)

PPT
Docker pipelines
PPTX
Docker - Dicas ninjas - MolaTech Talks
ODP
Softlayer devops
PDF
EVE Microservices Platform
PDF
Scaling a Serverless Developer Platform for Teams
PDF
How we dockerized a startup? #meetup #docker
PDF
Developing Microservices Directly in AKS/Kubernetes
PDF
Docker Geneva Meetup - Introduction to Docker
PDF
The DevOps Journey at bwin.party
PDF
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
PDF
DevEx | there’s no place like k3s
PDF
Flexible DevOps Deployment of Enterprise Test Environments in the Cloud
PDF
Build automation best practices
PDF
Puppet camp london nov 2014 slides (1)
PPTX
Azure enterprise integration platform
PDF
A Shift from Monolith to Microservice using Docker
PDF
KnativeCon 2022 - Knative Functions
PPTX
To Build My Own Cloud with Blackjack…
PDF
Scalable QA With Docker
PPT
Development Environment Tips
Docker pipelines
Docker - Dicas ninjas - MolaTech Talks
Softlayer devops
EVE Microservices Platform
Scaling a Serverless Developer Platform for Teams
How we dockerized a startup? #meetup #docker
Developing Microservices Directly in AKS/Kubernetes
Docker Geneva Meetup - Introduction to Docker
The DevOps Journey at bwin.party
I Just Want to Run My Code: Waypoint, Nomad, and Other Things
DevEx | there’s no place like k3s
Flexible DevOps Deployment of Enterprise Test Environments in the Cloud
Build automation best practices
Puppet camp london nov 2014 slides (1)
Azure enterprise integration platform
A Shift from Monolith to Microservice using Docker
KnativeCon 2022 - Knative Functions
To Build My Own Cloud with Blackjack…
Scalable QA With Docker
Development Environment Tips
Ad

More from AWS Chicago (20)

PPTX
Kathie Kinde Clark - Elevate Your Professional Footprint: LinkedIn Masterclass
PDF
Jason Anderson From Dirt Roads to Highways: Simplifying DevOps and Cloud Inf...
PDF
Aman Sardana and Vijay Kumar Soni - Navigating Hybrid Cloud Challenges for ...
PDF
Ben Blair Operating Safely in a Vibe Coding World
PPTX
Joseph Morotti Enhancing customer experience through Amazon Connect and Gene...
PPTX
Craig Johnson When VPCs Attack: Real-Life Cloud Networking Fails (and Fixes)
PDF
Peter Sankauskas Access Denied: Understanding & Debugging AWS IAM
PDF
Shuen Mei Parth Sharma Boost Productivity, Innovation and Efficiency wit...
PDF
Bob Fornal The Impact of Testing on a DevOps Pipeline
PDF
Jason Butz Chaos Engineering with FIS and Lambda Functions
PPTX
Automated VPC migration into centralized inspection architecture with AWS Gat...
PDF
Julia Furst Morgado The Lazy Guide to Kubernetes with EKS Auto Mode + Karpenter
PDF
Bob Fornal - Active Career Management AWS Community Day Midwest 2025
PDF
Edwin Moedano Monitoring and Observability of Lambdas with Cloudwatch and Po...
PPTX
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
PPTX
Nathan Hiscock Architecting secure, scalable, cost-efficient computer vision...
PDF
AWS Community Day Midwest 2025 Julia Furst Morgado The Lazy Guide to Kuberne...
PDF
Steven Seaney - Simplifying and Streamlining AWS Control Tower Deployments
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
PPTX
Paul Chin Jr. Data Gone in 60 Seconds: A Serverless ETL Heist
Kathie Kinde Clark - Elevate Your Professional Footprint: LinkedIn Masterclass
Jason Anderson From Dirt Roads to Highways: Simplifying DevOps and Cloud Inf...
Aman Sardana and Vijay Kumar Soni - Navigating Hybrid Cloud Challenges for ...
Ben Blair Operating Safely in a Vibe Coding World
Joseph Morotti Enhancing customer experience through Amazon Connect and Gene...
Craig Johnson When VPCs Attack: Real-Life Cloud Networking Fails (and Fixes)
Peter Sankauskas Access Denied: Understanding & Debugging AWS IAM
Shuen Mei Parth Sharma Boost Productivity, Innovation and Efficiency wit...
Bob Fornal The Impact of Testing on a DevOps Pipeline
Jason Butz Chaos Engineering with FIS and Lambda Functions
Automated VPC migration into centralized inspection architecture with AWS Gat...
Julia Furst Morgado The Lazy Guide to Kubernetes with EKS Auto Mode + Karpenter
Bob Fornal - Active Career Management AWS Community Day Midwest 2025
Edwin Moedano Monitoring and Observability of Lambdas with Cloudwatch and Po...
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
Nathan Hiscock Architecting secure, scalable, cost-efficient computer vision...
AWS Community Day Midwest 2025 Julia Furst Morgado The Lazy Guide to Kuberne...
Steven Seaney - Simplifying and Streamlining AWS Control Tower Deployments
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
Paul Chin Jr. Data Gone in 60 Seconds: A Serverless ETL Heist
Ad

Recently uploaded (20)

PDF
Electronic commerce courselecture one. Pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
Electronic commerce courselecture one. Pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Spectral efficient network and resource selection model in 5G networks
Advanced methodologies resolving dimensionality complications for autism neur...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Digital-Transformation-Roadmap-for-Companies.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Building Integrated photovoltaic BIPV_UPV.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Unlocking AI with Model Context Protocol (MCP)
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Dropbox Q2 2025 Financial Results & Investor Presentation
Encapsulation_ Review paper, used for researhc scholars
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
NewMind AI Weekly Chronicles - August'25 Week I
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Understanding_Digital_Forensics_Presentation.pptx

AWS Community Day 2022 David Kirk_Hybrid Local Development Environments with EKS

  • 2. What’re we talkin about? - What’s the problem we’re trying to solve? - What is a Hybrid Development Environment? - How we’ve implemented it - Practical considerations
  • 3. About Me - Started programming in Second Life - 7 years fulltime - all DevOps - d@vidkirk.com
  • 4. What’s the Problem? - Microservice Development - Dozens of services - Computational Overhead - Software complexity grows faster than computational capability - Cognitive Overhead - “How do I run all these things?” - Organizational Overhead - Consistent Dev Environments - Sharing work
  • 5. Common Solutions - Bare Metal - Inconsistent across org - Deploy complexity, or run a subset - Compute constrained - docker-compose - Containerized, common deploy definition - Complexity integrating into local development - Not productionlike
  • 6. What do we really want here? - Simple to deploy - Simple to maintain - Consistent across devs - Productionlike
  • 7. - Access Cluster Traffic - Outbound and inbound - “Local is in the cluster” Hybrid Dev Environment! - k8s Cloud + Local - Namespaced per dev - Develop & Debug locally - Productionlike - Less toolchain/config work - Devs exposed to Ops in day-to-day work Dev’s Namespace Dev’s Laptop Main API Backstage Backstage Intercepted Traffic
  • 8. Here’s a Diagram Dev 2’s Namespace Dev 3’s Namespace Dev 1’s Namespace Pod A Pod B Pod C Dev 1’s Laptop Service D Networking Magic Dev EKS Cluster
  • 9. Have any of y’all had experience with environments like this?
  • 10. Implementation Challenges - Still lots of Complexity - How do you build everything? - How do you deploy everything? - How do you connect? - Simplify Tooling - Create common tools wherever possible - Only introduce complexity where necessary - Simplify Concepts - Minimize the number of workflows - Minimize cognitive overhead
  • 11. Simplify Tooling - Building & Deploying - Complex systems are cool… - Let’s just focus on the basics - Single Entry Point - Skaffold - Define all builds in here - Define all deploys in here - `skaffold build` and `skaffold deploy` - Same Tool for Staging & Production - Different config per environment
  • 12. Single Build & Deploy Path - Your workflows should not be pets - Minimize cognitive overhead - Reduce tooling development workload - Single Build Path - Tag by git hash - No need to rebuild same hash - Cache hit everything you didn’t change - Single Deploy Path - Environment-specific config - Helm bakes the yaml - k8s only updates what changes Build & Deploy
  • 13. Implementation Details - Build & Deploy - platform-k8s - Build & Deploy Source of Truth - Common Framework - All engineers can contribute - 21 of 29 have! - Shared Docker Daemon - DinD in the cluster - DOCKER_HOST=tcp://dind.dind:2374 - Don’t slow down dev machines Docker-in-Docker in the cluster Dev Laptop Dev Laptop Dev Laptop
  • 14. Implementation Details - Cluster Interaction - Telepresence - Route traffic to cluster - Intercept from cluster - k9s - Invaluable k8s introspection tool - Logs, deploy status, etc
  • 15. Implementation Details - Managed Services - Run them in pods - RDS -> MySQL, MSK -> Kafka, etc - Disposable - Easy to experiment with - Data generation scripts - Developers need to make these - Critical for making stacks useful - 3rd Party Services - Case-By-Case - Multitenant if possible, mock if not
  • 16. What’s the Workflow Like? 1. repo-sync 2. make build-dev 3. make deploy-dev 4. telepresence connect 5. dev work! If it breaks, turn it off and on again!
  • 17. Pitfalls - Pin your telepresence version - Different versions step on each other - This is unorthodox - Most devs haven’t worked like this - Be prepared to answer the same question 10,000 times - It pays off - Devs love it & have Ops experience - Everything needs to conform - No pets - Have to be strict about this
  • 18. But it’s worth it! - Devs are big fans - Learning curve, but not too steep - Learn to fix prod - Learn to debug k8s - One toolchain - High Achievers Contribute to Tooling - Yohei spent a week building data seeding - Swaroop implemented KEDA - now in production - Nick implemented mobile testing w/ EEs running API - Jorde implemented web UI testing - started in Dev, now in Staging - Productionlike