Logotipo de Zephyrnet

Las 4 mejores plataformas en la nube para alojar o ejecutar contenedores Docker de forma gratuita

Fecha:

Introducción

El uso de contenedores se está volviendo más popular y ampliamente utilizado por los desarrolladores en la industria del software en los últimos años. Docker todavía se considera una de las principales herramientas para crear contenedores mediante la creación de imágenes entre plataformas de contenedores o plataformas en la nube. La creación de contenedores se trata de agrupar una aplicación/servicio de software y aislarlo del entorno del host para que pueda ejecutarse en todas partes, ya sea AMD o ARM. El alojamiento Docker Cloud ha simplificado la agrupación y el uso compartido de contenedores.

Habrá situaciones en las que uno quiera alojar y ejecutar estos contenedores en línea en la nube. Por ejemplo, contener una aplicación de página web y ejecutarla en la nube, de modo que pueda ser compartida y visible para todos. Muchos proveedores de nube le permiten construir contenedores en línea para la aplicación dada y ejecutarlos continuamente. Alternativamente, permiten al usuario ingresar directamente el archivo de imagen y luego crear un contenedor a partir de él. Ahora, aquí es donde entra este artículo, donde analiza las plataformas gratuitas donde se pueden implementar y ejecutar estos contenedores Docker.

OBJETIVOS DE APRENDIZAJE

  1. Las aplicaciones en contenedores se pueden compartir entre otros libremente
  2. Plataformas que permiten alojar aplicaciones en contenedores sin costo
  3. Ofertas de estas plataformas en el nivel gratuito
  4. Beneficios asociados con estas plataformas

Este artículo fue publicado como parte del Blogatón de ciencia de datos.

Índice del contenido

Fin de Heroku

Alojar aplicaciones en contenedores en la nube es la mejor manera de compartirlas con otros y comprender qué tan bien pueden o deben escalarse para que estén disponibles para millones de usuarios sin retrasos en la conexión. Muchas plataformas en la nube le permiten alojar sus aplicaciones/contenedores acoplables. Pero la mayoría de estas plataformas no son gratuitas o solicitan a los usuarios su información personal, como los datos de la tarjeta de crédito. Una vez, solía haber una plataforma llamada Heroku, que solía proporcionar alojamiento gratuito de aplicaciones en la nube.

Heroku era muy famoso entre todos los desarrolladores por su nivel gratuito y su facilidad de uso. Pero recientemente, Heroku eliminó su nivel gratuito, y ahora ha llegado el momento de que los desarrolladores busquen su próximo sucesor. Este artículo le brinda información sobre cuatro plataformas que lo ayudan a alojar aplicaciones en contenedores de forma gratuita en la nube sin cobrar nada ni solicitar información personal.

Zeet

Zeet es una plataforma en la nube para implementar Operado por DevOps, servicios en la nube listos para la producción. Cualquier programador puede publicar código en una infraestructura de nivel de producción con Zeet, una plataforma de software desarrollada sobre su AWS o GCP, lo que elimina la necesidad de una gestión compleja de la infraestructura. Por defecto, admite muchos lenguajes de programación como Python, Node, etc.

Zeet permite a sus usuarios implementar aplicaciones/sitios web utilizando contenedores, que se ejecutan en un clúster administrado por Zeet. La imagen de Docker se puede proporcionar directamente a Zeet para implementarla. Zeet es compatible con una variedad de lenguajes de programación.

Zeet tiene un plan gratuito para desarrolladores. Lo siguiente está incluido en este plan gratuito:

  1. Se pueden implementar 3 aplicaciones proporcionando las imágenes en el nivel gratuito en Zeet
  2. Zeet permite al usuario desplegar el contenedor en un área
  3. Zeet permite al usuario implementar el contenedor en AWS/GCP/DO
  4. La plataforma proporciona una arquitectura escalable y funciones sin servidor
  5. El nivel gratuito proporciona hasta 500 MB de RAM

Las siguientes son sus desventajas/limitaciones:

  1. La aplicación se puede implementar solo en una región de la nube
  2. Sin retención de datos de registro y métricas
  3. El acceso a la API no es accesible en el nivel gratuito

La empresa Mythia utiliza Zeet como reemplazo de AWS, lo que ahorra cientos de horas de desarrollo. La compañía Fairgrounds que utiliza Zeet está tratando de construir una compañía Metaverse and Paper completa que emplee Zeet para la solución de pago.

Plataforma en la nube Zeet | alojamiento en la nube acoplable

Volar.io

Fly.io es una nueva nube pública que simplifica la implementación/publicación de aplicaciones en tiempo real cerca de los usuarios objetivo, independientemente de si pueden estar presentes en el mundo. Se basa en servidores bare-metal que operan en centros de datos de todo el mundo. El lema principal de Fly.io es entregar aplicaciones a los usuarios finales con alta disponibilidad y baja latencia.

