@oktetohq - ramiro berrelleza · docker compose create a docker-compose and run everything locally....

33
@oktetohq

Upload: others

Post on 19-Jul-2020

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

@oktetohq

Page 2: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

RAMIRO BERRELLEZA | CEO | @RBERRELLEZA

Development WorkflowsFor Docker and Kubernetes

Page 3: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

Docker and Kubernetes

Page 4: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

Build once, run

everywhere

Page 5: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

Simplified dependency management

Page 6: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

"Clean room” environments

Page 7: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

Dynamic orchestration of resources

Page 8: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

Common API across clouds

Page 9: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

Our workflows over time

Page 10: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

Replicable Anybody can start a new environment in

minutes

Fast Don’t break the dev

flow due to technical choices

Parity Minimize differences between dev, ci and

prod

Remote friendly

Accommodate team members

everywhere

Our requirements

Page 11: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

Docker for dependencies Code runs locally, but dependencies are dockerized.

CI/CD and Prod are fully dockerized

Page 12: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

Docker compose Create a docker-compose and run everything locally.

We need to add ‘bridge' code, since networking, DNS and configuration are now different between environments.

Page 13: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

Kubernetes for dependencies As dependencies got more complex, we moved them to kubernetes.

We removed some bridge code, as the dependencies (DBs, queues, etc…) are now the same across environments.

Page 14: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

We got tired of using docker because it introduced too much friction in our dev workflow

Page 15: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

Code

BuildTest

Page 16: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

Code SyncBuild

container

Pull image

Tag image

Push imageDeploy

Test

Page 17: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

Cloud Native DevelopmentReduce friction by going all in

Page 18: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

Replicable Anybody can start a new environment in

minutes

Fast Don’t break the dev

flow due to technical choices

Parity Minimize differences between dev, ci and

prod

Remote Accommodate team

members everywhere

Our requirements

Page 19: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now
Page 20: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now
Page 21: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

Code locally Keep your favorite editor and

local configurations

Run in cluster Automatic synchronization

and hot reload

Cloud Native Development

Page 22: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

https http proxy

frontend

api db

Page 23: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

https http proxy

frontend

api db

cnd

Page 24: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

https http proxy

frontend

api db

cnd

Page 25: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

https://github.com/okteto/cndstar it! contribute!

Page 26: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

DEMOsuper awesome things

Page 27: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

https://github.com/okteto/cndstar it! contribute!

Page 28: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

CND

Single command creates and destroys dev environment

Page 29: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

CND

Hot reload your dev containers instead of build, push, pull, deploy

Page 30: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

CND

Run everything in kubernetes all the time, from dev to prod

Page 31: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

CND

Easy to share and troubleshoot environments remotely

Page 32: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

QA

Page 33: @oktetohq - Ramiro Berrelleza · Docker compose Create a docker-compose and run everything locally. We need to add ‘bridge' code, since networking, DNS and configuration are now

https://okteto.com