Development nightmares

download Development nightmares

If you can't read please download the document

description

Funny presentation about development experiences and how to solve with virtual environments and continuous integration.

Transcript of Development nightmares

  • 1. Development nightmares...a survival guide...junJun 2014

2. Geronimo OrozcoCloud Automation EngineerFree software developer@patux 3. AA ddeevveellooppeerr''ss ssttoorryy Want to know what openstack is... Want to learn openstack... Want to implement openstack... Want to extend openstack... Want to contribute to openstack... 4. WWhhaatt ddoo II nneeeedd??Where is an environment Ican use ? 5. WWhhaatt ddoo II nneeeedd??Can you give me access tothe environment ? 6. OOkkaayy!!How can I install openstack?apt-get install openstack ? 7. HHaavvee yyoouu wwoorrkkeedd wwiitthh::Multiple projects+Dependencies on various kinds of software in variousdegrees of stability=YYoouurr ddeevveellooppmmeenntt mmaacchhiinnee iiss bbeeccoommiinngg ffuullll ooff ccrraapp 8. HHaavvee yyoouu wwoorrkkeedd wwiitthh::Multiple projects+Dependencies on the same software but with differentversions=YYoouurr ddeevveellooppmmeenntt mmaacchhiinnee iiss bbeeccoommiinngg ffuullll ooff ccrraapp......AAggaaiinn!!!!!! 9. HHaavvee yyoouu wwoorrkkeedd wwiitthh::Existing developer with (partial and no up to date) info onhow to reproduce a development environment+New developer on the team (with a shiny new machine)=HHaarrdd ttoo rreepprroodduuccee tthhee ssaammee ddeevveellooppmmeenntt eennvviirroonnmmeenntt 10. HHaavvee yyoouu wwoorrkkeedd wwiitthh::Development environmentProduction/CI environment 11. LLooookkss ffaammiilliiaarr?? 12. LLooookkss ffaammiilliiaarr?? 13. 5500 ttiimmeess llaatttteerr........aanndd mmaannyy ddiiffffeerreenntt cchhaannggeess aaccrroossss eennvviirroonnmmeennttss...... 14. IIff tthhaatt iiss nnoott eennoouugghh........ 15. AAnndd...... 16. RReeccaapp Using production environment is not recommended Very often development environment not reflects what are in productions Setting up an environment is pain in the butt Consistent environment is hard to archive across multiple sites, anddevelopers Setting up an environment is boring An environment sometimes is unreproducible Setting up an environment is Full of tedious crap Testing on production is a bad practice Setting up an environment time consumer Testing on development environment does not guarantee that works the sameon production Setting up a environment is very detail oriented An environment sometimes is unreproducible Developers setting up its own environment on his own way.. Setting up consistent environments is a nightmare Products have deadlines to accomplish Developers are tied to a deadline Time is what developers need the most 17. IIss tthheerree aannyy ppaatttteerrnn?? 18. $ git clone git://path/to/myapp.git$ cd myapp$ magic command$ ssh myenvironment. . . hack . . . 19. $ git clone git://path/to/myapp.git$ cd myapp$ vagrant up$ ssh myenvironment. . . hack . . . 20. VVaaggrraannttAn opensource softwarefor creating andconfiguring portabledevelopmentenvironments.http://www.vagrantup.com/about.html 21. EEnnvviirroonnmmeenntt 22. SSccrriipptteedd 23. MMuullttiippllee eennvviirroonnmmeennttss 24. VirtualizeIsolateDon't repeat yourselfInfrastructure as a codeProfit 25. Thanks!!!!!Twitter: @patuxhttp://patux.nethttp://github.com/patux 26. GGooiinngg ffuurrtthheerr Create your own base boxes http://vagrantup.com/docs/base_boxes.html Share your base boxes http://vagrantbox.es Multi-VM configuration http://vagrantup.com/docs/multivm.html Use it on your CI server Ex: http://travis-ci.org https://wiki.jenkins-ci.org/display/JENKINS/Vagrant+Plugin Extend with plugins http://vagrantup.com/docs/plugins.html