Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Heroku - Plataform as a Service

Heroku - Plataform as a Service

Foque no seu aplicativo e não no encanamento.

Sylvestre Mergulhão

September 05, 2012
Tweet

More Decks by Sylvestre Mergulhão

Other Decks in Technology

Transcript

  1. http://www.helabs.com.br @smergulhao EROSION-RESISTANCE Operating system upgrades, kernel patches, and infrastructure

    software (e.g. Apache, MySQL, ssh, OpenSSL) updates to fix security vulnerabilities. //// The server’s disk filling up with logfiles. //// One or more of the app’s processes crashing or getting stuck, requiring someone to log in and restart them. //// Failure of the underlying hardware causing one or more entire servers to go down, taking the application with it.
  2. http://www.helabs.com.br @smergulhao DYNOS virtualized unix container A dyno, the basic

    unit of composition on Heroku, is a lightweight container running a single user-specified command. You can think of it as a virtualized unix container—it can run any command that makes sense given the default environment in that container (what we supply in the Cedar stack), and in yourslug (which will be based on your code and language run times).
  3. http://www.helabs.com.br @smergulhao DYNO MEMORY BEHAVIOR 512MB up to 1.5GB Each

    dyno is allocated 512MB of memory to operate within. Dynos whose processes exceed 512MB of memory usage are identified by anR14 error in the logs. Though this does not terminate the process it is a warning of deteriorating application conditions as memory used above 512MB will go into swap, which can substantially degrade dyno performance. If the memory size keeps growing until it reaches three times (512MB x 3 = 1.5GB) its quota, the dyno manifold will restart your dyno with an R15 error.
  4. http://www.helabs.com.br @smergulhao DYNO ELASTICITY & SCALE Elasticity & scale: The

    number of dynos allocated for your app can be increased or decreased at any time.
  5. http://www.helabs.com.br @smergulhao DYNO HTTP ROUTING routing mesh Intelligent routing: The

    routing mesh tracks the location of all dynos running web processes (web dynos) and routes HTTP traffic to them accordingly.
  6. http://www.helabs.com.br @smergulhao DYNO PROCESS MANAGEMENT Process management: Resident processes are

    monitored for responsiveness. Dynos with misbehaving processes are taken down and new dynos are launched in their place.
  7. http://www.helabs.com.br @smergulhao DYNO DISTRIBUTION AND REDUNDANCY dyno manifold Distribution and

    redundancy: Dynos are distributed across an elastic execution environment known as the dyno manifold. An app configured with two web dynos hosts two web processes, as you’d expect, but each process is running in a separate physical location. If underlying infrastructure fails your site stays up - even with only two dynos.
  8. http://www.helabs.com.br @smergulhao DYNO IP ADDRESSES no public ips Isolation: Every

    dyno is completely isolated in its own subvirtualized container with many benefits for security, resource guarantees, and overall robustness.
  9. http://www.helabs.com.br @smergulhao SLUG COMPILATION Fresh checkout Remove unused files (

    .git, tmp, log, etc) Download, build and install deps (Gemfile, package.json, etc) Package the slug archive
  10. http://www.helabs.com.br @smergulhao Airbrake, Mailin, Docraptor, Sphinx, Postgresql, Scheduler (aka cron),

    Memcache, Mongo DB, Newrelic, Redis, Sendgrid, SSL, Statsmix, Solr, Mysql, Zenconder (video encoding).