collective.hostout: how to host a python app for $20 in 20min

Download collective.hostout: How to host a python app for $20 in 20min

If you can't read please download the document

Upload: dylan-jay

Post on 24-Jun-2015

1.328 views

Category:

Technology


1 download

DESCRIPTION

collective.hostout is a buildout based deployment tool to replicate a buildout from one environment to many others. It speeds up deployment, makes the process more controlled and simplifies the process of hosting applications for those new to VPS hosting.

TRANSCRIPT

  • 1. How to host a python appfor $20 in 20min collective.hostout Dylan Jay [email_address] Technical Solutions Manager PretaWeb

2. Big Blue Button 3. SDK Approach Download Try Build Deploy watch money roll in 4. VPS's are now cheap! Thanks Rails and Xen First get a server with root access linode, RackSpaceCloud, Amazon ec2, etc RackSpace cloud $11USD/m 256MB up in 2min 5. Linux is intimidating At least it was for me... 6. Goals Aims to to make a hosted python app :-

  • Easy as... (CPanel, google app engine)

7. Low assumed knowledge 8. Controllable (source control, pinning versions) 9. Automate 10. Help us manager many different servers 11. Use Buildout: base.cfg [buildout]parts = myapp [myapp]recipe = zc.recipe.eggeggs = choice.bro.app $ buildout init $ bin/buildout -N -c base.cfg 12. Put collective.hostout in devel.cfg [ buildout ] extends = base. cfg parts +=myslice [ myslice ] recipe = collective. hostout host= myproj . slicehost . com buildout=prod . cfg 13. Buildout and then deploy $ bin/buildout -N -c devel.cfg Develop: 'myproj/src/choice.bro.app' Updating zope2. Updating fake eggs Updating instance. Installing myslice. $ bin/hostout deploy myslice 14. What it does Pin versions Release develop eggs Upload as needed Bootstrap server if needed Run pre-commands Run buildout Run post-commands 15. Hostout with source control Doesn't need access to svn or git on the server 16. Plugins [hostdefaults] pre-commands = apt-get install libxml post-commands = [ myslice ] recipe = collective. hostout extends - hostdefaults collective.hostout:supervisor collective.hostout:ubuntu fabfiles = ${buildout:directory}/config/customfabfile.py host= myproj . slicehost . com buildout=prod . cfg 17. ToDo

  • Better permissions/filestructure (help!!)

18. Joels zopeskel UI Integrate blue button 19. Transfer databases and backup 20. Ubuntu plugin, suse, redhat etc 21. Amazon,rackspace cloud api plugin 22. Integrate with source control/mr.developer 23. Rollback 24. Finish tests http://plone.org/products/collective.hostout