La liste restreinte de Docker Hosting

Notez que cet article a été mis à jour le 20 octobre 2016.

Nous savons tous que Docker est simple à utiliser sur nos machines locales. Mais la transition transparente de nos piles d’applications perfectionnées du développement à la production était une pièce du puzzle qui manquait jusqu’aux six à douze derniers mois.

Maintenant, il y a tellement de services d’hébergement Docker spécialisés et optimisés disponibles, il est grand temps de passer en revue ce qui est proposé.

L’une des complexités de la comparaison des options d’hébergement Docker est que beaucoup proposent des outils de gestion et d’orchestration en plus des fournisseurs d’hébergement réels. Tous ne précisent pas clairement quel fournisseur ils utilisent, quand ou où, et cela peut ou non être un problème important pour vous. Pour cette raison, je n’ai pas inclus de services tels que Deis Workflow, Docker Cloud ou ContainerShip car ils ne prétendent pas être ou n’offrent pas de services d’hébergement intégrés.

Bien que j’inclue les services hébergés ailleurs, ces coûts sont inclus dans le prix.

Bien sûr, il est possible d’installer Docker sur une machine virtuelle Linux sur n’importe quel fournisseur d’hébergement, et je pourrais produire des pages de profils de sociétés d’hébergement “standard”. Au lieu de cela, j’ai essayé de me concentrer sur des services qui offrent autre chose qu’un hébergement simple pour rendre votre expérience Docker plus fluide et améliorée.

Machine Docker

Pour de nombreux fournisseurs d’hébergement, le moyen le plus simple de déployer et de gérer vos conteneurs consiste à utiliser les pilotes de machine Docker. À moins que ces hôtes n’offrent quelque chose de plus au-dessus du pilote, je ne les énumérerai pas séparément. Actuellement, ceux-ci comprennent:

  • Services Web d’Amazon

  • Microsoft Azure

  • Océan Numérique

  • Echelle

  • Moteur de Calcul Google

  • Accueil ” OpenStack

  • Rackspace

  • Logiciel IBM

D’autres suivront probablement bientôt, et vous pourrez peut-être utiliser le pilote générique pour d’autres hôtes.

Amazon Web Services (AWS)

AWS est le plus grand service d’hébergement cloud de la planète et offre une prise en charge de Docker sur la plupart de ses machines EC2 standard.

AWS propose ensuite le service de conteneur EC2 (ECS) qui expose un ensemble d’appels d’API pour la gestion des conteneurs installés sur vos instances EC2. ECS n’est pas facturé séparément, mais il se trouve au-dessus de toutes les autres ressources AWS que vos conteneurs utilisent. Cela signifie que les conteneurs ont accès à la grande variété de services proposés par AWS, y compris le stockage et la mise à l’échelle.

aws.amazon.com/ecs

Digital Ocean

La prise en charge des conteneurs Docker sur Digital Ocean est simple, reflétant la façon dont l’entreprise fonctionne généralement. Connectez-vous à votre compte et créez une nouvelle gouttelette basée sur l’application Docker.

Cela créera une machine virtuelle exécutant Docker au-dessus d’Ubuntu à utiliser comme d’habitude.

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

Carina

Rackspace propose un pilote de machine Docker, mais il dispose également d’un service d’hébergement de conteneurs. Carina est toujours en version bêta publique et vous permet de créer des clusters de type Essaim Docker. Il vous permet également de gérer vos conteneurs du développement à la production en utilisant principalement des commandes Docker standard. Exemple:

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

Une console web est également disponible pour gérer vos conteneurs et applications.

getcarina.com

Sloppy.io

Sloppy.io fournit des outils CLI, une interface Web, un stockage persistant entre les lancements de conteneurs et des statistiques. Vous construisez des piles d’applications via un fichier JSON, et grâce à l’intégration sous-jacente de Mesos, Sloppy vous permet de définir les spécifications de la machine. Par exemple:

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

sloppy.io .

Essaim géant

Il s’agit d’une nouvelle start-up qui aime rester simple et se concentrer sur la fourniture d’un produit et d’un support solides. Giant Swarm n’utilise pas de machines virtuelles et ne déploiera vos conteneurs et services que sur des machines AWS privées et leurs propres services bare metal.

La tarification exacte est un peu floue, et le service est uniquement sur invitation pour le moment, mais ils sont ouverts sur leur infrastructure, avec plusieurs composants personnalisés disponibles sur GitHub. La configuration se fait via un outil de ligne de commande, avec des applications définies par un fichier JSON qui ressemble à un fichier de composition Docker. Exemple:

