Was ist CaaS – Container als Service?
In diesem Artikel sprechen wir über Container as a Service (CaaS). Eines der neueren, aber leistungsfähigen Cloud-Modelle. Sie erfahren mehr über die wichtigsten Funktionen, Vor- und Nachteile, den Vergleich mit anderen Cloud-Modellen und wie Sie eine einfache Anwendung mit Containern bereitstellen.
Contents
- 1 Wichtigste Erkenntnisse
- 2 Was ist “Container als Service”?
- 3 Was sind die Kernfunktionen von Containers as a Service?
- 4 Was sind die Vorteile von Containers as a Service?
- 5 Was sind die Grenzen von Containers as a Service?
- 6 Welche Rolle spielen Docker und Kubernetes in einer CaaS-Plattform?
- 7 Wie sieht es mit Containern als Service im Vergleich zu anderen Modellen aus?
- 8 Welches sind die besten Container-as-a-Service-Anbieter?
- 9 Wie hostet man eine einfache Anwendung mit Containern?
- 10 Schlussfolgerung
- 11 FAQ
- 12 Was ist Containers as a Service?
- 13 Was sind die Vorteile von Containers as a Service?
- 14 Was sind die Nachteile von Containers as a Service?
- 15 Was sind die besten Anbieter von Containers as a Service?
- 16 Wie stellt man eine Anwendung mit Containern bereit?
Wichtigste Erkenntnisse
- CaaS ermöglicht eine nahtlose Entwicklung und Bereitstellung mit integrierten Funktionen.
- CaaS bietet eine hohe Skalierbarkeit und Portabilität, wodurch die Abhängigkeit von einem bestimmten Anbieter verringert wird.
- Zu den Einschränkungen von CaaS gehören potenzielle Sicherheitsrisiken und eine steile Lernkurve.
Was ist “Container als Service”?
Die CaaS-Definition lautet: Container as a Service ist ein Cloud-Computing-Modell, das es Entwicklern ermöglicht, Container hochzuladen, zu erstellen, zu skalieren und zu verwalten.
DevOps-Container sind leichtgewichtige, eigenständige ausführbare Pakete, die alles enthalten, was zur Ausführung einer Anwendung erforderlich ist. Dazu gehören die Laufzeit, der Code, die Bibliotheken, die Konfigurationsdateien und vieles mehr. Container sind hochgradig portabel, klein in der Größe und effizient.
Durch den Einsatz von CaaS müssen sich Entwickler und IT-Betriebsteams nicht mehr um die zugrunde liegende Infrastruktur kümmern. Stattdessen können sie auf einer viel höheren Ebene denken.
Sie müssen lediglich die Anwendung programmieren, sie andocken und in die Cloud übertragen. Der Cloud-Anbieter kümmert sich dann um alles andere – wie Skalierung, Lastausgleich und Überwachung!
Darüber hinaus ist CaaS hervorragend geeignet, da es die agile Entwicklung fördert, die Microservice-Architektur unterstützt und für den schnellen Aufbau hoch skalierbarer Anwendungen äußerst nützlich ist.
Was sind die Kernfunktionen von Containers as a Service?
Es gibt keine offizielle Spezifikation, die festlegt, welche Funktionen ein CaaS enthalten muss. Sie unterscheiden sich von Anbieter zu Anbieter. Nichtsdestotrotz sind die grundlegendsten Funktionen von Containers as a Service:
- Container-Laufzeit (verantwortlich für die Ausführung Ihrer containerisierten Anwendungen)
- Container-Registry (ermöglicht das Speichern und Verteilen von bereits erstellten Docker-Images)
- Automatische Skalierung (erhöht oder verringert die Anzahl der Container je nach Verkehrsaufkommen)
- Integriertes CI/CD-System (zieht Ihren Code aus einem VCS-System wie GitHub oder GitLab)
- Lastausgleich (Verteilung des Datenverkehrs auf mehrere Container zur Verbesserung der Leistung)
- Überwachung und Protokollierung (bietet erweiterte Container-Überwachungsfunktionen)
Was sind die Vorteile von Containers as a Service?
Schnellere Entwicklung und Bereitstellung
Durch den Einsatz von CaaS können Sie Ihren Softwareentwicklungs- und -bereitstellungsprozess erheblich beschleunigen. Mit Containern können Entwickler beim Einstieg ihre lokalen Entwicklungsumgebungen leicht einrichten. Sie müssen lediglich ein oder zwei Befehle ausführen, anstatt eine Reihe von Abhängigkeiten zu installieren oder sich mit Betriebssystemeinstellungen herumzuschlagen.
Darüber hinaus kann Ihr Projekt, sobald es containerisiert ist, problemlos bei jedem CaaS-Anbieter bereitgestellt werden.
Ressourceneffizienz
Container sind von Natur aus ressourcenschonend. Sie sind darauf ausgelegt, Systemressourcen wie CPU, Arbeitsspeicher und Speicher effizient zu nutzen. Mit Containern können Sie im Allgemeinen mehr Anwendungen mit weniger Systemressourcen ausführen. Im Vergleich zu VMs sind Container ressourcenoptimierter.
Tragbarkeit
Containerisierte Anwendungen sind hochgradig portabel, da sie weder vom Betriebssystem noch von der zugrunde liegenden Hardware abhängig sind. Mit CaaS werden Sie nie wieder das Problem haben: “Es läuft auf meinem Rechner”.
Darüber hinaus eliminieren Container das Risiko, an einen bestimmten Anbieter gebunden zu sein. Wenn Sie mit Ihrem aktuellen Anbieter unzufrieden sind, können Sie einfach von einem Anbieter zu einem anderen wechseln, ohne Ihren Code wesentlich zu ändern.
Skalierbarkeit
Container in Kombination mit Orchestrierungssoftware wie Kubernetes sind hoch skalierbar. Die meisten CaaS-Anbieter verfügen über integrierte automatische Skalierungsfunktionen, Lastausgleich und mehr. Dadurch sind sie in der Lage, jeden Datenverkehr zu bewältigen und schnell zu skalieren, sobald die Datenverkehrsspitze endet.
Vereinfachte Bedienung
CaaS überbrückt die Lücke zwischen der Entwicklungs- und der Produktionsumgebung. Darüber hinaus vereinfacht es den DevOps-Prozess, indem es ein integriertes CI/CD-System bietet, das sich in Ihr VCS-System integrieren lässt.
Das Beste ist, dass Sie mit CaaS erhebliche Kosten einsparen können, da Sie keine SysAdmins oder DevOps-Ingenieure benötigen.
Was sind die Grenzen von Containers as a Service?
Sicherheitsprobleme
Container bieten eine geringere Isolierung und Sicherheit als VMs, da sie denselben Systemkern nutzen. Das kann ein potenzielles Sicherheitsrisiko darstellen. Wenn Sie Ihre Docker-Container-Prozesse als root ausführen, könnte ein Hacker aus dem Container ausbrechen und die Kontrolle über das Host-System übernehmen.
Fehlende Kontrolle
CaaS-Plattformen bieten im Vergleich zu anderen Cloud-Modellen in der Regel ein geringeres Maß an Kontrolle. Die Kunden können die Maschinen, auf denen ihre Container laufen, nicht fein abstimmen oder konfigurieren, wie ihre Anwendungen skaliert werden sollen.
Lernkurve
Das Modell “Container as a Service” ist anspruchsvoller als PaaS oder BaaS. Es erfordert viel technisches Wissen über Programmierung, Containerisierungstechnologie, Docker usw. Es hat eine steilere Lernkurve, aber wenn Sie es beherrschen, können Sie viel Zeit und Geld sparen.
Persistenz der Daten
Container sind so konzipiert, dass sie zustandslos sind. Sie sollten nicht zum Speichern von Dateien, Datenbanken oder anderen Dingen verwendet werden, die Datenpersistenz erfordern. Wenn Sie CaaS verwenden, müssen Sie einen Dienst eines Drittanbieters für das Hosten von Dateien nutzen, z. B. AWS S3, Google Cloud Storage und so weiter. Für die Datenbank können Sie sich für eine verwaltete Datenbanklösung entscheiden.
Welche Rolle spielen Docker und Kubernetes in einer CaaS-Plattform?
Docker und Kubernetes spielen bei den meisten CaaS-Plattformen eine entscheidende Rolle.
Docker ist eine freie und quelloffene Plattform zum Erstellen, Bereitstellen, Ausführen und Verwalten von Containern. Sie wurde 2013 veröffentlicht und hat sich zum De-facto-Standard für die Verpackung von containerisierter Software entwickelt.
Kubernetes (manchmal auch als K8s bezeichnet) ist eine Orchestrierungssoftware. Sie arbeitet auf einer höheren Ebene als Docker. Der Zweck von Kubernetes ist es, sicherzustellen, dass Container-Cluster gut zusammenspielen. Es kümmert sich um die Skalierung, den Lastausgleich, das Ersetzen defekter Container und so weiter.
Wie sieht es mit Containern als Service im Vergleich zu anderen Modellen aus?
In diesem Abschnitt vergleichen wir CaaS mit anderen Cloud Computing-Diensten, einschließlich IaaS, PaaS und BaaS. Sie alle haben ihre Vor- und Nachteile, die bei der Bereitstellung Ihres Projekts berücksichtigt werden sollten.
Auf der Grundlage der Abstraktionsebenen liegt CaaS irgendwo zwischen IaaS und PaaS (wie in der Abbildung unten dargestellt).
CaaS vs. IaaS
Infrastructure as a Service (IaaS) ist ein flexibles Cloud-Computing-Modell, bei dem ein Cloud-Anbieter die grundlegende Infrastruktur in einer virtualisierten Umgebung anbietet. Dazu gehören Server, Speicher, Betriebssysteme und Netzwerke. IaaS ist die am wenigsten abstrahierte Option und gibt Kunden die vollständige Kontrolle über ihre Infrastruktur.
CaaS ist weniger flexibel und bietet ein geringeres Maß an Kontrolle als IaaS. Auf der anderen Seite ist es viel einfacher zu verwalten und ermöglicht eine größere Skalierbarkeit und Portabilität. Als Faustregel gilt: Verwenden Sie IaaS, wenn Sie ein hohes Maß an Kontrolle benötigen, und CaaS, wenn Sie einen schnellen Weg zur Bereitstellung skalierbarer containerisierter Anwendungen suchen.
CaaS vs. PaaS
Platform as a Service (PaaS) ist ein Cloud-Computing-Dienst, der Entwicklern die Werkzeuge zur Erstellung und Bereitstellung ihrer Anwendungen zur Verfügung stellt. Mit PaaS können sich die Nutzer auf ihre Anwendung konzentrieren, anstatt sich um die zugrunde liegende Infrastruktur zu kümmern. Die meisten PaaS-Anbieter ermöglichen es Ihnen, Ihre Anwendung mit ein oder zwei Klicks zum Laufen zu bringen!
CaaS ist im Vergleich zu PaaS flexibler und skalierbarer. Mit CaaS können Sie praktisch alles einsetzen, während PaaS-Anbieter in der Regel auf einige wenige Programmiersprachen beschränkt sind. In Bezug auf Softwareentwicklungswerkzeuge und -funktionen ist PaaS fortschrittlicher. PaaS eignet sich besser für monolithische Anwendungen, während CaaS in der Microservice-Architektur übertrifft.
Um mehr über Platform as a Service zu erfahren, lesen Sie bitte Was ist Paas?
CaaS vs. BaaS
Backend as a Service (BaaS) ist ein Cloud-Computing-Modell, das die Backend-Seite eines Projekts vollständig abstrahiert. Es umfasst eine Datenbank, Dateispeicher, Benutzerverwaltung, APIs, SDKs, Push-Benachrichtigungen und Authentifizierung, um nur einige zu nennen. Mit BaaS können Sie sich auf Ihr Frontend und Ihre Geschäftslogik konzentrieren, anstatt Zeit und Geld für sich wiederholende Programmieraufgaben zu verschwenden.
CaaS kann für die Bereitstellung von Backends und Frontends verwendet werden, während BaaS hauptsächlich für die Bereitstellung von Backends gedacht ist. BaaS ist extrem einfach zu bedienen und erfordert manchmal keinen Code. CaaS hingegen erfordert ein gewisses Maß an technischem Wissen über Programmierung, Dockerisierung und DevOps.
Um mehr über Backend as a Service zu erfahren, lesen Sie bitte Was ist BaaS?
Welches sind die besten Container-as-a-Service-Anbieter?
Back4app Containers
Back4app Containers ist ein leistungsstarker Cloud-Service, der eine CaaS-Plattform für die Bereitstellung und Skalierung von Anwendungen auf global verteilten Containern bietet.
Entwickler können sich auf ihre Software und den Dockerisierungsprozess konzentrieren, ohne sich um DevOps zu kümmern. Die Plattform verfügt über ein integriertes CI/CD-System, GitHub-Integration und unterstützt Bereitstellungen ohne Ausfallzeiten.
Das Beste daran ist, dass es ein kostenloses Programm ist, mit dem Sie Ihre App in wenigen Minuten zum Laufen bringen können!
Amazon Elastic Container Service
Amazon Elastic Container Service (ECS) ist ein vollständig verwalteter Container-Orchestrierungsdienst, der die Verwaltung und Bereitstellung von containerisierter Software vereinfacht. Alles, was Sie tun müssen, ist Ihre Anwendung und die erforderlichen Ressourcen zu beschreiben, und AWS kümmert sich um den Rest.
Für ECS fallen keine exklusiven Kosten an, da ECS im Hintergrund andere AWS-Services nutzt. Um ECS effektiv nutzen zu können, müssen Sie mit dem AWS-Ökosystem vertraut sein. AWS bietet auch eine kostenlose Stufe für neue Kunden an.
Google Cloud Kubernetes
Google Cloud Kubernetes (GKE) ist die Kubernetes-basierte Orchestrierungsplattform von Google. Sie ermöglicht es Ihnen, Ihre Container auf Autopilot zu stellen, sodass Sie keine Knoten mehr verwalten müssen. Sie enthält vorgefertigte Kubernetes-Anwendungen und -Vorlagen, automatische Skalierungsfunktionen, Multi-Cluster-Verwaltung und vieles mehr!
GKE ist außerordentlich leistungsfähig und flexibel, erfordert aber eine recht umfangreiche Erstkonfiguration. Daher ist es für Anfänger nicht geeignet. Wie die beiden anderen Optionen bietet auch Google kostenlose Kredite für neue Nutzer an.
Wie hostet man eine einfache Anwendung mit Containern?
In diesem Abschnitt sehen wir uns an, wie man eine einfache Python-Webanwendung erstellt, andockt und bereitstellt. Diese Anleitung wurde speziell für Back4app Containers entwickelt, aber ähnliche Schritte können auch auf jeden anderen CaaS-Anbieter angewendet werden.
Zielsetzungen
- Codieren Sie die Anwendung.
- Dockerisieren Sie die Anwendung und testen Sie sie.
- Veröffentlichen Sie den Quellcode auf GitHub.
- Stellen Sie die Anwendung auf CaaS bereit.
Code App
Um den Bereitstellungsprozess zu demonstrieren, erstellen wir eine einfache RESTful-API mit FastAPI, einem modernen, leistungsstarken Python-Framework zur Erstellung produktionsreifer APIs.
Projekt einrichten
Beginnen Sie damit, einen eigenen Ordner für das Projekt und eine virtuelle Umgebung zu erstellen:
$ mkdir fastapi-example && cd fastapi-example
$ python3.9 -m venv env && source env/bin/activate
Als nächstes installieren Sie FastAPI mit all seinen Abhängigkeiten:
$ pip install "fastapi[all]"
Die Verwendung des Extra-Spezifikators installiert einige optionale Abhängigkeiten, wie den Uvicorn-Server, die Jinja2-Templating-Engine usw. Wenn Sie nur das Nötigste wollen, lassen Sie das Extra weg.
Erstellen Sie eine Datei main.py mit folgendem Inhalt:
# main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Back4app Containers rocks!"}
Dies ist die einfachste FastAPI-Anwendung, die Sie schreiben können. Wir mussten FastAPI
importieren, es initialisieren und den Root-Endpunkt registrieren. Der Besuch von /
sollte die Nachricht Back4app Containers rocks!
zurückgeben.
Ausführen und testen
Zur Ausführung der Webanwendung können Sie den integrierten Uvicorn ASGI-Server verwenden:
$ uvicorn main:app --reload
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [9528] using WatchFiles
INFO: Started server process [26308]
INFO: Waiting for application startup.
INFO: Application startup complete.
Wir haben das Flag --reload
hinzugefügt, weil wir wollen, dass der Server neu geladen wird, wenn wir Änderungen am Quellcode vornehmen.
Verwenden Sie cURL, um eine GET-Anfrage
an den API-Stamm zu senden:
$ curl http://localhost:8000/
{
"message": "Back4app Containers rocks!"
}
Anforderungen.txt
Außerdem müssen wir alle Anforderungen in einer Datei requirements.txt festhalten. Auf diese Weise können andere schnell alle notwendigen Abhängigkeiten für unser Projekt installieren.
$ pip freeze > requirements.txt
fastapi==0.97.0
pydantic==1.10.9
python-dotenv==1.0.0
...
Wir verwenden diese Datei, um die Python-Abhängigkeiten während des Docker-Image-Erstellungsprozesses zu installieren.
Dockerize-App
Stellen Sie zunächst sicher, dass Sie Docker auf Ihrem lokalen Rechner installiert haben. Das lässt sich am besten überprüfen, indem Sie in Ihrem Terminal
docker --version
ausführen.
Dockerdatei
Um unser Projekt zu dockerisieren, verwenden wir ein Dockerfile. Ein Dockerfile ist eine Textdatei, die alle Befehle enthält, die ein Benutzer ausführen könnte, um ein Image zusammenzustellen.
Erstellen Sie eine Dockerdatei im Stammverzeichnis des Projekts wie folgt:
# Dockerfile
# Use Alpine Linux as the base image
# we're using it since it's tiny in size (~5 MB)
FROM python:3.9.6-alpine
# Set the working directory
WORKDIR /app
# Set environmental variables
ENV PYTHONDONTWRITEBYTECODE 1 # Prevents Python from writing out .pyc files
ENV PYTHONUNBUFFERED 1 # Keeps Python from buffering stdin/stdout
# Copy over the requirements file and install the dependencies
COPY ./requirements.txt .
RUN pip install --no-cache-dir --upgrade -r ./requirements.txt
# Copy over the source code
COPY . .
# Expose the port
EXPOSE 80
# Run the server
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"]
Lesen Sie die Kommentare, um herauszufinden, wie die verschiedenen Anweisungen funktionieren.
Keine Sorge, Sie müssen nicht alle Anweisungen auswendig lernen. Wenn Sie einmal nicht weiterkommen, können Sie jederzeit in der Docker-Dokumentation nachsehen. Außerdem sind Dockerdateien für die meisten Sprachen und Frameworks online zu finden. Sie brauchen sie nur zu kopieren und an Ihre Bedürfnisse anzupassen.
.dockerignore
Unser Projekt enthält Dateien und Verzeichnisse, die nicht in das Docker-Image aufgenommen werden sollen. Um sie zu ignorieren, können wir eine .dockerignore-Datei verwenden.
Erstellen Sie eine .dockerignore-Datei im Stammverzeichnis des Projekts:
# .dockerignore
.git/
.idea/
venv/
Sie können gerne weitere Dateien und Verzeichnisse hinzufügen.
Erstellen, Ausführen und Testen
Bevor Sie Ihren Code auf CaaS bereitstellen, stellen Sie sicher, dass Ihr Projekt erfolgreich erstellt und auf Ihrem Rechner ausgeführt werden kann.
Beginnen Sie mit der Erstellung des Docker-Images:
$ docker build -t fastapi-example:1.0 .
Zusammenfassung der Argumente:
-t fastapi-example:1.0
markiert/benennt das Bild..
definiert den Build-Kontext.
Prüfen Sie dann, ob das Image erfolgreich erstellt wurde:
$ docker images
REPOSITORY TAG ID CREATED AT SIZE
fastapi-example 1.0 33feac11707d 4 seconds ago 72.8MB
Danach verwenden Sie das neu erstellte Image, um einen neuen Container zu starten:
$ docker run -p 80:80 --name fastapi-example -d fastapi-example:1.0
Zusammenfassung der Argumente:
-p 80:80
gibt Port80
frei.--name fastapi-example
benennt den Container.-d
führt den Container im losgelösten Modus aus (ohne den Terminal zu belegen).fastapi-example:1.0
gibt an, welches Bild verwendet werden soll.
Überprüfen Sie die laufenden Container:
$ docker ps
ID IMAGE COMMAND CREATED PORTS
e67fdeg fastapi-example:1.0 "uvicorn main:app.." 9s ago 0.0.0.0:80->80/tcp
Senden Sie abschließend eine GET-Anfrage
an den API-Index, um zu sehen, ob Sie die Nachricht erhalten:
$ curl http://localhost/
{
"message": "Back4app Containers rocks!"
}
Um den Container anzuhalten, können Sie den folgenden Befehl verwenden:
$ docker kill fastapi-example
Auf GitHub verschieben
Für die nächsten Schritte benötigen Sie ein GitHub-Konto. Wenn Sie noch keins haben, melden Sie sich einfach an. Stellen Sie außerdem sicher, dass Git auf Ihrem Computer installiert und konfiguriert ist.
Repository erstellen
Sie werden zu Ihrem Dashboard weitergeleitet, wenn Sie sich bei Ihrem GitHub-Konto anmelden. Verwenden Sie die Schaltfläche “Hinzufügen” oben rechts auf dem Bildschirm, um das Formular zur Erstellung eines Repositorys anzuzeigen.
Geben Sie dann Ihrem Repository einen aussagekräftigen Namen und klicken Sie auf die Schaltfläche “Repository erstellen”.
GitHub benötigt einige Augenblicke, um das Repository zu erstellen. Sobald das Repository erstellt ist, werden Sie dorthin weitergeleitet. Achten Sie auf die “Remote repository URL”.
Quellcode veröffentlichen
Navigieren Sie nun zurück zu Ihrem lokalen Projekt.
Bevor Sie Ihren Code versionieren, sollten Sie eine .gitignore-Datei erstellen. Mit einer .gitignore-Datei können Sie festlegen, welche Dateien und Verzeichnisse dem Versionskontrollsystem nicht hinzugefügt werden sollen. Diese Datei funktioniert auf die gleiche Weise wie eine .dockerignore-Datei.
Erstellen Sie im Stammverzeichnis des Projekts eine .gitignore-Datei mit dem folgenden Inhalt:
# .gitignore
.idea/
venv/
.env
build/
Sie können die Datei nach Ihren Wünschen verändern.
Öffnen Sie dann das Terminal und führen Sie den folgenden Befehl aus, um das lokale Git-Repository zu initialisieren:
$ git init
Fügen Sie dann alle Dateien zum VCS hinzu und erstellen Sie die erste Übergabe:
$ git add .
$ git commit -m "my initial commit"
Zum Schluss fügen Sie den entfernten GitHub-Ursprung hinzu und pushen den Quellcode dorthin:
$ git remote add origin <remote_url>
$ git push origin master
Stellen Sie sicher, dass Sie durch die Remote-URL aus dem vorherigen Schritt ersetzen.
Das sollte alles sein. Wenn Sie jetzt die GitHub-Repository-Seite überprüfen, sollten Sie sehen, dass alle Dateien erfolgreich hinzugefügt wurden.
App bereitstellen
Um eine App in Back4app Containers bereitzustellen, benötigen Sie ein Back4app-Konto. Wenn Sie noch keinen haben, registrieren Sie sich einfach.
Wenn Sie sich anmelden, sehen Sie die Liste Ihrer Apps. Klicken Sie auf die Schaltfläche “Neue App erstellen”, um den Prozess der App-Erstellung zu starten.
Mit Back4app können Sie zwei Arten von Anwendungen bereitstellen – entweder Backend as a Service (BaaS) oder Containers as a Service (CaaS). Da wir eine containerisierte Anwendung bereitstellen wollen, wählen wir die Option “Container als Service”.
Wenn Sie noch Ihr GitHub-Profil verknüpfen und das Repository importieren müssen, das wir im vorherigen Schritt erstellt haben. Wählen Sie es dann aus.
Mit Back4app Containers können Sie die Bereitstellung in hohem Maße anpassen. Sie können den Bereitstellungszweig und das Stammverzeichnis festlegen, die automatische Bereitstellung aktivieren und die Umgebungsvariablen festlegen.
Da wir eine einfache App bereitstellen, brauchen wir keine dieser Optionen. Sie müssen nur den “App-Namen” festlegen und dann auf die Schaltfläche “App erstellen” klicken.
Back4app Containers benötigt einige Augenblicke, um den Quellcode von GitHub zu ziehen, das Image zu erstellen und einen neuen Container zu starten. Sobald Ihre Anwendung bereit ist, wird der Status auf “Ready” geändert.
Wenn dies geschieht, können Sie auf den grünen Link auf der linken Seite des Bildschirms klicken, um Ihre App im Browser zu öffnen. Sie werden vielleicht auch feststellen, dass Back4app Containers ein kostenloses SSL-Zertifikat für Ihre App ausgestellt hat.
Gute Arbeit, das war’s!
Schlussfolgerung
Abschließend haben Sie etwas über CaaS erfahren – eines der besten cloudbasierten Modelle für Microservice-Architekturen. Sie kennen jetzt die wichtigsten Funktionen, Vorteile, Einschränkungen und die besten CaaS-Anbieter. Darüber hinaus haben Sie gelernt, wie Sie eine einfache, gedockte Anwendung in Back4app Containers bereitstellen können.
Der Quellcode des Projekts ist im back4app-containers-fastapi Repository verfügbar.
Weitere Schritte
- Informieren Sie sich über Multi-Stage-Builds, um Ihre Dockerdateien zu verbessern und einfacher zu pflegen.
- Es ist eine gute Sicherheitspraxis, Ihre Docker-Container-Prozesse mit einem Nicht-Root-Benutzer auszuführen.
- Lesen Sie die Back4app Containers-Dokumentation, um zu erfahren, wie Sie andere Programmiersprachen und Frameworks einsetzen können.
FAQ
Was ist Containers as a Service?
Containers as a Service (CaaS) ist ein Cloud-Computing-Modell, das es Entwicklern ermöglicht, Container hochzuladen, zu erstellen, zu skalieren und zu verwalten. Container sind kleine ausführbare Anwendungspakete, die überall einfach bereitgestellt werden können. Mit CaaS müssen sich Entwickler- und IT-Teams keine Gedanken über die zugrunde liegende Infrastruktur machen. Stattdessen können sie auf einer viel höheren Ebene arbeiten.
Was sind die Vorteile von Containers as a Service?
– Schnellere Entwicklung und Bereitstellung
– Ressourceneffizienz
– Portabilität
– Skalierbarkeit
– Vereinfachter Betrieb
Was sind die Nachteile von Containers as a Service?
– Sicherheitsprobleme
– Weniger Kontrolle
– Lernkurve
– Datenpersistenz
Was sind die besten Anbieter von Containers as a Service?
– Back4app Containers
– Amazon Elastic Container Service (ECS)
– Google Cloud Kubernetes (GKE)
Wie stellt man eine Anwendung mit Containern bereit?
1. Entwickeln Sie die Anwendung.
2. Dockerisieren Sie die Anwendung und testen Sie sie lokal.
3. Pushen Sie den Quellcode auf GitHub.
4. Stellen Sie die App auf Back4app Containers bereit.