La lista de selección de Alojamiento Docker

Tenga en cuenta que esta publicación se actualizó el 20 de octubre de 2016.

Todos sabemos que Docker es fácil de instalar y ejecutar en nuestras máquinas locales. Pero la transición sin problemas de nuestras pilas de aplicaciones perfeccionadas del desarrollo a la producción fue una pieza del rompecabezas que faltaba hasta los últimos seis a doce meses.

Ahora hay tantos servicios de alojamiento Docker especializados y optimizados disponibles, es hora de revisar para ver qué se ofrece.

Una de las complejidades de comparar las opciones de alojamiento de Docker es que muchas ofrecen herramientas de gestión y orquestación además de los proveedores de alojamiento reales. No todos aclaran qué proveedor usan, cuándo o dónde, y esto puede ser o no un problema importante para usted. Por esta razón, no he incluido servicios como Deis Workflow, Docker Cloud o ContainerShip, ya que no dicen serlo ni ofrecen servicios de alojamiento integrado.

Aunque incluiré servicios que se alojen en otros lugares, estos costos están incluidos en el precio.

Por supuesto, es posible instalar Docker en una máquina virtual basada en Linux en cualquier proveedor de alojamiento, y podría producir páginas de perfiles de empresas de alojamiento” estándar”. En su lugar, he tratado de centrarme en servicios que ofrecen algo más que alojamiento simple para hacer que su experiencia de Docker sea más fluida y mejorada.

Máquina acoplable

Para muchos proveedores de alojamiento, la forma más fácil de implementar y administrar sus contenedores es a través de controladores de máquina acoplable. A menos que estos anfitriones ofrezcan algo extra por encima del conductor, no los enumeraré por separado. Actualmente, estos incluyen:

  • Amazon Web Services

  • Microsoft Azure

  • Digital Ocean

  • Exoscale

  • Google Compute Engine

  • OpenStack

  • Rackspace

  • IBM Softlayer

Más probablemente seguirán pronto, y usted puede ser capaz de utilizar el controlador genérico para otros hosts.

Amazon Web Services (AWS)

AWS es el servicio de alojamiento en la nube más grande del planeta y ofrece soporte para Docker en la mayoría de sus máquinas EC2 estándar.

AWS ofrece el servicio de contenedores EC2 (ECS) que expone un conjunto de llamadas a la API para administrar contenedores instalados en sus instancias de EC2. ECS no se cobra por separado, pero se encuentra encima de cualquier otro recurso de AWS que utilicen sus contenedores. Esto significa que los contenedores tienen acceso a la amplia variedad de servicios que ofrece AWS, incluidos el almacenamiento y el escalado.

aws.amazon.com/ecs

Digital Ocean

El soporte de contenedores Docker en Digital Ocean es simple, lo que refleja la forma en que generalmente trabaja la empresa. Inicie sesión en su cuenta y cree una nueva gota basada en la aplicación Docker.

Esto creará una máquina virtual ejecutándose en la parte superior de Ubuntu para usarla como de costumbre.

digitalocean.com/community/tutorials/how-to-use-the-digitalocean-docker-application

Carina

Rackspace ofrece un controlador de máquina Acoplable, pero también tiene un servicio de alojamiento de contenedores. Carina todavía está en versión beta pública y le permite crear clústeres tipo enjambre de Docker. También le permite administrar sus contenedores desde el desarrollo hasta la producción utilizando, en su mayoría, comandos de Docker estándar. Por ejemplo:

carina create chriscluster --wait --nodes=3 --autoscale

También hay una consola web disponible para administrar sus contenedores y aplicaciones.

getcarina.com

Sloppy.io

Sloppy.io proporciona herramientas de CLI, interfaz web, almacenamiento persistente entre lanzamientos de contenedores y estadísticas. Construye pilas de aplicaciones a través de un archivo JSON y, gracias a la integración de Mesos subyacente, Sloppy le permite establecer las especificaciones de la máquina. Por ejemplo:

