64

¿Qué es Heroku? Cómo funciona la plataforma y para qué sirve

34852Puntos

hace 6 años

Heroku es una plataforma de servicios en la nube (conocidos como PaaS o Platform as a Service) que permite manejar los servidores y sus configuraciones, escalamiento y la administración. Su popularidad ha crecido en los últimos años debido a su facilidad de uso y versatilidad para distintos proyectos.

¿Qué es Heroku?

Heroku es uno de los PaaS más utilizados en la actualidad en entornos empresariales por su fuerte enfoque en resolver el despliegue de una aplicación. En otras palabras, a Heroku solo le dices qué lenguaje de backend estás utilizando o qué base de datos vas a utilizar y te preocupas únicamente por el desarrollo de tu aplicación.

Si en tu día a día te encuentras desarrollando apps, debes ser consciente que el impacto inicia cuando comienzas a tener usuarios, por esto es importante lanzar tu aplicación sin tener complicaciones de infraestructura, administrar servidores, tus bases de datos y la seguridad que estos deben de tener entre otras cosas.

En el mercado existen una serie de alternativas conocidas como PaaS (Platform as a Service) o “Plataformas como Servicios” que, además de ser la evolución de las IaaS (Infraestructura como Servicio), como EC2 de Amazon donde te dan un servidor y tu te encargas de provisionarlos y administrarlos con PaaS, te puedes olvidar de todas estas cuestiones de administración, pues utilizas directamente una plataforma que lo hace por ti.

Si este tema te interesa pronto lanzaremos un curso para que tú puedas crear tus propios PaaS utilizando Microsoft Azure.

heroku2.png

Características de Heroku

  • Soporta diferentes lenguajes de programación: Node, Ruby, Java, Clojure, Scala, Go, Python, PHP
  • Tiene una versión gratuita fácil de usar
  • Ejecuta las aplicaciones a través de sus contenedores, también conocidos como Dynos
  • Tiene Dynos que pueden ser de tres tipos: web, worker o cron
  • Ofrece más de 200 complementos con los que ampliar las aplicaciones al instante
  • Ofrece varias características de seguridad, incluyendo SSL, autenticación y cumplimiento de PCI

¿Quién utiliza Heroku?

Heroku tiene su clientela bien definida: empresas que quieren dejar de preocuparse por cuestiones de infraestructura y sólo enfocarse en el desarrollo. Por lo general estas suelen ser empresas grandes o startups que prefieren no invertir en un equipo de operaciones cuando están en una etapa temprana, y su prioridad debe ser hacer un producto que las personas quieran.

Heroku tiene dos tiers, o niveles, para personas interesadas en aprender: una versión gratuita similar a la de now.sh, que entra en modo “sleep” cada 30 minutos sin tráfico, y otra de 7 USD que compite con el servicio básico de 5 USD al mes que ofrece Digital Ocean, pero agregar las ventajas de que nuestros servidores sean administrados por nosotros.

Antes de empezar a entender completamente los beneficios que presenta Heroku, es importante conocer la historia detrás de la computación en la nube y dónde encaja Heroku.

Cómo se relaciona Heroku y la computación en la nube

La computación en la nube es un paradigma de la tecnología de la información. Es un modelo que permite el acceso a grupos compartidos de recursos configurables de forma ininterrumpida, tales como redes de computadoras, servidores, almacenamiento, aplicaciones y otros servicios.

Los servicios en la nube pueden suministrarse rápidamente con un mínimo esfuerzo de gestión por parte de la empresa, pues la logística de la a dministración de estos servicios está distribuida y funciona desde internet. La nube es una opción atractiva para las empresas con diversas necesidades. Sin embargo, las particularidades del modelo de negocio y las necesidades de cada proyecto determinarán qué proveedor de servicios en la nube será más óptimo para lo que necesitas en tu empresa.

Heroku y sus beneficios

heroku beneficios

Heroku, una solución de plataforma como servicio, es generalmente fácil de usar. Pero es más beneficiosa para las empresas en situaciones específicas. Heroku tiene un modelo de servicio gratuito para proyectos pequeños. Además, existen paquetes de servicios escalonados para los casos en los que hay que atender necesidades empresariales más complejas.

