The document discusses using Docker Desktop and Telepresence to enable "remocal" development of microservice systems. Telepresence proxies a local machine into a Kubernetes cluster, allowing fast feedback by running code changes directly in the cluster. The Docker Desktop extension for Telepresence integrates this capability, allowing developers to use local tools while their code runs on Kubernetes. This enables a smooth development workflow for building and testing microservice applications in Kubernetes.
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” with Docker, Telepresence, and Kubernetes
1. Building Microservice Systems
Without Cooking Your Laptop
Going “Remocal” with Docker, Telepresence & Kubernetes
Daniel Bryant
@danielbryantuk
Felipe Cruz
@felipecruz
2. @danielbryantuk | @felipecruz
tl;dr
2
• The inner development loop can be painful with microservices & Kubernetes
• Docker Desktop enables your development journey to cloud native
• Telepresence “proxies” your local machine into the cluster, increasing fast feedback
• Docker Desktop Extension for Telepresence enables “remocal” development
• Telepresence supports several workflows to make you more productive
5. @danielbryantuk | @felipecruz
Inner and outer dev loops
5
Hat tip to Mitch Denny (now 404): https://mitchdenny.com/the-inner-loop/
http://jorgemoral.es/posts/2020_03_17-develop_apps…
12. @danielbryantuk | @felipecruz
Inner and outer dev loops with K8s
can be the same
12
• Write code
• Build container
• Push to registry
• Deploy to cluster
• Test
And can be …. SLOW.
18. @danielbryantuk | @felipecruz
What are Docker Extensions?
Extend Docker Desktop
A way to add new functionality into
Docker Desktop
Improve your team workflows
Connect your favorite dev tools to your
application development and
deployment workflows
Distribution channel
for your tooling
A way for the community and partners
to reach million of developers
18
19. @danielbryantuk | @felipecruz
What is Telepresence
19
• “Fancy Kubernetes VPN for development”
• “kubectl port-forward on steroids”
• “kubectl proxy all-the-things”
• A network bridge between your laptop and the Kubernetes cluster
24. @danielbryantuk | @felipecruz
Remocal development
24
www.slideshare.net/dbryant_uk/jax-london-22-debugging-microservices-remocally-in-kubernetes-with-telepresence
25. @danielbryantuk | @felipecruz
Testing Microservices: What to use, when
25
Mocks Service virtualization Remocal
Unit tests ✅
Integration tests ✅ ✅
Component tests ✅ ✅ ✅
End-to-end tests ✅ ✅
Poking around an
existing API
✅
Building an API ✅ ✅
30. @danielbryantuk | @felipecruz
Conclusion
30
• The inner development loop can be painful with microservices & Kubernetes
• Docker Desktop enables your development journey to cloud native
• Telepresence “proxies” your local machine into the cluster, increasing fast feedback
• Docker Desktop Extension for Telepresence enables “remocal” development
• Telepresence supports several workflows to make you more productive