### A) S3 Bucket (Object Store) erstellen und Objekte darin ablegen (Beginner)
**Ausgangslage**:<br>
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.
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.
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:**<br>
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)
<br>
---
> [⇧ **Zurück zur Hauptseite**](https://gitlab.com/ser-cal/M346)