m346/KN04/README.md
2023-09-09 18:21:25 +02:00

70 lines
2.6 KiB
Markdown

[10]: https://git-scm.com/downloads
![TBZ Banner](../x_gitres/tbz_logo.png)
# KN04 Inhaltsverzeichnis
[TOC]
<br>
## 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)
<br>
## Challenges
### 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.
### B) Mit "Cloud-init" einen Webserver aufsetzen mit Zugriff auf Bild im S3-Bucket (Advanced)
**Ausgangslage:**<br>
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:**<br>
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)
---