Skip to content

Commit abfaea6

Browse files
committed
feat: Add documentation on cloud basics.
1 parent 21c1e59 commit abfaea6

File tree

1 file changed

+113
-0
lines changed
  • documentation/05-devops-und-cloud/02-cloud-basics

1 file changed

+113
-0
lines changed
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
# Cloud-Basics: Infrastruktur und Services
2+
3+
- Was ist Cloud?
4+
- Service-Modelle
5+
- * as a Service
6+
- IaaS: Infrastructure (VMs)
7+
- PaaS: Platform (Betriebssystem, Laufzeitumgebungen, …)
8+
- FaaS: Function (aka Serverless)
9+
- SaaS: Software (Anwendungen, Services, …)
10+
- BaaS: Backend as a Service
11+
- DBaaS: Database as a Service
12+
- Deployment-Modelle
13+
- Public Cloud (AWS, Azure, GCP, Digital Ocean, Scaleway, SysEleven, …)
14+
- Private Cloud (Cloud-Infrastruktur auf eigener Hardware)
15+
- Hybrid Cloud
16+
17+
- Verantwortung
18+
- Was übernimmt der Cloud-Anbieter?
19+
- Was macht man selbst?
20+
21+
- Globale Infrastruktur
22+
- Regions (Geografische Verteilung für niedrige Latenz)
23+
- Availability Zones (AMS1, AMS2, …, für Ausfallsicherheit)
24+
25+
- Angebote in der Cloud
26+
- VMs
27+
- Kubernetes
28+
- Container
29+
- Images
30+
- IP-Adressen
31+
- Load-Balancer
32+
- Datenbanken
33+
- Storage
34+
- S3 (Simple Storage Service)
35+
- Message-Queues
36+
- E-Mail-Versand
37+
- Funktionen (FaaS / Serverless)
38+
- Sicherheit
39+
- Identity and Access Management (IAM)
40+
- Key Management Services (KMS)
41+
- Logs, Metriken, Traces, Alerting, …
42+
-
43+
44+
- Infrastructure as Code (IaC)
45+
- Reproduzierbarkeit, Versionierung, Nachvollziehbarkeit, …
46+
- Soll- vs Ist-Zustand, deklarativ statt imperativ
47+
- Beispielprodukte
48+
- Terraform
49+
- https://www.hashicorp.com/de/products/terraform
50+
- Typische Befehle
51+
- `tf init`: Neues Projekt initialisieren
52+
- `tf plan`: Konfiguration planen und vorbereiten
53+
- `tf apply`: Konfiguration tatsächlich anwenden
54+
- `tf destroy`: Konfiguration löschen
55+
- Pulumi
56+
- https://www.pulumi.com/
57+
58+
- Welchen Cloud-Anbieter nutzen?
59+
- Funktionalität / Funktionsumfang
60+
- Herkunft des Anbieters / Vertragspartners
61+
- Regionen
62+
- Preisstruktur
63+
- Support
64+
- Know-How im eigenen Unternehmen
65+
- Vendor Lock-In
66+
67+
- Beispiel
68+
- Bausteine
69+
- Stateless-HTTP-Service
70+
- Datenbank
71+
- Datenbank
72+
- In einer VM
73+
- Manuelle Lifecycle-Management
74+
- Daten lokal in der VM
75+
- Als Container
76+
- Lifecycle-Management
77+
- Block-Storage
78+
- Kubernetes
79+
- StatefulSet (weil Datenbank nicht stateless)
80+
- PersistentVolume / PersistentVolumeClaim
81+
- Gemanaged
82+
- ESDB as a Service (ESDBaaS)
83+
- Updates, Backups, Monitoring, … alles inklusive
84+
- Lösung
85+
- Entweder VM oder Managed
86+
- Im Wesentlichen Kostenfrage bzw. Regionsfrage
87+
- Service / Backend
88+
- In einer VM
89+
- Skalierbarkeit nur manuell
90+
- Unter Umständen großer Server, kleine Anwendung, teuer
91+
- Als Container
92+
- Zero-Downtime-Updates
93+
- Einfache Skalierbarkeit
94+
- Lifecycle-Management
95+
- Lösung
96+
- Als Container, über Kubernetes
97+
- Lohnt sich dafür Terraform?
98+
- Nein
99+
- Es genügt eine Manifest-Datei für Kubernetes
100+
- Ablauf beim Service
101+
- Git-Repository, wo der Code eingecheckt wird
102+
- `git push` startet CI/CD-Pipeline
103+
- Kompilieren, Tests, Codeanalyse, …
104+
- Docker-Image bauen
105+
- Docker-Image in Registry ablegen
106+
- Prozess zum Deployen
107+
- Einfaches Shellskript
108+
- Gewünschte Version (die von Hand angegeben wurde) in das Manifest eintragen
109+
- `kubectl apply`
110+
- Ggf Tools wie ktmpl (https://github.com/aimotrens/ktmpl) nutzen
111+
- Verbindung zwischen Planning und Execution
112+
- Irgendeine Art von Trigger
113+
- Button, ChatOps, SMS, …

0 commit comments

Comments
 (0)