33
Platform as a Service Roger Leite

Internals of OpenRuko PaaS, an open source Heroku clone implementation

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Internals of OpenRuko PaaS, an open source Heroku clone implementation

Platformas aServiceRoger Leite

Page 2: Internals of OpenRuko PaaS, an open source Heroku clone implementation

About Me

@rogerleite1up4dev.org

rogerleite

Page 3: Internals of OpenRuko PaaS, an open source Heroku clone implementation

About MeCommiter of some projects like

* Openruko (link)

* HTTPI (link)

* HttpMonkey (link)

Slides based on my experience with OpenRuko

Page 4: Internals of OpenRuko PaaS, an open source Heroku clone implementation

Disclaimer

Page 5: Internals of OpenRuko PaaS, an open source Heroku clone implementation

CloudDefinitions

* as a Service

Page 10: Internals of OpenRuko PaaS, an open source Heroku clone implementation
Page 11: Internals of OpenRuko PaaS, an open source Heroku clone implementation

Outsource

headachethe

Page 12: Internals of OpenRuko PaaS, an open source Heroku clone implementation

Bynary assets aren' hard ...

Storing metrics and rendering

graphs ...

Page 13: Internals of OpenRuko PaaS, an open source Heroku clone implementation

Scale

everything is easy ...

until you need

Page 14: Internals of OpenRuko PaaS, an open source Heroku clone implementation

No Bullet! Silver

Silver bulletyou say?

Page 15: Internals of OpenRuko PaaS, an open source Heroku clone implementation

Inside with love

Heroku

Page 16: Internals of OpenRuko PaaS, an open source Heroku clone implementation

Rea

lity $ git push

# open The Doors# provision# deploy# check if is not on Limbo

$ open http...

on your terminal

Page 17: Internals of OpenRuko PaaS, an open source Heroku clone implementation

Dre

am

lvl 1

* check user keys* handle git stream* Api Server will provision and deploy* output all logs

open The Doors

Page 18: Internals of OpenRuko PaaS, an open source Heroku clone implementation

Dre

am

lvl 2

* start a build container* identify buildpack* on Ruby buildpack** bundle install** generates a Foreman file if necessary** set env vars

* on success, release

provision ...

Page 19: Internals of OpenRuko PaaS, an open source Heroku clone implementation

Dre

am

lvl 3

* start a base container* download the new slug* start worker via Foreman* notify http routing about the new route

deploy ...

Page 20: Internals of OpenRuko PaaS, an open source Heroku clone implementation

Openruko - overview

Page 21: Internals of OpenRuko PaaS, an open source Heroku clone implementation

git push

Page 22: Internals of OpenRuko PaaS, an open source Heroku clone implementation

provision

Page 23: Internals of OpenRuko PaaS, an open source Heroku clone implementation

deploy

Page 24: Internals of OpenRuko PaaS, an open source Heroku clone implementation

Openruko - overview

Page 25: Internals of OpenRuko PaaS, an open source Heroku clone implementation

Limbo

on failure goes

to

Page 26: Internals of OpenRuko PaaS, an open source Heroku clone implementation

Logs!

your only chance to

escape from Limbo

are

Page 27: Internals of OpenRuko PaaS, an open source Heroku clone implementation

Philosophies* Unix Process Model to Web Apps* Ephemeralization* Twelve-Factor App

Page 29: Internals of OpenRuko PaaS, an open source Heroku clone implementation

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

Page 30: Internals of OpenRuko PaaS, an open source Heroku clone implementation

Twelve-factor appMethodology for building software-as-a-service apps * Dependencies* Config* Backing Services

Even if is not your case, is a great read!http://12factor.net/

Page 31: Internals of OpenRuko PaaS, an open source Heroku clone implementation

Mentions!Cloud computinghttp://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 openrukohttp://www.slideshare.net/nuxlli/the-twelve-factor-apps-and-openruko

Applying the unix process model to web appshttp://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

Page 32: Internals of OpenRuko PaaS, an open source Heroku clone implementation

Obrigado!(thank you!)

@rogerleite1up4dev.org

rogerleite