Fly.io no tiene nada como un plan gratuito o un nivel gratuito en lo que respecta a su sección de precios, pero permite a los usuarios proporcionar suficientes recursos para ejecutar pequeños sitios web/aplicaciones de forma gratuita. Uno puede alojar Contenedores en este sitio web.

Fly.io toma la aplicación y su Dockerfile, que el usuario desea alojar, luego, basándose en el Dockerfile, crea la imagen y luego aloja el siguiente contenedor. El usuario puede proporcionar la imagen de Docker preconstruida si ya existe. El nivel gratuito incluye lo siguiente:

  1. El desarrollador puede crear hasta 3 instancias de VM shared-cpu-1x.
  2. Todas las instancias de VM lanzadas vienen con una RAM de 256 MB.
  3. Se proporciona un espacio en disco de 3 GB, es decir, volumen de persistencia, y se comparte entre todas las aplicaciones.
  4. Permite hasta 160 GB de transferencia de datos salientes.

El nivel gratuito de fly.io incluye las siguientes limitaciones/desventajas:

  1. Proporciona la menor cantidad de RAM en comparación con todas las plataformas de este artículo.
  2. La transferencia de datos salientes varía de una región a otra.
  3. Solo los primeros 10 certificados de nombre de host único son gratuitos.

Muchos sitios web como reactrouter.com, kentcdodds.com, unpkg.com y aiven.io aprovechan fly.io para alojar sus sitios web de modo que sus sitios web estén altamente disponibles para todos los usuarios de todo el mundo.

Plataforma en la nube Fly.io | alojamiento en la nube acoplable

Antes de trabajar con fly.io, es necesario instalar su herramienta de línea de comandos llamada volarctl en el sistema operativo host, y se puede hacer de la siguiente manera:

# Installing flyctl in windows
$ powershell -Command "iwr https://fly.io/install.ps1 -useb | iex" # Installing flyctl in Linux
$ curl -L https://fly.io/install.sh | sh # Installing flyctl in Mac
$ brew install flyctl

hacer

Render es una plataforma en la nube integrada totalmente administrada que se puede usar para ejecutar la aplicación o el sitio web dados, proporcionando un certificado TLS gratuito, una red privada y una CDN global. Proporciona una variedad de funciones, como bases de datos administradas, implementaciones con un solo clic, escalado automático y una interfaz de usuario fácil de usar. Proporciona una fácil integración con herramientas de desarrollo como Docker y GitHub. Render proporciona soporte nativo para hospedar aplicaciones y servicios en contenedores a escala.

Render tiene un plan de nivel gratuito, que es un plan de nivel gratuito, que luego se puede actualizar mediante cálculos crecientes y complejos. El plan de nivel gratuito incluye:

  1. Ancho de banda de salida gratuito de 100 GB
  2. Una CPU compartida con 512 MB de RAM
  3. Los usuarios pueden ejecutar su aplicación de forma gratuita durante 500 horas que se renueva mensualmente
  4. Render tiene soporte para CD automático (implementación continua) de Git
  5. Dominios personalizados con TLS para sitios web estáticos
  6. Tiempo de ejecución gratuito de 750 horas que se renueva mensualmente para todos los servicios web
  7. Base de datos gratuita de Postgres
  8. Los sitios web estáticos tienen soporte para DDoS Protection, HTTP/2 listo para usar

Las desventajas/limitaciones con respecto al uso de Render incluyen:

  1. El acceso SSH a los servicios web no es compatible con el plan gratuito
  2. La base de datos PostgreSQL caduca después de 90 días
  3. Los servicios web pueden reiniciarse en cualquier momento
  4. No hay instancias gratuitas para servicios privados
  5. Las instancias gratuitas de Redis se pueden reiniciar en cualquier momento

Empresas como Indie Hackers, Pete for America, Zelos, etc. han elegido Render en lugar de AWS por su simplicidad, que eliminó gran parte de la complejidad de la infraestructura y les ayudó con las compilaciones automáticas y la implementación sin tiempo de inactividad.

plataforma de procesamiento en la nube | alojamiento en la nube acoplable

Ferrocarril

The Railway es una plataforma de implementación basada en la nube que permite a los usuarios publicar y alojar aplicaciones en la nube. El ferrocarril se encarga de gestionar estos servidores, y bases de datos, cuidando así la infraestructura. Admite varios lenguajes, incluidos Python, Next.js, Node y muchos otros.

Una de sus características clave es su soporte para Docker. Durante el proceso de compilación, la aplicación Railway busca un Dockerfile, por lo que puede crear una imagen para la aplicación en función de su configuración y ejecutar el siguiente contenedor en la nube.

