Die Shortlist von Docker Hosting

Beachten Sie, dass dieser Beitrag ab Oktober 20, 2016 aktualisiert wurde.

Wir alle wissen, dass Docker auf unseren lokalen Computern einfach zum Laufen gebracht werden kann. Der nahtlose Übergang unserer ausgereiften Anwendungsstapel von der Entwicklung in die Produktion war jedoch ein Puzzleteil, das bis in die letzten sechs bis zwölf Monate fehlte.

Jetzt gibt es so viele spezialisierte und optimierte Docker-Hosting-Services, dass es höchste Zeit für eine Überprüfung ist, um zu sehen, was angeboten wird.

Eine der Schwierigkeiten beim Vergleich von Docker-Hosting-Optionen besteht darin, dass viele zusätzlich zu den tatsächlichen Hosting-Anbietern Verwaltungs- und Orchestrierungstools anbieten. Nicht alle machen deutlich, welchen Anbieter sie wann oder wo verwenden, und dies kann für Sie ein wichtiges Thema sein oder auch nicht. Aus diesem Grund habe ich Dienste wie Deis Workflow, Docker Cloud oder ContainerShip nicht einbezogen, da sie nicht behaupten, integrierte Hosting-Dienste zu sein oder anzubieten.

Während ich Dienste einschließen werde, die anderswo hosten, sind diese Kosten im Preis inbegriffen.

Natürlich ist es möglich, Docker einfach auf einer Linux-basierten VM bei einem beliebigen Hosting-Anbieter zu installieren, und ich könnte Seiten mit Profilen von “Standard” -Hosting-Unternehmen erstellen. Stattdessen habe ich versucht, mich auf Dienste zu konzentrieren, die zusätzlich zum einfachen Hosting noch etwas anderes bieten, um Ihre Docker-Erfahrung reibungsloser und verbesserter zu gestalten.

Docker Machine

Für viele Hosting-Provider ist die einfachste Möglichkeit, Ihre Container bereitzustellen und zu verwalten, die Verwendung von Docker-Maschinentreibern. Sofern diese Hosts nicht zusätzlich zum Treiber etwas anbieten, werde ich sie nicht separat auflisten. Derzeit gehören dazu:

  • Amazon Web Services

  • Microsoft Azure

  • Digitaler Ozean

  • Exoskala

  • Google Compute Engine

  • OpenStack

  • Rackspace

  • IBM Softlayer

Weitere werden wahrscheinlich bald folgen, und Sie können den generischen Treiber möglicherweise für andere Hosts verwenden.

Amazon Web Services (AWS)

AWS ist der größte Cloud-Hosting-Service der Welt und bietet Unterstützung für Docker auf den meisten seiner Standard-EC2-Maschinen.

AWS bietet dann den EC2 Container Service (ECS) an, der eine Reihe von API-Aufrufen zum Verwalten von Containern bereitstellt, die in Ihren EC2-Instances installiert sind. ECS wird nicht separat berechnet, sondern steht über allen anderen AWS-Ressourcen, die Ihre Container verwenden. Dies bedeutet, dass Container Zugriff auf die Vielzahl von Services haben, die AWS anbietet, einschließlich Speicher und Skalierung.

aws.amazon.com/ecs

Digital Ocean

Die Unterstützung von Docker-Containern auf Digital Ocean ist einfach und spiegelt die allgemeine Arbeitsweise des Unternehmens wider. Melden Sie sich bei Ihrem Konto an und erstellen Sie ein neues Droplet basierend auf der Docker-Anwendung.

Dadurch wird eine VM erstellt, auf der Docker über Ubuntu ausgeführt wird, um sie wie gewohnt zu verwenden.

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

Carina

Rackspace bietet einen Docker-Maschinentreiber, aber auch einen Container-Hosting-Service. Carina befindet sich noch in der öffentlichen Beta und ermöglicht das Erstellen von Docker-schwarmartigen Clustern. Außerdem können Sie Ihre Container von der Entwicklung bis zur Produktion mit den meisten Standard-Docker-Befehlen verwalten. Beispielsweise:

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

Es gibt auch eine Webkonsole zur Verwaltung Ihrer Container und Anwendungen.

getcarina.com

Sloppy.io

