Ir al contenido

Heroku

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 11:17 20 dic 2019 por InternetArchiveBot (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.
Heroku
Tipo subsidiary
Industria Cloud platform as a service
Forma legal filial
Fundación 2007
Fundador James Lindenbaum, Adam Wiggins, Orion Henry
Sede central San Francisco, California
Personas clave Oren Teich, GM
Propietario Salesforce
Empresa matriz Salesforce.com
Sitio web heroku.com

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

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 base de datos 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

Los Dynos son piezas fundamentales del modelo de arquitectura de Heroku, son las unidades que proveen capacidad de cómputo dentro de la plataforma. Están 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

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

Productos

Heroku Platform
La red Heroku ejecuta las aplicaciones del cliente en contenedores virtuales que se ejecutan en un entorno de tiempo real, heroku llama a esto contenedores, Dynos. Estos Dynos pueden ejecutar código escrito en Node, Ruby, PHP, Go, Scala, Python, Java o Clojure. Heroku también proporciona buildpacks personalizados con los que el desarrollador puede implementar aplicaciones en cualquier otro lenguaje. Heroku le permite al desarrollador escalar la aplicación instantáneamente tan solo incrementando el número de dyno o ejecutando la aplicación en un dyno más potente.
Heroku Postgres
Heroku Postgres es un servicio Cloud database (DBaaS) de Heroku basado en PostgreSQL. Heroku Postgres provee características como protección continua, rollback y alta disponibilidad. También permite forkear la base de datos, crear followers y dataclips.
Heroku Redis
Heroku Redis es el Redis personalizado de Heroku que provee una mejor experiencia de desarrollo. Heroku lo ofrece como servicio, ayuda a gestionar las instancias con una CLI, permite asociar datos con Postgres para ganar información comercial usando herramientas SQL permitiéndole al cliente obtener visibilidad del rendimiento.
Heroku Teams
Heroku Teams es una herramienta de gestión de equipo que provee colaboración y controles para reunir a desarrolladores, procesos y herramientas con el fin de crear un mejor software. Con Heroku Teams los equipos pueden autoorganizarse, agregar y gestionar miembros del equipo, obtener un control detallado con permisos a nivel de aplicación, y también usar herramientas colaborativas como Heroku Pipelines.
Heroku Connect
Heroku Connect les permite a los usuarios de aplicaciones Heroku poder integrarse fácilmente con las implementaciones de Salesforce. Esto es posible al tener una perfecta sincronización de datos entre la base de datos Postgres de Heroku y la organización de Salesforce.
Heroku Enterprise
Heroku Enterprise proporciona servicios a grandes empresas que les ayudan a mejorar la colaboración entre diferentes equipos. Proporciona un conjunto de características como detallados controles de acceso, identidades para la organización y espacios privados, para administrar el proceso de desarrollo de aplicaciones empresariales, los recursos y los usuarios.
Heroku Elements
Heroku Elements proporciona a los usuarios los complementos, herramientas y servicios para desarrollar, extender y operar la aplicación. Existen los llamados Buildpacks que automatizan los procesos de compilación para muchos de los frameworks y lenguajes de programación. ​Con un ​Buildpacks​ se ​logra ​aprovisionar con un solo clic toda la configuración, componentes de terceros, librerías y patrones para una aplicación.

Competidores

Referencias

  1. Salesforce signs definitive agreement to acquire Heroku (news release), Heroku ..
  2. «Stacks | Heroku Dev Center». Consultado el 15 de mayo de 2012. 
  3. Ruby on Rails Startup Heroku Gets $3 Million, Tech Crunch, 8 de mayo de 2008 ..
  4. Matz joins Heroku (weblog), Heroku, 12 de julio de 2011 .
  5. «Facebook and Heroku: an even easier way to get started», Developers (weblog), Facebook ..
  6. NoSQL, Heroku, and You (weblog), Heroku, 20 de julio de 2010 ..
  7. «Database», Dev Centre, Heroku, archivado desde el original el 24 de marzo de 2012, consultado el 3 de mayo de 2012, «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.»  |archiveurl= y |urlarchivo= redundantes (ayuda); |archivedate= y |fechaarchivo= redundantes (ayuda).
  8. SQL Database-as-a-Service: the largest and most reliable Postgres service in the world, Heroku, archivado desde el original el 9 de mayo de 2012, consultado el 3 de mayo de 2012, «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