Internals of OpenRuko PaaS, an open source Heroku clone implementation

Preview:

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

Platformas aServiceRoger Leite

About Me

@rogerleite1up4dev.org

rogerleite

About MeCommiter of some projects like

* Openruko (link)

* HTTPI (link)

* HttpMonkey (link)

Slides based on my experience with OpenRuko

Disclaimer

CloudDefinitions

* as a Service

Outsource

headachethe

Bynary assets aren' hard ...

Storing metrics and rendering

graphs ...

Scale

everything is easy ...

until you need

No Bullet! Silver

Silver bulletyou say?

Inside with love

Heroku

Rea

lity $ git push

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

$ open http...

on your terminal

Dre

am

lvl 1

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

open The Doors

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 ...

Dre

am

lvl 3

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

deploy ...

Openruko - overview

git push

provision

deploy

Openruko - overview

Limbo

on failure goes

to

Logs!

your only chance to

escape from Limbo

are

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

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

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/

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

Obrigado!(thank you!)

@rogerleite1up4dev.org

rogerleite

we’re hiring!

desenvolvimento@akatus.com

Recommended