Sloppy.io bietet CLI-Tools, Weboberfläche, dauerhaften Speicher zwischen Containerstarts und Statistiken. Sie erstellen Anwendungsstapel über eine JSON-Datei und dank der zugrunde liegenden Mesos-Integration können Sie Maschinenspezifikationen festlegen. Zum Beispiel:

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

sloppy.io.

Giant Swarm

Dies ist ein neues Startup, das es einfach hält und sich auf ein solides Produkt und Support konzentriert. Giant Swarm verwendet keine VMs und stellt Ihre Container und Services nur auf privaten AWS-Computern und deren eigenen Bare-Metal-Services bereit.

Die genauen Preise sind etwas unklar, und der Service ist derzeit nur auf Einladung verfügbar, aber sie sind offen für ihre Infrastruktur, wobei mehrere benutzerdefinierte Komponenten auf GitHub verfügbar sind. Die Einrichtung erfolgt über ein Befehlszeilentool, wobei Anwendungen durch eine JSON-Datei definiert werden, die einer Docker Compose-Datei ähnelt. Beispielsweise:

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

Bilder können aus dem Docker Hub sowie benutzerdefinierte Bilder aus Ihrem Konto in der Giant Swarm-Registrierung stammen.

Starten Sie Ihre Anwendung mit einem einfachen Befehl, der eine Vielzahl von Parametern an die JSON-Datei übergeben kann.

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

Eine API ist für eine feinere Kontrolle Ihrer Dienste verfügbar, und Mitarbeiter können in Teams organisiert werden, um die Zusammenarbeit zu ermöglichen.

riesenwarm.io

Google Compute Engine (GCE)

Kubernetes unterstützt Googles Container-Hosting- und Management-Service, ein eigenes Open-Source-Projekt, das viele große Container-basierte Infrastrukturen unterstützt. Die Container sitzen auf Googles eigenem Hosting-Service, einem der zuverlässigsten verfügbaren Cloud-Hosting-Dienste. GCE bietet eine Container-Registrierung und (in der Beta-Phase) einen Build-Dienst, mit dem Docker-Images aus in der Google Cloud gehostetem Code erstellt werden.

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

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

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

Microsoft Azure

Während AWS allen anderen Cloud-Anbietern überlegen ist, ist Azure tatsächlich der zweitbeliebteste. Unterstützt von einem großen Unternehmen, wird es in absehbarer Zeit nirgendwohin gehen und ist Ihre beste Quelle für Windows-basierte VMs. Neben einem Docker-Maschinentreiber sind auch vorgefertigte VM-Erweiterungen verfügbar.

Azure ist ein offizieller Docker Trusted Registry-Partner, entweder über ein eigenes VM-Image oder durch Selbstinstallation.

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

Heroku

Der größte Teil des Heroku-Workflows wird durch git push -Befehle ausgelöst. Diese sind mit einem Docker-Setup weiterhin möglich, aber eine Alternative ist über ein Docker Compose-Plugin verfügbar, mit dem Sie Ihre containerisierten Anwendungen direkt an den Dienst senden können. Heroku verwaltet auch Docker-Images für die meisten unterstützten Sprachen.

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

Quay

Quay bietet Container-Hosting, das eng in das vorhandene Docker-Toolset integriert ist. Sie melden sich über den Befehl Docker bei der Registrierung von Quay an und verwalten Container in Ihrem Konto.

docker login quay.io

Quay arbeitet mit vielen gängigen Entwicklertools zusammen, um vollautomatische Workflows zu ermöglichen, verfügt über CLI- und Web-Tools zur Verwaltung Ihrer Container-Bereitstellungen sowie Protokollierungs- und Collaboration-Tools.

Wenn Sie Kubernetes für die Verwaltung und Orchestrierung Ihrer Container benötigen, verfügt Quay über einen Partnerdienst namens Tectonic. Quay und Tectonic werden vom CoreOS-Team erstellt, sodass Sie sie auch zum Hosten und Verwalten von rkt-Containern verwenden können. Tatsächlich funktioniert Tectonic nur mit rkt-Containern, aber ich dachte, ich würde eine Erwähnung einschleichen.

https://quay.io/

Hyper

