Opps i deployed it again
-
Upload
dylan-jay -
Category
Technology
-
view
1.229 -
download
2
description
Transcript of Opps i deployed it again
- 1. Oops! I deployed it again New ways to get your app in the cloudDylan Jay
2. You've written a web app And now you need a host 3. We want it to be easy 4. We want flexibility 5. We want it to be cheap 6. Options Type Providers Flexibility (Easy) Scalability Shared Few e.g. Webfaction ($14) Limited Choice(Control Panel) None AppEngine One Google (Free) No Choice (Launcher) Built in VPS Lots e.g. Slicehost ($20) Unlimited choice (DIY) DIY Cloud Few e.g. Rackspace ($11) Unlimited choice (DIY) DIY 7. Can you have your cakeand eat it to? 8. Hostout (Fabric, buildout) & Silverlining 9. Code under development 10. Push vs Pull 11. Fabric > from fabric import api def host_type(): api.run('uname -s') $ fab -H localhost,linuxbox host_type 12. Buildout Workflow Get the buildout $ python bootstrap.py $ bin/buildout $ bin/myinstalledscript add recipes to buildout.cfg from pypi $ bin/buildout 13. Building myapp $ bin/buildout $ bin/paster serve src/myapp/myapp.ini 14. Useful recipes
- zc.recipe.egg download eggs and create scripts
15. collective.recipe.command run shell commands 16. collective.recipe.template make config files from templates 17. zc.recipe.cmmi compile, make, install stuff 18. isotoma.recipe.apache or any other useful shortcuts 19. mr.developer manage source control 20. Hostout
- Is a buildout recipe to replicate a local buildout to many hosts (using fabric)
21. Hostout
- Get a production buildout
22. To your develop.cfg buildout add... 23. [myhost] 24. recipe = collective.hostout 25. extends = hostout.cloud hostout.ubuntu 26. hosttype = rackspace 27. key = myaccount 28. secret = myapikey 29. buildout = production.cfg 30. $ bin/buildout 31. $ bin/hostout myhost deploy 32. Hostout is modular
- Collective.hostout
- Deploys buildout to any posix host. Needs IP and password
hostout.ubuntu
- bootstraps ubuntu host for buildout
hostout.cloud
- Creates node ready to be bootstrapped
fabfiles = myfabfile.py add your own 33. 34. 35. $ bin/hostout host deploy 36. Silverlining
- By Ian Bicking
37. Create app layout/dir
- $ silver init myapp
Install dependencies into dir
- $ cd app; bin/easy_install repoze.bfg
Install your code into dir
- $ bin/python src/myapp/setup.py develop
38. Silverlining II
- Configure it
- Edit app.ini: runner = src/myapp/myapp.ini
Create host
- $ silver create-node myhost
39. $ silver setup-node myhost Deploy (rsync)
- $ silver update myapp --node myhost
40. Hostout vs. Silverlining
- Many deployers
- Checkin. Checkout. Buildout. deploy
Hostout uses fabric
- Cross platform but more dependencies (pycrypto)
Hostout is modular
- Package your own fabfiles to help others deploy
Hostout is flexible helps professionals
- Buildout is powerful. No limit to building/installing. NoSQL etc.
Buildout shares dl code 41. Silverlining vs. Hostout
- Silverlining is batteries included
- You don't need a production buildout
Silverlining is known target platform
- means less variables to go wrong
Familiar workflow
- Commandline vs cfg.
42. Thanks
- Dylan Jay
43. http://www.pretaweb.com 44. twitter: djay75 45. [email_address] 46. Know plone, syd admin or pywebdev? - we're hiring 47. Photo Credits http://www.flickr.com/photos/benheine/4613609067/sizes/l/in/set-72157622547905358/ http://www.flickr.com/photos/stevedave/3444248057/sizes/o/ http://www.flickr.com/photos/rkbcupcakes/3409724942/sizes/o/ http://www.flickr.com/photos/irrational_cat/517564258/