+ All Categories
Home > Documents > Developing Clojure in the Cloud - Martin Trojer · Pros • Production environment parity No more...

Developing Clojure in the Cloud - Martin Trojer · Pros • Production environment parity No more...

Date post: 31-Jul-2018
Category:
Upload: hoangthien
View: 216 times
Download: 0 times
Share this document with a friend
13
Martin Trojer http://martintrojer.github.io martintrojer Developing in the Cloud Clojure
Transcript
Page 1: Developing Clojure in the Cloud - Martin Trojer · Pros • Production environment parity No more WOMM • Automate setting up devboxes No more outdated ‘our dev env’ wikis

Martin Trojer

http://martintrojer.github.io

martintrojer

Developing in the Cloud

Clojure

Page 2: Developing Clojure in the Cloud - Martin Trojer · Pros • Production environment parity No more WOMM • Automate setting up devboxes No more outdated ‘our dev env’ wikis

The Cloud is great but…• Moving target, different Linux distros

• Different JVM, DB (etc) versions

Development Env Deployment Env

Page 3: Developing Clojure in the Cloud - Martin Trojer · Pros • Production environment parity No more WOMM • Automate setting up devboxes No more outdated ‘our dev env’ wikis
Page 4: Developing Clojure in the Cloud - Martin Trojer · Pros • Production environment parity No more WOMM • Automate setting up devboxes No more outdated ‘our dev env’ wikis

Do all development in VMs!

Development EnvDeployment Env

Page 5: Developing Clojure in the Cloud - Martin Trojer · Pros • Production environment parity No more WOMM • Automate setting up devboxes No more outdated ‘our dev env’ wikis

Provision, ssh & hack away

Page 6: Developing Clojure in the Cloud - Martin Trojer · Pros • Production environment parity No more WOMM • Automate setting up devboxes No more outdated ‘our dev env’ wikis

Pros• Production environment parity

No more WOMM

• Automate setting up devboxes No more outdated ‘our dev env’ wikis / napkins

• Local/remote transparency

• Great for pairingtmux shared screens (*)

• Host env can be anything(**)

• Freedom to experiment

• Embrace the devops, path to production provisioning

• Host env hygene

Page 7: Developing Clojure in the Cloud - Martin Trojer · Pros • Production environment parity No more WOMM • Automate setting up devboxes No more outdated ‘our dev env’ wikis

tmux attachtmux attach

Page 8: Developing Clojure in the Cloud - Martin Trojer · Pros • Production environment parity No more WOMM • Automate setting up devboxes No more outdated ‘our dev env’ wikis

Pros• Production environment parity

No more WOMM

• Automate setting up devboxes No more outdated ‘our dev env’ wikis / napkins

• Local/remote transparency

• Great for pairingtmux shared screens (*)

• Host env can be anything(**)

• Freedom to experiment

• Embrace the devops, path to production provisioning

• Host env hygene

Page 9: Developing Clojure in the Cloud - Martin Trojer · Pros • Production environment parity No more WOMM • Automate setting up devboxes No more outdated ‘our dev env’ wikis

Cons

• It’s all terminal

• Not good for IDEsEmacs/Vim users are (typically) fine

• Need a decent network connection

• Moar RAM in your laptop

Page 10: Developing Clojure in the Cloud - Martin Trojer · Pros • Production environment parity No more WOMM • Automate setting up devboxes No more outdated ‘our dev env’ wikis

github.com/martintrojer/devbox

• Vagrant

• Virtualbox / AWS

• puppet

• emacs, lein, multi-user (incl. pairing)

• postgres

Page 11: Developing Clojure in the Cloud - Martin Trojer · Pros • Production environment parity No more WOMM • Automate setting up devboxes No more outdated ‘our dev env’ wikis

Hybrid setups

Page 12: Developing Clojure in the Cloud - Martin Trojer · Pros • Production environment parity No more WOMM • Automate setting up devboxes No more outdated ‘our dev env’ wikis

Docker / Rocket

Page 13: Developing Clojure in the Cloud - Martin Trojer · Pros • Production environment parity No more WOMM • Automate setting up devboxes No more outdated ‘our dev env’ wikis

with boot2docker

• boot2docker start

• docker run -d postgres

• docker run -d dockerfile/elasticsearch


Recommended