Más contenido relacionado

Similar a Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” with Docker, Telepresence & Kubernetes(20)

Más de Daniel Bryant(20)

Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” with Docker, Telepresence & 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
  3. @danielbryantuk | @felipecruz @danielbryantuk 3 Daniel Bryant @danielbryantuk Ambassador Labs Felipe Cruz @felipecruz Docker
  4. @danielbryantuk | @felipecruz Setting the Scene 4
  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…
  6. @danielbryantuk | @felipecruz SOA: There’s just more stu ff (and dependencies) 6
  7. @danielbryantuk | @felipecruz So, let’s run everything locally… 7
  8. @danielbryantuk | @felipecruz Docker Desktop becomes your second IDE Body Text 8
  9. @danielbryantuk | @felipecruz But if you’re successful… Mo’ services, mo’ problems 9
  10. @danielbryantuk | @felipecruz tl;dr 10 “My laptop only has 16GB RAM and you’re asking it to run Kubernetes and a JVM and a database???”
  11. @danielbryantuk | @felipecruz Okay, let’s run everything remotely… 11
  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.
  13. @danielbryantuk | @felipecruz Automation can help… 13
  14. @danielbryantuk | @felipecruz tl;dr 14 But you want a really fast inner loop (no docker build/push) …
  15. @danielbryantuk | @felipecruz tl;dr 15 And you want to use your own tools.
  16. @danielbryantuk | @felipecruz tl;dr 16 And you want to avoid the “works on my machine” production vs local development debacle
  17. @danielbryantuk | @felipecruz 17 +
  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
  20. @danielbryantuk | @felipecruz Demo Time! 20
  21. @danielbryantuk | @felipecruz Our Emoji-User Demo App $$$ 21 Web Emoji User Ambassador Edge Stack (Ingress) T A Traf fi c- manager User
  22. @danielbryantuk | @felipecruz Docker Desktop Extension for Telepresence 22 getambassador.io/testing-with-telepresence-and-docker
  23. @danielbryantuk | @felipecruz Key scenarios 23
  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 ✅ ✅
  26. @danielbryantuk | @felipecruz Continuous Delivery 26 https://learning.oreilly.com/library/view/continuous-delivery-in/9781491986011/ch01.html#idm140291459013360 https://www.youtube.com/watch?v=hJkhPP2OLA8&t=291s
  27. @danielbryantuk | @felipecruz 27 Continuous Delivery and build pipelines
  28. @danielbryantuk | @felipecruz Wrapping up 28
  29. @danielbryantuk | @felipecruz Telepresence is a CNCF project, with a wide variety of users 29
  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
  31. @danielbryantuk | @felipecruz Thank you! Questions? 31 Sample code and extensions: • github.com/ambassadorlabs/docker-extension-telepresence-java • docs.docker.com/desktop/extensions/ Learn more: • www.getambassador.io/kubernetes-learning-center/telepresence-docker-extension/ • hub.docker.com/extensions/ambassador/telepresence-docker-extension