46
RAMIRO BERRELLEZA | @RBERRELLEZA Don't build and push, move your inner loop to your cluster!

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

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

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

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

• 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

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
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

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
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
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

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

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

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

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
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
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://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

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

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
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

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

… 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

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
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
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

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

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
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

• 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

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

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

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

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

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

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

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
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

• 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

• 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://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

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

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

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

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

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

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

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

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

We are just starting on this, learn more at

https://github.com/okteto/stacks