{ "project": "chrisexample", "services": , "env": { "LCB_DATABASE_URI": "mongodb://mongodb.backend.chrisexample/chrisexample" }, "dependencies": } ] }, { "id": "backend", "apps": } ] } ]}

sloppy.io.

Giant Swarm

Esta es una nueva startup a la que le gusta mantenerlo simple y centrarse en proporcionar un producto y soporte sólidos. Giant Swarm no utiliza máquinas virtuales y solo implementará sus contenedores y servicios en máquinas AWS privadas y sus propios servicios de hardware.

El precio exacto no está claro, y el servicio es solo para invitados en este momento, pero están abiertos sobre su infraestructura, con varios componentes personalizados disponibles en GitHub. La configuración se realiza a través de una herramienta de línea de comandos, con aplicaciones definidas por un archivo JSON que se asemeja a un archivo de composición de Docker. Por ejemplo:

{ "name": "chris-app", "components": { "front-end": { "image": "registry.giantswarm.io/chrischinchilla/front-end", "ports": 8000, "domains": { "8000": "chris-app.com" }, "links": }, "redis": { "image": "redis:2.6", "ports": 6379 } }}

Las imágenes pueden ser del Docker Hub, así como imágenes personalizadas de su cuenta en el registro de Enjambre Gigante.

Inicie su aplicación con un comando simple que puede pasar una variedad de parámetros al archivo JSON.

swarm up --var=domain=chrisapp-chrischinchilla.gigantic.io

Una API está disponible para un control más preciso de sus servicios, y los compañeros de trabajo se pueden organizar en equipos para permitir la colaboración.

giantswarm.io

Google Compute Engine (GCE)

Kubernetes respalda el servicio de administración y alojamiento de contenedores de Google, su propio proyecto de código abierto que impulsa muchas infraestructuras grandes basadas en contenedores. Los contenedores se encuentran encima del propio servicio de alojamiento de Google, uno de los servicios de alojamiento en la nube más confiables disponibles. GCE proporciona un registro de contenedores y (en versión beta) un servicio de compilación que creará imágenes de Docker a partir del código alojado en la nube de Google.

https://cloud.google.com/compute/

https://js.hscta.net/cta/current.js

hbspt.cta.carga (1169977, ’96e4df76-0d4a-40ab-b51e-5ad2b46a426b’, {});

Microsoft Azure

Mientras que AWS se cierne sobre todos los demás proveedores de nube, Azure es en realidad el segundo más popular. Respaldado por una gran empresa, no irá a ningún lado en el corto plazo y es su mejor fuente de máquinas virtuales basadas en Windows. Además de un controlador de máquina acoplable, también están disponibles extensiones de VM preconstruidas.

Azure es un socio de registro de confianza oficial de Docker, ya sea a través de su propia imagen de máquina virtual o instalándose usted mismo.

https://azure.microsoft.com/en-us/

Heroku

La mayor parte del flujo de trabajo de Heroku se activa mediante comandos git push. Estos aún son posibles con una configuración de Docker, pero hay una alternativa disponible a través de un complemento de Docker Compose para enviar sus aplicaciones en contenedores directamente al servicio. Heroku también mantiene imágenes de Docker para la mayoría de los idiomas que admite.

https://devcenter.heroku.com/articles/docker

Quay

Quay ofrece alojamiento de contenedores perfectamente integrado con el conjunto de herramientas Docker existente. Inicia sesión en el registro de Quay a través del comando Docker y administra contenedores en tu cuenta.

docker login quay.io

Quay trabajará con muchas herramientas de desarrollo comunes para permitir flujos de trabajo completamente automatizados, tiene herramientas de CLI y web disponibles para administrar sus implementaciones de contenedores, así como herramientas de registro y colaboración.