{ "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 } }}

Les images peuvent provenir du hub Docker, ainsi que des images personnalisées de votre compte sur le registre Giant Swarm.

Démarrez votre application avec une commande simple qui peut transmettre une variété de paramètres au fichier JSON.

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

Une API est disponible pour un contrôle plus précis de vos services, et les collègues peuvent être organisés en équipes pour permettre la collaboration.

bras de géants.io

Google Compute Engine (GCE)

Kubernetes sous-tend le service d’hébergement et de gestion de conteneurs de Google, leur propre projet open-source qui alimente de nombreuses grandes infrastructures basées sur des conteneurs. Les conteneurs se trouvent au-dessus du propre service d’hébergement de Google, l’un des services d’hébergement cloud les plus fiables disponibles. GCE fournit un registre de conteneurs et (en version bêta) un service de génération qui créera des images Docker à partir de code hébergé dans le Cloud de Google.

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

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

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

Microsoft Azure

Alors qu’AWS domine tous les autres fournisseurs de cloud, Azure est en fait le deuxième plus populaire. Soutenu par une grande entreprise, il ne va nulle part de sitôt et est votre meilleure source de machines virtuelles basées sur Windows. Outre un pilote de machine Docker, des extensions de machines virtuelles prédéfinies sont également disponibles.

Azure est un partenaire officiel de registre de confiance Docker, soit via sa propre image de machine virtuelle, soit en l’installant vous-même.

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

Heroku

La plupart du flux de travail de Heroku est déclenché par des commandes git push. Ceux-ci sont toujours possibles avec une configuration Docker, mais une alternative est disponible via un plugin Docker Compose pour pousser vos applications conteneurisées directement vers le service. Heroku gère également des images Docker pour la plupart des langues qu’il prend en charge.

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

Quay

Quay propose un hébergement de conteneurs étroitement intégré à l’ensemble d’outils Docker existant. Vous vous connectez au registre de Quay via la commande Docker et gérez les conteneurs dans votre compte.

docker login quay.io

Quay fonctionnera avec de nombreux outils de développement courants pour permettre des flux de travail entièrement automatisés, dispose d’outils CLI et Web pour gérer vos déploiements de conteneurs, ainsi que d’outils de journalisation et de collaboration.

Si vous avez besoin de Kubernetes pour gérer et orchestrer vos conteneurs, Quay dispose d’un service partenaire appelé Tectonic. Quay et Tectonic sont construits par l’équipe CoreOS, vous pouvez donc également les utiliser pour héberger et gérer des conteneurs rkt. En fait, Tectonic ne fonctionne qu’avec des conteneurs rkt, mais je pensais que j’y mentionnerais en douce.

https://quay.io/

Hyper

Hyper a une proposition simple: fournir une abstraction de ligne de commande locale pour exécuter des conteneurs Docker sur l’hébergement d’Hyper (le fournisseur et l’emplacement ne sont pas spécifiés). L’outil est facile à utiliser, mais les étapes de configuration sont légèrement trompeuses.

Si vous essayez de suivre les instructions sur la page d’accueil, vous constaterez rapidement que vous devez d’abord vous inscrire et obtenir un jeton d’authentification. Cela implique de donner à Hyper les détails de votre carte de crédit même si tout ce que vous avez l’intention de faire est de tester la plate-forme. Une fois que vous exécutez hyper config et que ces étapes sont terminées, le processus est simple.

Dans cette première image, je pull l’image NGINX puis vérifie qu’elle a été tirée avec le images.

À l’aide de l’outil de ligne de commande, vous pouvez démarrer et lier des services et leur attacher des volumes de données et des adresses IP. La plupart des commandes d’Hyper sont des wrappers autour de commandes Docker familières, vous donnant accès à un fournisseur d’hébergement solide. Si vous connaissez Docker, vous saurez comment utiliser Hyper.

https://www.hyper.sh/

Dokkur

Avec les conteneurs hébergés sur l’infrastructure Azure, Dokkur gère vos conteneurs à partir d’un niveau d’application, vous permettant de sélectionner vos applications depuis GitHub ou de créer une nouvelle application. Pour autant que je sache d’après leur documentation, il utilise des conteneurs pour séparer vos applications en code, base de données et stockage persistant, mais il n’y a pas de support ou de contrôle direct de Docker.

https://dokkur.com/

Triton de Joyent

Triton propose une suite complète de services pour la création, l’exécution et l’orchestration de conteneurs sur des serveurs cloud et bare metal. J’ai mentionné dans l’introduction que je n’inclurais pas de services qui se contentaient d’orchestrer des options d’hébergement, mais Triton propose également sa propre solution d’hébergement (le cloud Triton), je vais donc me concentrer sur cela.

En quelques clics, Triton vous offre une interface graphique complète pour lancer et gérer des images et des conteneurs depuis le Docker Hub ou vos propres dépôts d’images. Vous pouvez créer des réseaux de superposition, ajouter du stockage persistant et ajouter des tâches de débogage. Avec un accès API à toutes les fonctionnalités, un outil CLI et une intégration approfondie avec Docker, HashiCorp Terraform et d’autres outils de Joyent, Triton est le rêve d’un utilisateur expérimenté.

https://www.joyent.com/triton

IBM Bluemix

Par défaut, Bluemix n’inclut pas les images de conteneur sur le hub Docker. C’est déroutant car au départ, vous n’avez accès qu’à cinq conteneurs “certifiés”. Vous pouvez copier des images Docker publiques dans votre compte Bluemix, mais cela implique d’abord d’installer une série d’outils CLI et de naviguer dans la documentation déroutante de Bluemix.

J’ai eu du mal à faire fonctionner cela, alors j’ai plutôt expérimenté l’un des propres conteneurs d’IBM pour voir ce qui est possible. Cela a également provoqué une “erreur inconnue”. Si vous pouvez faire fonctionner Bluemix, il dispose de puissantes options d’intégration disponibles avec les offres IoT et d’apprentissage automatique d’IBM, mais ce n’est pas pour les inexpérimentés.

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

Openshift

Autre solution destinée directement aux entreprises clientes, l’Openshift de Red Hat peut être auto-installé ou dans le cloud de Red Hat. Vous ne pouvez pas essayer ou expérimenter Openshift sans contacter un représentant commercial, donc je ne pouvais pas essayer le service, mais il offre de nombreuses fonctionnalités de support et d’infrastructure qui plairont aux utilisateurs d’entreprise à grande échelle.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.