move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications...
Transcript of move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications...
![Page 1: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/1.jpg)
RAMIRO BERRELLEZA | @RBERRELLEZA
Don't build and push, move your inner loop to your cluster!
![Page 2: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/2.jpg)
• Co-founder of Okteto.
• Former architect @ Atlassian, Software Engineer @ Azure.
• @rberrelleza in most places.
Hey everyone!
![Page 3: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/3.jpg)
Application architecture has evolved a lot in the past few
years...
![Page 4: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/4.jpg)
![Page 5: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/5.jpg)
Challenges
![Page 6: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/6.jpg)
![Page 7: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/7.jpg)
![Page 8: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/8.jpg)
Challenges
![Page 9: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/9.jpg)
We solved production*, but at the expense of the development experience.
![Page 10: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/10.jpg)
Building Cloud Native Applications is hard.
![Page 11: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/11.jpg)
An inner loop full of friction makes it harder to develop even
the simpler features.
![Page 12: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/12.jpg)
![Page 13: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/13.jpg)
![Page 14: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/14.jpg)
https://twitter.com/ellenkorbes/status/1143451907492655105
![Page 15: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/15.jpg)
Automate the inner loop
• Skaffold
• Draft
• Garden
• Tilt
Community
![Page 16: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/16.jpg)
Dev environments on demand
• Visual Studio Code Online
• Code Ready workspaces (Eclipse Che)
• Jenkins X
Community
![Page 17: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/17.jpg)
![Page 18: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/18.jpg)
But we're still waiting on builds and deploys.
![Page 19: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/19.jpg)
… and dev, stage and prod are completely different
![Page 20: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/20.jpg)
We started Okteto to give us a better developer experience
in Kubernetes
![Page 21: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/21.jpg)
![Page 22: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/22.jpg)
![Page 23: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/23.jpg)
Demo time!
• https://github.com/rberrelleza/movies-demo
![Page 24: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/24.jpg)
How does it work?
![Page 25: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/25.jpg)
![Page 26: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/26.jpg)
• A manifest + container development environment
• Automatic file synchronization between local and remote env
• A remote terminal into your development environment
• Forward and Reverse port-forwarding
• Integration JetBrain and VSCode's remote development modes
• Single binary, works on linux, macos and windows
With okteto you get
![Page 27: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/27.jpg)
Developing in the same environment as your applications
are going to run lets you go way faster.
![Page 28: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/28.jpg)
You are not waiting on builds and deploys.
![Page 29: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/29.jpg)
And you’re fully integrated from the very beginning.
![Page 30: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/30.jpg)
You can leverage the entire platform as well as your stack’s
toolkit.
![Page 31: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/31.jpg)
Incremental builds.
![Page 32: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/32.jpg)
Hot reloaders.
![Page 33: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/33.jpg)
Debuggers!
![Page 34: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/34.jpg)
![Page 35: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/35.jpg)
• Local clusters: Minikube, k3s, kind
• Remote clusters: EKS, GKE, AKS, Digital Ocean, Civo
• Kubernetes Manifests
• Helm
• Serverless functions
• ….
Okteto works with anything that speaks Kubernetes
![Page 36: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/36.jpg)
• Core Kubernetes infrastructure and Operators
• Machine learning on GPU-heavy clusters
• Serverless Functions with OpenFaaS
• Deep integration with IDEs
• Develop directly in android/raspberry pi or other low power devices
Interesting community use cases
![Page 37: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/37.jpg)
• https://github.com/okteto/okteto
• https://github.com/okteto/samples
• https://marketplace.visualstudio.com/items?itemName=okteto.remote-kubernetes
• https://twitter.com/rberrelleza
• https://okteto.com/blog
Links!
![Page 38: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/38.jpg)
Stars, feedback, issues and PR welcome!
https://github.com/okteto/okteto
![Page 39: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/39.jpg)
Q&A
![Page 40: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/40.jpg)
RAMIRO BERRELLEZA | @RBERRELLEZA
Thank you!
![Page 41: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/41.jpg)
Okteto Stacks (sneak peak)
![Page 42: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/42.jpg)
Docker-compose for the Cloud Native World
![Page 43: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/43.jpg)
Go from having to define your ingress, services, deployments, stateful sets, persistent volume
claims ...
![Page 44: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/44.jpg)
To this:
![Page 45: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/45.jpg)
Demo time!
• https://github.com/rberrelleza/movies-demo
![Page 46: move your inner loop to your cluster! Don't build and push, · Building Cloud Native Applications is hard. ... •Skaffold •Draft •Garden •Tilt Community. Dev environments](https://reader035.fdocuments.us/reader035/viewer/2022070711/5ec81fb80a8eab61dd2b9b73/html5/thumbnails/46.jpg)
We are just starting on this, learn more at
https://github.com/okteto/stacks