Arquitecturas orientadas a servicios

Las arquitecturas orientadas a servicios son la esencia de la computación en nube y pueden separarse por su finalidad.

Las categorías más destacadas son la infraestructura como servicio (IaaS), la plataforma como servicio (PaaS) y el software como servicio (SaaS). Conoce qué son las IaaS y PaaS.

Infraestructura como servicio

Las arquitecturas IaaS proporcionan almacenamiento, redes, potencia de cálculo y otros recursos informáticos de base donde los usuarios del servicio pueden desplegar y ejecutar software arbitrario. El software puede incluir sistemas operativos (SO) y aplicaciones.

En este modelo, los usuarios no gestionan ni controlan la infraestructura subyacente de la nube. En cambio, tienen el control sobre los sistemas operativos, el almacenamiento, las aplicaciones desplegadas y, posiblemente, algunas piezas de los componentes de red.

Ejemplos de arquitecturas IaaS son Amazon Web Services y Microsoft Azure.

Lee también: Ventajas y desventajas en la nube

¿Te gustaría aprender más sobre Heroku? ¿Utilizas alguna otra opción para subir tus proyectos a la nube? ¿Cómo manejan la infraestructura en la empresa donde trabajas? Cuéntame en los comentarios de este post y platiquemos sobre infraestructura. Para empezar a usar de mejor manera Heroku y otras plataformas, puedes seguir nuestro Curso de Introducción al Despliegue de Aplicaciones. Explora nuestros cursos de AWS.

Ricardo
Ricardo
ricardocelis

34852Puntos

hace 6 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
2
6707Puntos

Tengo una pregunta: ¿Existe alguna diferencia entre Heroku y Netify? ¿Netify hace lo mismo o es un tema completamente distinto?

2
7495Puntos

Deberían actualizar el curso de heroku me parece una buena alternativa para despliegue de aplicaciones. saludos

1
11Puntos

hola yo conozco algunas cosas en html, css y javascript, también sobre django y otras cosillas con mysql; quería saber si aprendo django con todo lo anterior ya estoy listo para trabajar un sitio web

1

Hola! En mi empresa actualmente se utilizan recursos EC2 donde están desplegadas las aplicaciones de producción y utilizamos Azure para hacer despliegue continuo al ambiente de pruebas. Sin embargo esta forma me parece muy interesante y me gustaría aprender sobre ello apra trabajar en proyectos personales!

1

Que tal, hay alguna restriccion sobre el numero de deploys al dia ??

1
9Puntos

En estos momentos estoy usando heroku para el deploy de un sistema, pero no se si es recomendable usarlo para produccion. Que me recomiendan?.. Y gracias

1
3040Puntos

now.sh ahora es zeit.co, muy interesante opción para tener una liberación continua de tu app

1
4373Puntos

Hola,quisiera saber que capacidad de almacenamiento web maneja heroku en el modelo gratis.

1
1380Puntos

No utilizo Heroku, en este momento cuento con un VPS ¡Muajajaja!, pero antes de eso utilizaba utilizaba servidores compartidos (durante 10 años), en conjunto empece a utilizar Azure con PaaS, ya que contaba con crédito por 3 años (cuando se termino casi lloro).

La verdad me gusta mucho tener un VPS por que sobre Centos 7 pude remplazar WHM por Plesk, ahora todo funciona maravillosamente. Además de que tengo IP Dedicada y estoy por contratar DNS Personalizados.

Le echare un ojo a heroku.com y now.sh para saber si me conviene empezar a utilizarlos o sigo con el VPS.

1

Ricardo que miras al cielo,… me puedes decir por favor, que es el buildpack,? y para que sirve?. Al intentar hacer el deply en heroku me reclama eso del buildpack,… alli ademas hya unas cajita y dentro dice “master” y al lado un boton “deply branch”,… ¿como subo mi proyecto de prueba usando Mysql?

1
120Puntos

Nunca pares de Aprender!! Yeah!!

Han despertado mi interes en estas tecnologias.

¿Heroku permite crear bases de datos en su version gratuita?