Desarrollar Software es un arte que integra muchos procesos, personas y actividades, las principales actividades que podemos encontrar en este son: Recibir requerimientos en forma de solicitud de un cliente, un proyecto, una licitación o simplemente una idea para desarrollar un software,Análisis donde clasificamos los requerimientos, realizamos diagramas para abstraer lo anterior a un lenguaje menos humanos y más computacional que permita que todas las personas involucradas en un proyecto de software entendamos o estemos de acuerdo en lo que se realizará
Diseño donde creamos Diagramas, Modelos, Bocetos, Mockups, y demás elementos para tener un acercamiento con lo que hará el softwareCodificación la parte donde pasamos el PseudoCódigo, algoritmo, requerimiento a código funcional.Pruebas donde verificamos que el software que estamos desarrollando cumple su función, tiene seguridad, soporta concurrencia y es de calidadDespliegue es donde llevamos nuestra aplicación a un entorno (seguramente de producción) para que el cliente, y/o los usuarios puedan interactuar con este.
Algunos de los inconvenientes con los que se encuentran algunas personas a la hora de desplegar sus proyectos en internet son:
- Desconocen servicios para desplegar y/o probar sus aplicaciones en un ambiente diferente al de desarrollo “localhost”.
- Conocen los servicios pero no tienen dinero para desplegar su proyectoConocen los servicios y tienen dinero, pero no cuentan con una tarjeta de crédito para poder crear sus cuentas en los principales proveedores de cloud computing.
- Conocen los servicios, tienen dinero, tarjeta de crédito, pero no han adquirido las habilidades de manejo de servidores y/o servicios de cloud computing para administrar la infraestructura.
Es por ello que hoy vamos a hablar de algunos servicios gratuitos para desplegar aplicaciones, y para esto empecemos hablando de los Stacks tecnológicos.
Lee también: ¿Qué son las aplicaciones web?
Qué son los Stacks Tecnológicos?
Son la combinación de las tecnologías usadas en las capas principales de una aplicación, es decir, frontend, backend, servidor web y capa de datos. El stack más famoso y uno de los más usados es LAMP (Linux, Apache, Mysql, PHP), y esto es debido a que las distribuciones linux (donde están la mayoría de servidores web) venían con soporte para estas tecnologías.
Con el paso de los años surgieron otros Stacks como JOTL (Java, Oracle, Tomcat, Linux) que utiliza tecnologías de oracle. Luego pasamos por los más modernos como MERN (MongoDB, ExpressJS, ReactJS, NodeJS), MEAN Cambiando Angular por React en el frontend. Y en los últimos tiempos está tomando fuerza JAM (Javascript, API, Markup). Qué es básicamente una aplicación en Javascript que consume datos de una API externa y utiliza plantillas con formato markdown para presentar la información.
Para desplegar aplicaciones tipo JAM podemos utilizar servicios gratuitos como Github Pages, Vercel, Surge.sh, entre otros.
Para desplegar aplicaciones tipo LAMP podemos utilizar servicios de hosting gratuito como 000webhost
Para desplegar aplicaciones tipo JOTL, MERN o MEAR podemos utilizar Plataformas As a Services como Heroku donde además del backend, podemos alojar una base de datos en postgresql.
Para alojar bases de datos tipo mongo podemos usar la capa gratuita en mongo atlas.
Y los grandes proveedores de cloud computing? AWS, Azure, Google Cloud Platform, IBM, entre otros, también cuentan con capas gratuitas, sin embargo requieren tarjeta de crédito (en algunos casos realizan un pago de 1 USD reembolsable para validar la tarjeta) y también son limitados en tiempo.
En el curso de Despliegue de aplicaciones aprenderás cómo desplegar tu aplicación de forma gratuita.
Curso de Introducción al Despliegue de Aplicaciones