El ferrocarril viene con un plan de nivel libre, que incluye lo siguiente:

  1. Una memoria RAM de 512 MB y una CPU/contenedor compartido
  2. 1 GB de espacio en disco se comparte entre los servicios creados
  3. $5 de crédito y 500 horas de uso que se renueva mensualmente
  4. Transferencia de datos de hasta 100 GB que se renueva mensualmente

Las desventajas/limitaciones asociadas con esta plataforma en la nube incluyen:

  1. El tiempo de ejecución ilimitado no se proporciona en el nivel gratuito
  2. Los proyectos compartidos no son compatibles con el plan individual
  3. Menos espacio en disco, es decir, 1 GB, entre las plataformas anteriores

Railway es empleado por diferentes empresas como Atmos, que se ocupa de la personalización de viviendas inmobiliarias, y Zora, una empresa relacionada con NFT. Fion Tech proporciona modelos de aprendizaje automático para la predicción de incendios, operandos y muchos más.

Plataforma Nube Ferroviaria | alojamiento en la nube acoplable

Implementación de una aplicación Flask

Intentemos implementar una aplicación Flask simple en una de las plataformas anteriores. Aquí lo implementará en la plataforma Render. Veamos el código de muestra y el Dockerfile.

from flask import Flask app = Flask(__name__) @app.route('/')
def hello(): return 'Hello Flask App' if __name__ == "__main__": app.run(debug=True) 

El código anterior iniciará un servidor de matraz y mostrará el mensaje "Hello Flask App". A continuación se muestra el Dockerfile, que ayudará a crear una imagen para la sencilla aplicación Flask. Cargue estos dos archivos en un repositorio de GitHub.

FROM python:3.10-slim WORKDIR /flask_app COPY . . RUN pip install -r requirements.txt
ENV FLASK_DEBUG=1
EXPOSE 5000 CMD ["flask","run","--host=0.0.0.0"]
  1. Lo primero que debemos hacer ahora es registrarnos en Render utilizando su cuenta de GitHub.
  2. Para alojar una aplicación Flask, haga clic en la pestaña Nuevos servicios web.
  3. Ahora, en el repositorio público de Git, agregue el enlace a su repositorio de git que contiene la aplicación del matraz y el Dockerfile. Después de pegarlo, haga clic en el botón Continuar. Después de esto, aparecerá otra página.
  4. Nombraremos nuestro servicio web como aplicación de matraz simple; la región y la sucursal vienen por defecto. Como estamos proporcionando un Dockerfile para crear una imagen para nuestra aplicación de matraz. Por lo tanto, Runtime se completa como Docker de forma predeterminada. Ahora desplácese hacia abajo y presione el botón Crear servicio web para crear este nuevo servicio.
  5. Ahora Render comenzará a construir nuestra aplicación de matraz simple. Primero busca un Dockerfile, basado en el Dockerfile, Render creará y construirá una imagen basada en el Dockerfile y luego la implementará en el servidor Renders. El enlace para el sitio web está debajo del aplicación de frasco simple. Abriendo el enlace, llegamos a ver lo siguiente.
"

Por lo tanto, la aplicación funciona perfectamente. De esta manera, uno puede crear una aplicación, luego crear un Dockerfile respectivo, que Render usa para construir una imagen a partir de él y ejecutarlo en la nube.

Conclusión

Crear una aplicación es una tarea y desplegarla en la nube como contenedor es otra. La mayoría de las plataformas en la nube no admiten Docker/containerización. Por lo general, no tienen niveles/planes gratuitos, incluso si los admiten. Servicios en la nube como AWS/GCP le permite implementar estos contenedores, pero le pide al usuario que ingrese los detalles de su tarjeta de crédito. Por lo tanto, este artículo se centra en aquellos sitios web/servicios en la nube que no solo admiten la contenedorización, sino que al mismo tiempo permiten que el usuario los aloje de forma gratuita sin proporcionar la tarjeta de crédito ni la información personal.

Algunas de las conclusiones clave de este artículo incluyen las siguientes:

  1. Fly.io es la mejor opción si se quiere que las aplicaciones se ejecuten como aplicaciones de borde, es decir, más cerca de los usuarios finales
  2. En Zeet, el usuario puede buscar directamente la imagen de Docker en Docker Hub e implementarla.
  3. Render, de forma predeterminada, viene con muchas funciones de seguridad, incluso en el plan de nivel gratuito, con implementaciones sin tiempo de inactividad.
  4. Railway proporciona al usuario un crédito gratuito de $ 5 y viene con una buena interfaz de usuario

Los medios que se muestran en este artículo no son propiedad de Analytics Vidhya y se utilizan a discreción del autor. 

punto_img

Información más reciente

punto_img

Habla con nosotros!

¡Hola! ¿Le puedo ayudar en algo?