330 Scripting mit JSON APIs [4 PT]

Bei Automatisierungsaufgaben kannst du dich nicht immer auf fertige Tools verlassen. Häufig musst du eine Schnittstelle zu einem bestehenden System selbst implementieren oder mit APIs sprechen, um eine Automatisierung einzubauen oder Informationen aus einem System zu ziehen. Am häufigsten werden dir hier Systeme mit JSON begegnen.

In diesem Kapitel schreibst du ein Programm um mit einer API zu sprechen und die Daten zu verarbeiten. Mit der Hilfe deines Mentors lernst du dein Programm in sinnvolle Einzelteile aufzuteilen und gut lesbaren und...

331 Schreiben von Tests [3 PT]

Beim schreiben von Scripts ist es nützlich Tests zu schreiben um bei Änderungen nicht alles nochmals manuell testen zu müssen. Außerdem stellt man sicher, dass immer alle Bestandteile getestet werden wenn man eine Änderung vornimmt.

Ziele

  • Verstehe warum man Tests schreiben möchte
    • Neue Features können bestehende Features brechen
    • Besser schlafen, weil man weiß, dass die Software gut funktioniert und getestet ist
    • Features können nicht versehentlich entfernt oder verändert werden
    • Es ist möglich, nur einen Teil des Scripts/...

400 AWS Fundamentals [2 PT]

AWS ist der meist genutzte Cloud Provider. Bei AWS gibt es extrem viele Themengebiete und es ist nicht möglich sich jeden Service anzusehen. Allerdings gibt es einige Kernservices, die man kennen sollte um einen guten Überblick zu den AWS Themen zu haben. Abhängig vom Projekt auf dem man arbeitet, benötigt man unterschiedliche Lösungen.

Da es sehr aufwendig ist ein vollständiges, eigenes Trainingsprogramm zu erstellen, orientieren wir uns an den Vorbereitungskursen zu den AWS Zertifizierungen. Ein besonders breites Wissen über die untersch...

401 Infrastructure as Code [0.25 PT]

Früher und auch heute noch werden in großen Teilen Infrastruktur Bestandteile manuell konfiguriert und aufgesetzt. Das bedeutet, dass Menschen manuell eine VM starten, diese von Hand konfigurieren und anschließend Backups davon machen. Auch Netzwerkkonfiguration oder Dienste werden häufig noch manuell konfiguriert.

Du (und makandra) möchtest solche manuellen Tätigkeiten möglichst vermeiden. Wie du in den Ansible Kapiteln beim konfigurieren von Servern schon gelernt hast, hat es seine Vorteile, seine Konfigurationen als Code in einem Git Re...

402 Terraform Basics [2 PT]

Terraform hat im Moment die größte Verbreitung bei den IaC tools. Trotz der kleineren Probleme bei der Benutzung ist es immer noch flexibel genug, um beinahe alle Anforderungen, die man an ein IaC Tool haben kann, abzudecken.

Ziele

  • Du kennst die grundsätzlichen Terraform Aktionen init, plan, apply und destroy und kannst erklären was diese machen
  • Du kennst HCL und die Limitierungen die mit der "Sprache" einhergehen
  • Du weißt, was der Terraform State ist und kannst beschreiben wie dieser funktioniert
  • Warum braucht man den...

410 AWS IAM and Accounts [1 PT]

AWS Identity and Access Management (IAM) ist der zentrale AWS Service um Berechtigungen für AWS API Endpoints zu verwalten. Es stellt Benutzer, Rollen, Policies und Möglichkeiten zur Authentifizierung und Authorisierung bereit. Um effektiv mit AWS zu arbeiten, ist ein tiefes Wissen über die Konzepte und die Bedienung erforderlich.

Ziele

  • Was ist eine IAM policy und was kann man damit machen?
  • An was kann man eine Policy assignen?
  • Was passiert, wenn ich in einer Policy ein Deny und ein Allow auf die gleichen Services mache?
  • Vers...

411 AWS Simple Storage Service (S3) [1.5 PT]

