[10]: https://git-scm.com/downloads ![TBZ Banner](../x_gitres/tbz_logo.png) # KN04 Inhaltsverzeichnis [TOC]
## Lernziele - **Kompetenzband E**: Betriebsarchitektur konzipieren (Handlungsziele 1,2) - **Kompetenzband F**: Applikation in Betrieb nehmen (Handlungsziele 3,4) - **Kompetenzband H**: Daten-Sicherheit implementieren (Handlungsziel 3,4)
## Challenges ### A) S3 Bucket (Object Store) erstellen und Objekte darin ablegen (Beginner) **Ausgangslage**:
Im ersten Challenge dieses Kompetenznachweises werden Sie einen sogenannten **S3-Bucket** aufsetzen, konfigurieren und anschliessend ein Bild (Object) darin ablegen. Sie lernen ausserdem, **was** ein Object Store ist und welche **Vor- und Nachteile** er gegenüber anderen Storage-Lösungen bietet. ### B) Mit "Cloud-init" einen Webserver aufsetzen mit Zugriff auf Bild im S3-Bucket (Advanced) **Ausgangslage:**
In diesem Auftrag werden Sie eine Amazon EC2-Instanz mit einem Cloud-Init-Skript aufzusetzen. Schwerpunkt ist der Content dieses IaC-Scripts, welches Sie selbständig und mit Know-how aus der letzten Übung selber zusammenbauen. Ziel ist es, dass Ihr Webserver das Bild, welches auf dem S3-Bucket liegt, auf der Index-Seite anzeigt. ### C) Template (Beginner) **Ausgangslage:**
Damit Ihr Coach / Lehrperson ebenfalls auf Ihre Instanz zugreifen kann, ergänzen Sie Ihre **cloud-init**-Scripts auch mit dessen Public-Key. Fordern Sie diesen an und ergänzen Sie diesen unter **ssh_authorized_keys**. Dieser Auftrag ist erfüllt, wenn die Lehrperson anschliessend ohne Authentifikation auf Ihre Instanzen zugreifen kann. ### D) Auftrennung von Web- und Datenbankserver (Advanced) **Ausgangslage:**
Bei KN02 haben Sie die gesamte Software für sämtliche Dienste und die zugehörige Software auf **einer EC2-Instanz** installiert (Apache Webserver, PHP, PHP-Erweiterung, PHP-Mysqli und den DB-Server). In dieser Übung erstellen Sie nun für dieselben Dienste **zwei EC2-Instanzen**. Diese Aufteilung ist ein erster Schritt in Richtung **Microservices**. Ausserdem werden sie die Kommandos aus KN02 nicht mehr von Hand ausführen, sondern in **zwei** separaten .YAML-Files schreiben. Damit erfüllen Sie **zwei wesentliche Best practice Ansätze** der modernen Plattformentwicklung: - **Aufteilung in Microservices** - **Deklaratives Setup** mit **Infrastructure as Code** (IaC) ## Sozialform: - Einzel / Tandem (Jede:r dokumentiert im eigenen Repository) ## Leistungsnachweis: - Dokumentation im persönlichen Repository - Live-Demo ## Arbeitsauftrag - [**Challenge KN03**](./KN03.md)
--- > [⇧ **Zurück zur Hauptseite**](https://gitlab.com/ser-cal/M346) ---