¿Cómo funciona un servicio como Heroku en comparación con un host de sitio web normal?

A los fines de esta respuesta, supondré que cuando dices “host de sitio web normal” te refieres a algo como wix (https://www.wix.com), o tal vez algo como Lunarpages. La frase “host de sitio web normal” me hace pensar en tratar de comparar a Heroku con uno de los muchos proveedores de alojamiento web CMS “listos para usar”.

Un proveedor de alojamiento web CMS listo para usar le ofrecerá un paquete que viene con un montón de piezas de software conectables que funcionan o casi funcionan, así como un panel de control para configurar esas piezas de software. Obtendrá cosas como WordPress, MySQL, un sitio FTP, algunos middleware de gestión de carritos de compra relativamente fáciles de usar, etc., sin tener que pensar mucho en nada más que en su contenido. CMS significa gestión de contenido. Si desea comenzar a escribir su blog, configurar una tienda relativamente simple, etc., esos son los servicios que desea. En su mayor parte, las cuestiones de escala y seguridad, entre otras cosas, se gestionarán por usted (hasta cierto punto).

Heroku es una plataforma de aplicaciones alojada en la nube. Si tiene algún conocimiento de node.js, Java o tecnologías de servidor similares, puede crear una aplicación muy sofisticada comenzando desde cero, diseñada para hacer exactamente lo que quiere que haga. También puede tomar algún software de código abierto que haga CRM o lo que sea (tal vez wordpress, por ejemplo) y alojarlo en Heroku, pero es probable que tenga que lidiar con un montón de preguntas de escala y otras dificultades técnicas por su cuenta. Tendrá que asegurar sus servicios, asegurándose de que el área de superficie de cualquier API que proporcione no permita, por ejemplo, que los abusadores mal intencionados tengan acceso a sus recursos. Heroku proporciona algunas capas de funcionalidad para monitorear y escalar que podría no obtener con otros proveedores de la nube, pero aún es mucho menos apuntar y hacer clic en Wix o Lunarpages, si lo que desea es obtener un blog de WordPress con un escaparate -y corriendo.

Las principales diferencias entre un “normal” (presumiendo hosting compartido o dedicado, en lugar de algo como wix donde proporcionan software para escribir sus páginas) son;

  1. El concepto de procesos y dinamómetros; puede tener tantos procesos como desee, que se ejecutan en dynos. El único especial es “web”, que puede recibir tráfico de la capa de enrutamiento de Heroku. Cada proceso se puede escalar independientemente en bloques de dinamómetros. Los Dynos son unidades de potencia de cómputo y vienen en diferentes tamaños (desde gratis hasta desempeño).
  2. No ssh / ftp para implementar el software, empuja desde git – “git push heroku master”
  3. No debe almacenar cosas en el sistema de archivos: los dinamómetros son de lectura / escritura, pero son efímeros y pueden reemplazarse o reiniciarse periódicamente, además de que estará ejecutando más. Almacene cosas en S3 o equivalente.

More Interesting

¿Cuál es mejor probador s / w o desarrollador s / w?

¿Alguien puede saber el código Java para el sistema de gestión de la universidad?

¿Cómo se sienten los ingenieros de software acerca de ser llamados "hackers"?

¿Cuáles son algunos recursos sobre cómo enviar datos a Google Analytics desde la aplicación web Java?

Si fuera un buen desarrollador de PHP pero quisiera aprender un nuevo lenguaje para el desarrollo web, preferiblemente con un marco de trabajo que sea prospectivo y tenga un buen futuro, ¿cuál sería?

¿Cuáles son las tecnologías y bases de datos de back-end utilizadas en aplicaciones de redes sociales como Instagram, Twitter y Snapchat?

¿Deberían las clases seguir el mismo diseño que mi base de datos?

Ingeniería de software: ¿Cuántas soluciones hay para este rompecabezas?

¿Qué es un acoplador? ¿Cómo es importante para las personas de pruebas de software?

No me gusta la codificación o el desarrollo de software, prefiero aprender cómo se diseña y desarrolla un microprocesador. ¿Qué flujo debo elegir?

Cómo obtener ayuda de la comunidad de GitHub en mi proyecto de software

¿Alguien siente que la calidad del software en general ha disminuido desde mediados de la última década?

Cómo implementar el marcado de esquema en el sitio web de una empresa de desarrollo de software

Con múltiples contribuyentes, ¿se puede especificar el monto de la contribución en una patente?

¿Es difícil escribir software que se actualice sin reiniciar? ¿Por qué la mayoría de los software con recursos suficientes (por ejemplo, Firefox, Spotify) no hacen esto?