Heroku

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Heroku
Tipo subsidiary
Industria Cloud platform as a service
Fundación 2007
Fundador(es) James Lindenbaum, Adam Wiggins, Orion Henry
Sede San Francisco, California
Personas clave Oren Teich, GM
Matriz Salesforce.com
Sitio web heroku.com
[editar datos en Wikidata]

Heroku es una plataforma como servicio de computación en la Nube que soporta distintos lenguajes de programación.

Heroku es propiedad de Salesforce.com.[1] Heroku, es una de las primeras plataformas de computación en la nube, que fue desarrollada desde junio de 2007, con el objetivo de soportar solamente el lenguaje de programación Ruby, pero posteriormente se ha extendido el soporte a Java, Node.js, Scala, Clojure y Python y (no documentado) PHP. La base del sistema operativo es Debian o, en la nueva plataforma, el sistema basado en Debian Ubuntu.[2]

Historia[editar]

James Lindenbaum, Adam Wiggins, y Orion Henry fundaron Heroku para dar soporte a proyectos compatibles con Rack.[3] El 8 de diciembre de 2010 Salesforce.com adquirió Heroku como una subsidiaria. El 12 de julio de 2011 Yukihiro "Matz" Matsumoto, el creador de Ruby se unió a la empresa como Arquitecto Jefe.[4] Ese mismo mes, Heroku incorporó el soporte para Node.js y Clojure. El 15 de septiembre de 2011 Heroku y Facebook presentaron Heroku para Facebook[5]

Actualmente Heroku soporta Cloudant, Couchbase Server, MongoDB y Redis,[6] además de la conocida PostgreSQL,,[7] tanto como parte de la plataforma o como servicio independente.[8]

Las aplicaciones se corren desde un servidor Heroku usando Heroku DNS Server para apuntar al dominio de la aplicación (típicamente nombreaplicacion.herokuapp.com). Cada aplicación corre sobre un motor a través de una "red de bancos de prueba" que consta de varios servidores. El servidor Git de Heroku maneja los repositorios de las aplicaciones que son subidas por los usuarios[9]

En junio de 2012 una tormenta que afectó Norteamérica causó que muchas aplicaciones alojadas en Heroku quedaran fuera de línea. La pérdida de servicio fue recuperada en menos de 24 horas[10]

Dynos[editar]

Los Dynos son piezas fundamentales del modelo de arquitectura de Heroku, son las unidades que proveen capacidad de cómputo dentro de la plataforma. Estan basados en Contenedores Linux.

Cada Dyno está aislado del resto, por lo que los comandos que se ejecutan y los archivos que se almacenan en un Dyno, no afectan a los otros. Además cada Dyno provee el ambiente requerido por las aplicaciones para ser ejecutadas.

Los posibles comandos a ser ejecutados en los dynos incluyen procesos web, o cualquier otro tipo de proceso definido en el archivo Procfile de la aplicación. Este es un archivo de texto ubicado en el directorio raíz de la aplicación, y es el mecanismo provisto para la declaración de comandos que luego correrán los dynos. Básicamente, consiste de una lista de tipos de procesos de la aplicación. Cada tipo de procesos constituye una declaración de un comando.

Principales características[editar]

  • Elasticidad y crecimiento. La cantidad de Dynos asignados a una aplicación se puede cambiar en cualquier momento a través de la línea de comandos o el dashboard.
  • Tamaño. Heroku ofrece diferentes tipos de dynos, cada uno con diferentes capacidades de procesamiento y memoria.
  • Routing. Internamente los routers realizan un seguimiento de la ubicación de los Dynos que estén corriendo, y redirigen el tráfico de acuerdo a la misma.
  • Seguimiento. Existe un manejador de Dynos, el cual monitorea de forma continua los dynos que se estén ejecutando. En caso de una falla en un Dyno, este es removido y creado nuevamente.
  • Distribución y redundancia. Los Dynos se encuentran aislados uno de otro. Esto implica que de existir fallos en la infraestructura interna de alguno de ellos, los otros dynos no se ven afectados, y consecuentemente tampoco la aplicación.

Competidores[editar]

Referencias[editar]

  1. Salesforce signs definitive agreement to acquire Heroku, Heroku, http://news.heroku.com/news_releases/salesforcecom-signs-definitive-agreement-to-acquire-heroku .
  2. «Stacks». Consultado el 15 de mayo de 2012.
  3. Ruby on Rails Startup Heroku Gets $3 Million, Tech Crunch, 2008-05-08, http://www.techcrunch.com/2008/05/08/ruby-on-rails-startup-heroku-gets-3-million .
  4. Matz joins Heroku, Heroku, 2011-07-12, http://blog.heroku.com/archives/2011/7/12/matz_joins_heroku/ 
  5. «Facebook and Heroku: an even easier way to get started», Developers, Facebook, http://developers.facebook.com/blog/post/558/ .
  6. NoSQL, Heroku, and You, Heroku, 2010-07-20, http://blog.heroku.com/archives/2010/7/20/nosql/ .
  7. «Database», Dev Centre, Heroku, https://devcenter.heroku.com/articles/database, consultado el 2012-05-03, «Heroku offers you the choice of running on a shared or dedicated database package. The shared plan is suitable for development and staging applications. It runs Postgres 8.3. The dedicated plans are suitable for production scale applications. In addition, the dedicated databases offer a number of advantages, including direct access (via psql or any native postgres library), stored procedures, and Postgres 9 support.» 
  8. SQL Database-as-a-Service: the largest and most reliable Postgres service in the world, Heroku, https://postgres.heroku.com/, consultado el 2012-05-03, «A powerful, reliable, and durable open-source SQL-compliant database, PostgreSQL is the datastore of choice for serious applications. Now it is available in seconds with a single click. Never worry about servers. Never worry about config files. Never worry about patches. Simply focus on your data.» 
  9. http://www.quora.com/Scalability/How-does-Heroku-work Scalability: How does Heroku work?
  10. Ludwig, Sear (29 de junio de 2012). «Amazon cloud outage takes down Netflix, Instagram, Pinterest, & more». VentureBeat. Consultado el 8 de julio de 2012. 

Enlaces externos[editar]