Einer der ältesten und beliebtesten Services von AWS ist S3. Viele Kunden nutzen nur diesen Service während ihre Infrastruktur eigentlich durch andere Dienstleister oder durch diese selbst betrieben wird. S3 gehört aus Sicht von Policies und Zugriffsverwaltungen auch zu den komplexesten Services.

Ziele

  • Den Unterschied von S3 zu einem Netzwerkshare/Dateisystem kennen und erklären können (wie wenn der Kunde danach fragt)
  • Kenne 3 Möglichkeiten "Backups" von einem S3 Bucket zu erstellen (Szenario: Benutzer löscht versehentlich eine Datei...

412 AWS VPCs and Connectivity [2 PT]

AWS VPC ist Teil der EC2 Familie und wird benötigt um Netzwerkressourcen bereitzustellen. Es ist komplett mit Software-defined Networking konfigurierbar und stellt zusammen mit den direkt damit zusammenhängenden Services einen der komplexesten AWS Services dar.

Ziele

  • Verstehe was ein VPC ist. Warum braucht man ggf. mehrere VPCs?
  • Wie viele Subnetze kann man in einem VPC erstellen?
  • Was sind Internet Gateways?
  • Für was braucht man NAT Gateways?
  • Wie hängen Internet Gateways und NAT Gateways zusammen?
  • Was ist der Unterschied zwisch...

413 AWS EC2 [3 PT]

Die Elastic Compute Cloud ist ein flexibler Service, der VMs und damit zusammenhängende Komponenten wie Disks, Netzwerkgeräte, Loadbalancing, VM Images und Autoscaling bereitstellt. Der Service ist komplex und es gibt eine Menge zu lernen.

Ziele

  • Warum gibt es unterschiedliche Instance Types? Was sind die bekanntesten "Gruppen" und wie unterscheiden sie sich?
  • Warum gibt es unterschiedliche "Generationen" der Instance Types? Wie unterscheiden sich diese?
  • Was sind EBS Volumes?
  • Können EBS Volumes von mehreren VMs gleichzeitig verwend...

414 AWS EFS [0.5 PT]

Verteilte und dynamisch skalierte Anwendungen benötigen gemeinsamen Speicher. Nicht immer ist ein Object Store wie S3 dafür optimal. Beispielsweise weil die Anwendung nicht damit umgehen kann und nur in Dateisysteme, die das Betriebssystem bereitstellt, schreiben können. Auf On-Premise Systemen greift man oft auf ein NFS share, GlusterFS oder Ceph zurück.

Ziele

  • Du weißt was NFS ist
  • Du hast dir einen kurzen Überblick verschafft was GlusterFS und Ceph ist.
  • Erkläre für was man EFS einsetzen möchte. Wann ist es besser EFS statt S3 ...

415 Managen von AWS EC2 Ressourcen mit Terraform [2 PT]

Ziele

  • Du hast alle Aufgaben der Card erfüllt

Inhalte

Aufgaben

Um die Aufgaben zu erfüllen, brauchst Zugriff auf einen AWS Account. Du solltest aus den vorherigen Kapiteln bereits Zugriff zu einem Account haben.
Außerdem solltest du den hier erstellten Code in einem Git Repository pflegen. Bitte erstelle für die einzel...

416 Containers & ECS [0.5 PT]

Für den Betrieb von Containern bietet sich ein Orchestrierungswerkzeug an. Dabei geht es primär darum zu beschreiben wie viel Speicher/CPU einem Container zugeordnet wird, wie oft ein Container gestartet werden soll (Replicas) und welche anderen Komponenten daran angebunden werden. Auch Service Discovery und Traffic Ingress sind wichtige Themen.

Ziele

  • Was sind "Container"?
  • Welche Probleme lösen Container? Warum will man seine Software in Containern betreiben?
  • Erkläre was ECS ist und wofür man es verwenden kann
  • Grenze EKS von ECS ...

417 Route 53 [0.5 PT]

Für den Betrieb von DNS Infrastruktur bietet Amazon den Route53 Service an. Route53 kann weit mehr als viele übliche DNS Provider. Wir werden nicht alles im Detail anschauen und es ist auch nicht alles Teil des Videokurses. Wichtig ist, dass du grundsätzlich verstehst für was man Route53 und die Features einsetzen kann, nicht, dass du alle Features im Detail ausprobiert hast.

Ziele

  • Erkläre den Unterschied zwischen Public und Private Zones
  • Welcher Konfigurationsparameter macht eine Zone zu einer private Zone? Schau dir in dem Zusammen...

418 AWS RDS [2 PT]

Der zuverlässige und perfomante Betrieb von relationalen Datenbanken kann sehr aufwendig und komplex sein. Dies gilt vor allem, wenn man eine robuste Replikation für Failover und Read-Replicas haben möchte. Amazon Relational Database Service (RDS) ist ein vollständig verwalteter Dienst, um unterschiedliche relationale Datenbanken wie z.B. MySQL, MariaDB, PostgreSQL oder Oracle zu betreiben. Dabei sind Replikation, Backups und Failover bereits gelöst.

Ziele

  • Warum möchte man RDS verwenden statt die Datenbank selbst auf EC2 zu hosten?
  • W...

419 AWS Loadbalancing and Scaling [1.5 PT]

Hat man wechselnde Lastzustände für seine Applikation und möchte Geld einsparen, kann man seine Applikation und die Infrastruktur so designen, dass diese automatisch skaliert. Hat man verteilte Systeme, benötigt man auch eine Komponente, die Anfragen auf die unterschiedlichen Endpunkte verteilt. In diesem Kapitel lernst du etwas über beide Komponenten und wie man Autoscaling Anwendungen aufbaut.

Ziele

  • Du kannst regionale und globale AWS Architektur erklären. Wie wird Redundanz sichergestellt?
  • Was ist der Unterschied zwischen einem AL...

420 EC2 Autoscaling und Loadbalancing mit Terraform provisionieren [3 PT]

Ziele

  • Erfülle die Aufgaben
  • Zeige deinem Mentor in einer Live-Demo was du umgesetzt hast.
  • Wenn du Aufgabe 4 betrachtest: Gibt es andere Wege die Daten aus dem S3 Bucket auf die Instanzen zu bekommen? Welche Nachteile hat die vorgestellte Methode? Was passiert z.B. wenn die Daten im S3 Bucket aktualisiert werden?
  • Was wäre ein besserer Weg Nginx auf den Instanzen verfügbar zu haben als diesen jedes mal beim starten zu installieren?

Aufgaben

Für diese Aufgaben baust du auf deinem Modul aus [415](https://makandracards.com/makandra...

421 AWS Cloudfront und HTTP Caching [1 PT]

Webseiten und Applikationen, die auch häufig international verwendet werden, können von einem CDN profitieren. Cloudfront ist auch nützlich, wenn eine einfache, statische Webseite ausgeliefert werden soll.

Ziele

  • Du hast verstanden was ein CDN ist und wofür man das braucht
  • Du hast schon von anderen CDN Anbietern gehört und Namen wie Akamai und Cloudflare sind dir nicht fremd.
  • Zeichne eine Grafik einer AWS Infrastruktur, die Cloudfront verwendet. Gehe in der Grafik auch auf die Architektur (wie hat AWS das aufgebaut?) von Cloudfront ...

422 AWS Serverless und Lambda [2 PT]

Insbesondere kleine Applikationen oder einzelne Aufgaben können mit sogenannten "Serverless" Funktionen gut bereitgestellt werden. Dabei ist keinerlei Infrastruktur zu verwalten, da sich der Cloud Provider vollständig darum kümmert. Allerdings entsteht dafür Komplexität an anderer Stelle.

Ziele

  • Was genau versteht man unter Serverless?
  • Erkläre Vor- und Nachteile von Serverless Applikationen gegenüber einer Container oder VM Infrastruktur
  • Wie reagiert eine AWS Lambda Funktion, die schon lange keine Anfragen mehr erhalten hat, wenn wi...

423 Automatisierung mit Lambda Funktionen [3 PT]

Du möchtest deinen AWS Account auf bestimmte Fehlkonfigurationen hin überwachen. Dafür wirst du AWS Config einsetzen. Über gebrochene AWS Config Rules möchtest du informiert werden. Du möchtest aber nicht nur eine Nachricht erhalten, sondern es soll ein Ticket/Issue in einem Gitlab Projekt erstellt werden, damit jemand sich dieses Problem ansehen und fixen kann. Hierfür gibt es noch keine fertige Lösung und du möchtest eine Lambda Funktion dafür verwenden. Selbstverständlich verwaltest du alles mit Terraform.

Inhalte

  • [What Is AWS Cloud...

424 Hybrid Cloud Verbindung und Migrationen [1 PT]

Hat man mehrere Cloud Platformen und OnPremise Systeme, müssen diese unter Umständen miteinander verbunden werden. Amazon bietet eine Auswahl an Diensten um dies zu ermöglichen.

Ziele

  • Welche Möglichkeiten gibt es ein OnPremise Netzwerk mit seinem AWS Netzwerk zu verbinden?
    • Erkläre/Vergleiche anhand einer Grafik den zuvor genannten Punkt
  • Erkläre den Unterschied zwischen Public VIF, Transit VIF und Private VIF
  • Vergleiche Direct Connect und Site-to-Site VPN. Was ist die bessere Lösung?
  • Was ist ein Transit Gateway und wann ...

425 AWS Security, Encryption und Compliance [0.5 PT]

Ziele

  • Erkläre den Unterschied zwischen SSM Parameter Store, Secrets Manager und CloudHSM
  • Für was kann AWS WAF und Shield eingesetzt werden?
  • Nenne einige übliche WEBACLs, die in einer echten Umgebung eingesetzt werden könnten
  • Erkläre für was AWS Config gut ist und nenne mindestens 5 nützliche Regeln dafür
  • Welchen Nutzen erbringt Amazon Inspector in einer Cloud Infrastruktur?

Inhalte

  • Kapitel [SECURITY, DEPLOYMENT & OPERATIONS](https://learn.cantrill.io/courses/aws-certified-solutions-architect-associate-saa-c03/le...

426 NOSQL, DynamoDB and Analytics [0.5 PT]

Ziele

  • Was ist DynamoDB und für was kann man es einsetzen?
  • In eine DynamoDB Tabelle werden ständig neue Daten geschrieben. Diese Daten müssen durch eine Lambda Funktion ausgewertet werden. Wie kann dies automatisch passieren, wenn ein neuer Eintrag erstellt wird?
  • Erkläre DynamoDB Global Tables
  • Eine Applikation verwendet DynamoDB. Es gibt Performanceprobleme, die auf zu langsame Responsezeiten der DynamoDB zurückzuführen sind, wenn die Anwendung viel Traffic hat. Die Funktionslogik der API-Calls in der Applikation kann nicht geänder...

500 Kubernetes und Container Übersicht [0.5 PT]

Kubernetes ist der de-facto Standard zum Orchestrieren von Container Workloads. Sowohl On Premise als auch in der Cloud wird Kubernetes häufig eingesetzt um Container zu betreiben. Die einfachste Variante ist hierbei eine managed Version eines Cloudproviders (z.B. EKS). In den folgenden Kapiteln lernst du mehr über Container und wie man diese mit Kubernetes betreibt. Die Grundlage für diese Kapitel ist "The Book of Kubernetes" von Alan Hohn (ISBN-13: 978-1718502642 oder neuere Auflage). Bei makandra gibt es das Buch in der Bibliothek.

Vor...

501 Funktionsweise von Containern [1.5 PT]

In diesem Kapitel sprechen wir darüber wie Container eigentlich funktionieren. Es ist zwar nicht zwingend erfoderlich um diese zu verwenden, aber ein tieferes Verständnis hilft dir in Problemfällen die richtige Lösung zu finden oder eine Architekturentscheidung zu treffen oder zu begründen. Solltest du mit deinem Wissen aus den Linux und Netzwerkkapiteln nicht mehr fit sein, solltest du nochmal einen Blick auf diese Kapitel und deren Ziele werfen.

Ziele

Process Isolation

  • Warum möchte man Ressourcen eines Hosts von Prozessen untere...