Opps i deployed it again
Upcoming SlideShare
Loading in...5

Opps i deployed it again



Look at fabric, buildout, hostout and silvercloud

Look at fabric, buildout, hostout and silvercloud



Total Views
Views on SlideShare
Embed Views



1 Embed 1

http://www.twylah.com 1



Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • For further hostout documentation see http://github.com/djay/collective.hostout/tree/master/collective/hostout/
    Are you sure you want to
    Your message goes here
  • <br /><object type="application/x-shockwave-flash" data="http://blip.tv/play/AYHrxzIC" width="350" height="288"><param name="movie" value="http://blip.tv/play/AYHrxzIC"></param><embed src="http://blip.tv/play/AYHrxzIC" width="350" height="288" type="application/x-shockwave-flash"></embed></object>
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment
  • Isolated environment Combine eggs, sdist, cmmi, .cfg, php, whatever Recipes do the combining Flow is Configure, build (auto install), run Vs Install, configure, run Can share “buildouts”

Opps i deployed it again Opps i deployed it again Presentation Transcript

  • Oops! I deployed it again New ways to get your app in the cloud Dylan Jay
  • You've written a web app And now you need a host
  • We want it to be easy
  • We want flexibility
  • We want it to be cheap
  • 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
  • Can you have your cake and eat it to?
  • Hostout (Fabric, buildout) & Silverlining
  • Code under development
  • Push vs Pull
  • Fabric << fabfile.py >> from fabric import api def host_type(): api.run('uname -s') $ fab -H localhost,linuxbox host_type
  • Buildout Workflow Get the “buildout” $ python bootstrap.py $ bin/buildout $ bin/myinstalledscript … add recipes to buildout.cfg from pypi … $ bin/buildout
  • Building myapp $ bin/buildout $ bin/paster serve src/myapp/myapp.ini
  • Useful recipes
    • zc.recipe.egg – download eggs and create scripts
    • collective.recipe.command – run shell commands
    • collective.recipe.template – make config files from templates
    • zc.recipe.cmmi – compile, make, install stuff
    • isotoma.recipe.apache – or any other useful shortcuts
    • mr.developer – manage source control
  • Hostout
      Is a buildout recipe to replicate a local buildout to many hosts (using fabric)
  • Hostout
    • Get a “production” buildout
    • To your develop.cfg buildout add...
    • [myhost]
    • recipe = collective.hostout
    • extends = hostout.cloud hostout.ubuntu
    • hosttype = rackspace
    • key = myaccount
    • secret = myapikey
    • buildout = production.cfg
    • $ bin/buildout
    • $ bin/hostout myhost deploy
  • 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
  • $ bin/hostout host deploy
  • Silverlining
    • By Ian Bicking
    • 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
  • Silverlining II
    • Configure it
      • Edit app.ini: runner = src/myapp/myapp.ini
    • Create host
      • $ silver create-node myhost
      • $ silver setup-node myhost
    • Deploy (rsync)
      • $ silver update myapp --node myhost
  • 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
  • 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.
  • Thanks
    • Dylan Jay
    • http://www.pretaweb.com
    • twitter: djay75
    • [email_address]
    • Know plone, syd admin or pywebdev? - we're hiring
  • 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/