AWS Fargate ist eine Rechenmaschine für Amazon Elastic Container Service (ECS) und Amazon Kubernetes Service (EKS), die es ermöglicht, Container auszuführen, ohne Cluster von virtuellen Maschinen, die Anwendungscontainer beherbergen, bereitstellen, konfigurieren und skalieren zu müssen.
Mit AWS Fargate kannst du dich von der manuellen Verwaltung von EC2-Instanzen befreien.
Dadurch kannst du dich auf das Design und den Aufbau deiner Anwendungen konzentrieren, anstatt die Infrastruktur zu verwalten, auf der sie laufen. Alles, was du tun musst, ist, deine Anwendungen in Container zu packen, deine Anforderungen an Speicher und Prozessor festzulegen, IAM-Richtlinien zu definieren und deine Anwendungen zu starten.
Was sind die Vorteile von AWS Fargate?
Die Nutzung von AWS Fargate, das vollständig von AWS verwaltet wird, bietet erhebliche Vorteile für die Verwaltung von Anwendungscontainern:
- Vereinfachte Ressourcenverwaltung: Keine Verwaltung der zugrunde liegenden EC2-Instanzen für die Ausführung deiner Container.
- Nutzungsabhängige Preisgestaltung: Du zahlst nur entsprechend deiner Nutzung und es fallen keine anfänglichen Kosten an.
- Durch die Verwendung von IAM-Kontrollen verfügt Fargate über eine sehr hohe Sicherheit.
Ressourcen passen sich automatisch an die Nachfrage an, und Skalierungsrichtlinien können angewendet werden, um Ressourcen zu erhöhen oder zu verringern. - AWS Fargate ist eng mit anderen AWS-Diensten wie ECS oder EKS integriert, was die Nutzung in bestehenden Umgebungen vereinfacht.
💡Auch interessant:
Amazon S3 |
Amazon EC2 |
Amazon Web Services |
AWS Google Cloud |
Amazon Quicksight |
Amazon Omics |
Begriffe, die du kennen musst, um AWS Fargate zu nutzen
Zuallererst müssen wir uns mit einigen Begriffen vertraut machen:
Container (Behälter): Ein Docker-Container ist die Standardeinheit, die alles enthalten wird, was deine Anwendung zum Laufen braucht (Datenbank, Umgebungsvariablen, Bibliotheken usw.).
Container Image (Containerbild): Bilder werden aus einer Dockerfile-Datei erstellt, die alle Komponenten angibt, die in den Container aufgenommen werden. Diese Container werden aus einer Container-Image-Vorlage erstellt.
Task Definition: Dies sind Dateien im Json-Format, die den/die Container definieren, aus dem/denen deine Anwendung besteht.
Task (Aufgabe): Eine Aufgabe ist nicht mehr und nicht weniger als die Instanziierung einer Aufgabendefinition innerhalb eines Clusters.
Cluster: Dies ist im Wesentlichen die logische Gruppierung der Ressourcen, die deine Anwendung benötigt.
Nun wollen wir versuchen, das obige Diagramm zu verstehen.
Im ersten Schritt baust du dein Image auf, das für deine Anwendung geeignet ist. Dann definierst du die verschiedenen benötigten Ressourcen, wie Speicher, Prozessor usw., aber auch die Orchestrierungsmaschine, die du verwenden möchtest (ECS oder EKS). Schließlich kannst du deine verschiedenen Anwendungen ausführen und verwalten, wobei du nur für die Nutzung und die verwendeten Ressourcen bezahlst.
In welchen Fällen solltest du AWS Fargate nutzen?
Obwohl AWS Fargate alle gängigen Anwendungsfälle für Container-Anwendungen unterstützt, wie z. B.:
- Microservice-Architektur
- Batch-Processing
- Skripte
- Web-Anwendungen
- oder Machine-Learning-Anwendungen, gibt es dennoch einige Anwendungsfälle, die seine Verwendung besonders erfordern.
AWS Fargate ist eine ideale Lösung für die Ausführung von Mikrodiensten. Du kannst jeden Mikrodienst in einem Container bereitstellen und die benötigten Ressourcen werden automatisch verwaltet.
Fargate kann für Batch-Prozesse wie Bild- und Videoverarbeitung, Datenanalyse und ETL-Aufgaben verwendet werden. Du kannst deine Anforderungen an die erforderliche Arbeitslast anpassen.
Die Bereitstellung und Ausführung von Webanwendungen kann mit Fargate sehr einfach erfolgen.
So kannst du sie skalieren, wenn die Anforderungen deiner Nutzer steigen.
Du kannst Fargate verwenden, um deinen gesamten Prozess und deine DevOps-Pipeline zu automatisieren.
Fazit
Wie du vielleicht schon bemerkt hast, bietet AWS Fargate eine serverlose Rechenlösung für containerisierte Anwendungen, die eine einfache und effiziente Verwaltung der von ihnen benötigten Ressourcen ermöglicht.
Mit dieser Lösung kannst du dich auf die Entwicklung deiner Anwendungen konzentrieren, während die Plattform sich um die Verwaltung der zugrunde liegenden Rechenressourcen kümmert. Mit seinen Vorteilen, die in diesem Artikel besprochen wurden, ist es eine gute Wahl für Unternehmen jeder Größe, die nach einem modernen Ansatz für die Bereitstellung und Entwicklung von Anwendungen suchen.
Da du nun alles über AWS Fargate weißt, kannst du einen Kurs besuchen, um Amazon Web Services zu beherrschen. Erfahre mehr über den von DataScientest angebotenen Kurs.