Si necesita Kubernetes para administrar y organizar sus contenedores, Quay tiene un servicio asociado llamado Tectonic. Quay y Tectonic son construidos por el equipo de CoreOS, por lo que también puede usarlos para alojar y administrar contenedores rkt. De hecho, Tectonic solo funciona con contenedores rkt, pero pensé en introducir una mención a escondidas.

https://quay.io/

Hyper

Hyper tiene una propuesta simple: proporcionar una abstracción de línea de comandos local para ejecutar contenedores Docker en el alojamiento de Hyper (el proveedor y la ubicación no están especificados). La herramienta es fácil de usar, pero los pasos de configuración son ligeramente engañosos.

Si intentas seguir las instrucciones de la página de inicio, descubrirás rápidamente que realmente necesitas registrarte y obtener un token de autenticación primero. Esto implica dar a Hyper los detalles de su tarjeta de crédito, incluso si todo lo que tiene la intención de hacer es probar la plataforma. Una vez que ejecuta hyper config y estos pasos se han completado, el proceso es sencillo.

En esta primera imagen, I pull la imagen NGINX y luego comprobar que se ha extraído con el images.

Con la herramienta de línea de comandos, puede iniciar y vincular servicios y adjuntarles volúmenes de datos y direcciones IP. La mayoría de los comandos de Hyper son envoltorios alrededor de comandos Docker familiares, que le brindan acceso a un proveedor de alojamiento sólido. Si conoces Docker, sabrás cómo usar Hyper.

https://www.hyper.sh/

Dokkur

Con contenedores alojados en la infraestructura de Azure, Dokkur administra los contenedores desde un nivel de aplicación, lo que le permite seleccionar sus aplicaciones desde GitHub o crear una nueva aplicación. Por lo que puedo decir de su documentación, utiliza contenedores para separar sus aplicaciones en código, base de datos y almacenamiento persistente, pero no hay soporte o control directo de Docker.

https://dokkur.com/

Triton de Joyent

Triton ofrece un conjunto completo de servicios para crear, ejecutar y orquestar contenedores en servidores en la nube y sin hardware. Mencioné en la introducción que no incluiría servicios que solo organizaran opciones de alojamiento, pero Triton también ofrece su propia solución de alojamiento (Triton cloud), por lo que me centraré en eso.

Con unos pocos clics, Triton le ofrece una interfaz gráfica completa para iniciar y administrar imágenes y contenedores desde el Docker Hub o sus propios repositorios de imágenes. Puede crear redes superpuestas, agregar almacenamiento persistente y agregar trabajos de depuración. Con acceso API a todas las funcionalidades, una herramienta CLI e integración profunda con Docker, HashiCorp Terraform y otras herramientas de Joyent, Triton es el sueño de un usuario avanzado.

https://www.joyent.com/triton

IBM Bluemix

De forma predeterminada, Bluemix no incluye imágenes de contenedores en el Docker Hub. Esto es confuso porque inicialmente solo tiene acceso a cinco contenedores “certificados”. Puede copiar imágenes de Docker públicas en su cuenta de Bluemix, pero esto implica primero instalar una serie de herramientas de CLI y navegar por la confusa documentación de Bluemix.

Luché para que esto funcionara, así que en su lugar experimenté con uno de los contenedores propios de IBM para ver lo que era posible. Esto también causó un “error desconocido”. Si puede hacer que Bluemix funcione, tiene potentes opciones de integración disponibles con las ofertas de IoT y aprendizaje automático de IBM, pero no es para los inexpertos.

http://www.ibm.com/cloud-computing/bluemix/

Openshift

Otra solución dirigida directamente a los clientes empresariales, Openshift de Red Hat se puede instalar automáticamente o en la nube de Red Hat. No puede probar o experimentar con Openshift sin ponerse en contacto con un representante de ventas, por lo que no pude probar el servicio, pero ofrece una gran cantidad de funciones de soporte e infraestructura que atraerán a los usuarios empresariales de alta escala.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.