Hyper hat einen einfachen Vorschlag: Bereitstellung einer lokalen Befehlszeilenabstraktion zum Ausführen von Docker-Containern auf dem Hosting von Hyper (Anbieter und Speicherort sind nicht angegeben). Das Tool ist einfach zu bedienen, aber die Setup-Schritte sind leicht irreführend.

Wenn Sie versuchen, den Anweisungen auf der Homepage zu folgen, werden Sie schnell feststellen, dass Sie sich tatsächlich anmelden und zuerst ein Authentifizierungstoken erhalten müssen. Dazu müssen Sie Ihre Kreditkartendaten angeben, auch wenn Sie nur die Plattform testen möchten. Sobald Sie hyper config ausführen und diese Schritte abgeschlossen sind, ist der Vorgang unkompliziert.

In diesem ersten Bild pull ich das NGINX-Bild und überprüfe dann, ob es mit dem images gezogen wurde.

Mit dem Befehlszeilentool können Sie Dienste starten und verknüpfen sowie Datenvolumes und IP-Adressen an diese anhängen. Die meisten Befehle von Hyper sind Wrapper um bekannte Docker-Befehle, sodass Sie auf einen soliden Hosting-Anbieter zugreifen können. Wenn Sie Docker kennen, wissen Sie, wie Sie Hyper verwenden.

https://www.hyper.sh/

Dokkur

Mit Containern, die in der Azure-Infrastruktur gehostet werden, verwaltet Dokkur Ihre Container auf Anwendungsebene, sodass Sie Ihre Anwendungen aus GitHub auswählen oder eine neue Anwendung erstellen können. Soweit ich der Dokumentation entnehmen kann, werden Container verwendet, um Ihre Anwendungen in Code, Datenbank und persistenten Speicher zu unterteilen, es gibt jedoch keine direkte Docker-Unterstützung oder -Steuerung.

https://dokkur.com/

Triton von Joyent

Triton bietet eine umfassende Suite von Diensten zum Erstellen, Ausführen und Orchestrieren von Containern auf Cloud- und Bare-Metal-Servern. Ich habe in der Einleitung erwähnt, dass ich keine Dienste einschließen würde, die nur Hosting-Optionen orchestrieren, aber Triton bietet auch eine eigene Hosting-Lösung (die Triton Cloud) an, daher werde ich mich darauf konzentrieren.

Mit wenigen Klicks bietet Ihnen Triton eine umfassende grafische Oberfläche zum Starten und Verwalten von Images und Containern aus dem Docker Hub oder Ihren eigenen Image-Repositorys. Sie können Overlay-Netzwerke erstellen, persistenten Speicher hinzufügen und Debug-Jobs hinzufügen. Mit API-Zugriff auf alle Funktionen, einem CLI-Tool und einer tiefen Integration in Docker, HashiCorp Terraform und andere Tools von Joyent ist Triton der Traum eines Power-Users.

https://www.joyent.com/triton

IBM Bluemix

Standardmäßig enthält Bluemix keine Container-Images auf dem Docker Hub. Dies ist verwirrend, da Sie zunächst nur Zugriff auf fünf ‘zertifizierte’ Container haben. Sie können öffentliche Docker-Images in Ihr Bluemix-Konto kopieren, aber dazu müssen Sie zuerst eine Reihe von CLI-Tools installieren und durch die verwirrende Dokumentation von Bluemix navigieren.

Ich hatte Mühe, dies zum Laufen zu bringen, und experimentierte stattdessen mit einem von IBMs eigenen Containern, um zu sehen, was möglich ist. Dies verursachte auch einen ‘unbekannten Fehler’. Wenn Sie Bluemix zum Laufen bringen können, stehen leistungsstarke Integrationsoptionen für die IoT- und Machine-Learning-Angebote von IBM zur Verfügung, die jedoch nichts für Unerfahrene sind.

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

Openshift

Eine weitere Lösung, die sich direkt an Unternehmenskunden richtet, kann Openshift von Red Hat selbst oder in der Red Hat Cloud installiert werden. Sie können Openshift nicht testen oder experimentieren, ohne einen Vertriebsmitarbeiter zu kontaktieren, daher konnte ich den Service nicht ausprobieren, aber er bietet viele Support- und Infrastrukturfunktionen, die große Unternehmensbenutzer ansprechen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.