KN04 Hauptauftrag ergänzt

This commit is contained in:
Marcello Calisto 2023-09-09 18:02:38 +02:00
parent 1004ba918a
commit 0b4e0d71f9

69
KN04/README.md Normal file
View File

@ -0,0 +1,69 @@
[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) SSH-Key und Cloud-init (Beginner)
**Ausgangslage:**<br>
Sie wissen bereits, wie man auf AWS ein SSH Keypair erstellt und können sich mit diesem Key per SSH mit einer Instanz in der Cloud verbindet. Dieser Challenge geht nun etwas tiefer. Weil das Keypair von AWS und nicht von Ihnen erzeugt wurde, fehlt ihnen noch der Public-Key zu Ihrem bereits bei sich abgelegten **Private Key** (file.pem). Mit **puttygen** können Sie jederzeit den zugehörigen **Public Key** erzeugen. Diesen können Sie dann auf jeder beliebigen Instanz in der Cloud ablegen, um schnell darauf zuzugreifen.
### 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)
---