Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Internals of OpenRuko PaaS, an open source Heroku clone implementation

2,177 views

Published on

Internals of OpenRuko PaaS (Platform as a Service), an open source Heroku clone implementation. Agenda:
- Cloud definitions
- Inception (from what ideas PaaS came from?)
- Distributed System Architecture
- Philosophies (Ephemeralization and Unix Process Model)
- The twelve-factor app

Published in: Technology, Business

Internals of OpenRuko PaaS, an open source Heroku clone implementation

  1. 1. Platform as a Service Roger Leite
  2. 2. About Me @rogerleite 1up4dev.org rogerleite
  3. 3. About Me Commiter of some projects like * Openruko (link) * HTTPI (link) * HttpMonkey (link) Slides based on my experience with OpenRuko
  4. 4. Disclaimer
  5. 5. Cloud Definitions * as a Service
  6. 6. Cloud “classic” Pyramid IaaS PaaS SaaS
  7. 7. CloudIaas Infrastructure as a Service
  8. 8. CloudPaas Platform as a Service
  9. 9. CloudSaas Software as a Service
  10. 10. Outsource headache the
  11. 11. Bynary assets aren' hard ... Storing metrics and rendering graphs ...
  12. 12. Scale everything is easy ... until you need
  13. 13. No Bullet!Silver Silver bullet you say?
  14. 14. Inside with love Heroku
  15. 15. Reality $ git push # open The Doors # provision # deploy # check if is not on Limbo $ open http... on your terminal
  16. 16. Dreamlvl1 * check user keys * handle git stream * Api Server will provision and deploy * output all logs open The Doors
  17. 17. Dreamlvl2 * start a build container * identify buildpack * on Ruby buildpack ** bundle install ** generates a Foreman file if necessary ** set env vars * on success, release provision ...
  18. 18. Dreamlvl3 * start a base container * download the new slug * start worker via Foreman * notify http routing about the new route deploy ...
  19. 19. Openruko - overview
  20. 20. git push
  21. 21. provision
  22. 22. deploy
  23. 23. Openruko - overview
  24. 24. Limbo on failure goes to
  25. 25. Logs! your only chance to escape from Limbo are
  26. 26. Philosophies * Unix Process Model to Web Apps * Ephemeralization * Twelve-Factor App
  27. 27. Unix Process Model to web apps Process types vs Processes http://adam.heroku. com/past/2011/5/9/applying_the_unix_process_model_to_web_apps
  28. 28. Ephemeralization "The ability of technological advancement to do 'more and more with less and less until eventually you can do everything with nothing'" by Wiki http://adam.heroku.com/past/2011/4/7/ephemera
  29. 29. Twelve-factor app Methodology for building software- as-a-service apps * Dependencies * Config * Backing Services Even if is not your case, is a great read! http://12factor.net/
  30. 30. Mentions! Cloud computing http://en.wikipedia.org/wiki/Cloud_computing How Heroku Works https://devcenter.heroku.com/articles/how-heroku-works Openruko https://github.com/openruko The twelve factor apps and openruko http://www.slideshare.net/nuxlli/the-twelve-factor-apps-and-openruko Applying the unix process model to web apps http://adam.heroku. com/past/2011/5/9/applying_the_unix_process_model_to_web_apps/ Ephemeralization http://adam.heroku.com/past/2011/4/7/ephemeralization/ Cloud Services by Adam Wiggins http://www.slideshare.net/adamwiggins/cloud- services?from=ss_embed The Twelve-Factor App http://12factor.net/ kirby Ferguson: Embrace the remix http://www.ted. com/talks/kirby_ferguson_embrace_the_remix.html
  31. 31. Obrigado! (thank you!) @rogerleite 1up4dev.org rogerleite
  32. 32. we’re hiring! desenvolvimento@akatus.com

×