developing clojure in the cloudmartintrojer.github.io/assets/images/devcloud/... · the cloud is...
TRANSCRIPT
![Page 1: Developing Clojure in the Cloudmartintrojer.github.io/assets/images/devcloud/... · The Cloud is great but… • Moving target, different Linux distros • Different JVM, DB (etc)](https://reader036.vdocuments.us/reader036/viewer/2022070815/5f0e972a7e708231d43ff90f/html5/thumbnails/1.jpg)
Martin Trojer
http://martintrojer.github.io
martintrojer
Developing in the Cloud
Clojure
![Page 2: Developing Clojure in the Cloudmartintrojer.github.io/assets/images/devcloud/... · The Cloud is great but… • Moving target, different Linux distros • Different JVM, DB (etc)](https://reader036.vdocuments.us/reader036/viewer/2022070815/5f0e972a7e708231d43ff90f/html5/thumbnails/2.jpg)
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 Cloudmartintrojer.github.io/assets/images/devcloud/... · The Cloud is great but… • Moving target, different Linux distros • Different JVM, DB (etc)](https://reader036.vdocuments.us/reader036/viewer/2022070815/5f0e972a7e708231d43ff90f/html5/thumbnails/3.jpg)
![Page 4: Developing Clojure in the Cloudmartintrojer.github.io/assets/images/devcloud/... · The Cloud is great but… • Moving target, different Linux distros • Different JVM, DB (etc)](https://reader036.vdocuments.us/reader036/viewer/2022070815/5f0e972a7e708231d43ff90f/html5/thumbnails/4.jpg)
Do all development in VMs!
Development EnvDeployment Env
![Page 5: Developing Clojure in the Cloudmartintrojer.github.io/assets/images/devcloud/... · The Cloud is great but… • Moving target, different Linux distros • Different JVM, DB (etc)](https://reader036.vdocuments.us/reader036/viewer/2022070815/5f0e972a7e708231d43ff90f/html5/thumbnails/5.jpg)
Provision, ssh & hack away
![Page 6: Developing Clojure in the Cloudmartintrojer.github.io/assets/images/devcloud/... · The Cloud is great but… • Moving target, different Linux distros • Different JVM, DB (etc)](https://reader036.vdocuments.us/reader036/viewer/2022070815/5f0e972a7e708231d43ff90f/html5/thumbnails/6.jpg)
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 Cloudmartintrojer.github.io/assets/images/devcloud/... · The Cloud is great but… • Moving target, different Linux distros • Different JVM, DB (etc)](https://reader036.vdocuments.us/reader036/viewer/2022070815/5f0e972a7e708231d43ff90f/html5/thumbnails/7.jpg)
tmux attachtmux attach
![Page 8: Developing Clojure in the Cloudmartintrojer.github.io/assets/images/devcloud/... · The Cloud is great but… • Moving target, different Linux distros • Different JVM, DB (etc)](https://reader036.vdocuments.us/reader036/viewer/2022070815/5f0e972a7e708231d43ff90f/html5/thumbnails/8.jpg)
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 Cloudmartintrojer.github.io/assets/images/devcloud/... · The Cloud is great but… • Moving target, different Linux distros • Different JVM, DB (etc)](https://reader036.vdocuments.us/reader036/viewer/2022070815/5f0e972a7e708231d43ff90f/html5/thumbnails/9.jpg)
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 Cloudmartintrojer.github.io/assets/images/devcloud/... · The Cloud is great but… • Moving target, different Linux distros • Different JVM, DB (etc)](https://reader036.vdocuments.us/reader036/viewer/2022070815/5f0e972a7e708231d43ff90f/html5/thumbnails/10.jpg)
github.com/martintrojer/devbox
• Vagrant
• Virtualbox / AWS
• puppet
• emacs, lein, multi-user (incl. pairing)
• postgres
![Page 11: Developing Clojure in the Cloudmartintrojer.github.io/assets/images/devcloud/... · The Cloud is great but… • Moving target, different Linux distros • Different JVM, DB (etc)](https://reader036.vdocuments.us/reader036/viewer/2022070815/5f0e972a7e708231d43ff90f/html5/thumbnails/11.jpg)
Hybrid setups
![Page 12: Developing Clojure in the Cloudmartintrojer.github.io/assets/images/devcloud/... · The Cloud is great but… • Moving target, different Linux distros • Different JVM, DB (etc)](https://reader036.vdocuments.us/reader036/viewer/2022070815/5f0e972a7e708231d43ff90f/html5/thumbnails/12.jpg)
Docker / Rocket
![Page 13: Developing Clojure in the Cloudmartintrojer.github.io/assets/images/devcloud/... · The Cloud is great but… • Moving target, different Linux distros • Different JVM, DB (etc)](https://reader036.vdocuments.us/reader036/viewer/2022070815/5f0e972a7e708231d43ff90f/html5/thumbnails/13.jpg)
with boot2docker
• boot2docker start
• docker run -d postgres
• docker run -d dockerfile/elasticsearch