Slide 1

Slide 1 text

DEPLOY, CONNECT, FERTIG AKS und Datenbanken in der Praxis

Slide 2

Slide 2 text

ABOUT ME Daniel Lindemann Begeisterter .NET-Entwickler und Berater mit einer seltsamen Vorliebe für die Optimierung, Automatisierung und Containerisierung von Anwendungen. Was ich so mache: ▪ Microsoft Azure ▪ Cloud-native & Container Technologien ▪ Developer Technologies ▪ Generative AI ▪ DevOps - Dev in der Nacht, Ops am Tag E-Mail: [email protected] Web: https://www.dlindemann.de LinkedIn: https://linkedin.com/in/daniel-lindemann

Slide 3

Slide 3 text

AGENDA ▪ Container, Kubernetes, AKS ▪ Datenbanken in Kubernetes und Azure ▪ Praxisteil: Getting our Hands Dirty ▪ Azure Integrationen

Slide 4

Slide 4 text

CONTAINER

Slide 5

Slide 5 text

CLOUD READY TO CLOUD NATIVE Reifegrad einer Cloud-Anwendung Cloud Ready ▪ Keine Anforderung an das Datei-System ▪ Läuft auf virtualisierter Hardware ▪ Self-contained; kann aus Image ausgeführt werden Cloud Friendly ▪ Besteht aus lose gekoppelten Diensten ▪ Dienste können über Namen gefunden werden ▪ 12-Factor App Prinzipien https://12factor.net/ Cloud Resilient ▪ Fehlertolerant und resilient entworfen ▪ Metriken und Monitoring eingebaut ▪ Runs anywhere – Infrastruktur agnostisch Cloud Native ▪ Skaliert elastisch abhängig von Anforderungen ▪ Dynamische Migration ohne Service Downtime

Slide 6

Slide 6 text

CONTAINER Unterschied VM und Container Virtualisierung Containerisierung Typ 1 Hardware Hypervisor 1 VM VM VM Hardware Typ 2 Host OS Hypervisor 2 VM VM VM VM Gast OS Abhängigkeiten Applikation XYZ Hardware Host OS Container Runtime Abhängigkeit 1 Abhängigkeit 2 C C C C C Container App-Abhängigkeiten Applikation XYZ

Slide 7

Slide 7 text

CONTAINER Vorteile ▪ Container sind plattformunabhängig (meistens) ▪ Docker ist das defacto Standardtool ▪ Beinhalten benötigte Abhängigkeiten ▪ Applikationsbestandteile in kleinere Stücke aufteilen ▪ Wartbarkeit ▪ Schneller Start ▪ Über Dockerfile einfach zu erstellen und zu erweitern ▪ Ermöglicht die horizontale Skalierung von einzelnen Applikationen und Applikationsbestandteilen ▪ Cloud Agnostic

Slide 8

Slide 8 text

CONTAINER Für Entwickler und Admins Schnelle Integration Agile Bereitstellung Unveränder- lichkeit Kosten- ersparnis Elastic bursting Effiziente Bereitstellung Für Admins Für Entwickler

Slide 9

Slide 9 text

CONTAINERS Pets vs. Cattle In the old way of doing things, we treat our servers like Pets, for example, Bob the mail server. If Bob goes down, it’s all hands on deck. The CEO can’t get his email and it’s the end of the world. In the new way, servers are numbered, like Cattle in a herd. For example, www001 to www100. When one server goes down, it’s taken out back, shot, and replaced on the line. - Randy Bias

Slide 10

Slide 10 text

CONTAINERS Pets vs. Cattle Cattle Arrays aus mehr als zwei Servern, die mit automatisierten Werkzeugen aufgebaut werden und für Ausfälle konzipiert sind, wobei kein einzelner, kein zweiter und selbst kein dritter Server unersetzlich ist. Typischerweise ist bei Ausfällen kein menschliches Eingreifen erforderlich, da das Array Merkmale wie das „Umgehen von Ausfällen“ zeigt, indem fehlgeschlagene Server neu gestartet oder Daten durch Strategien wie dreifache Replikation repliziert werden. Beispiele umfassen Webserver-Arrays, Multi-Master-Datenspeicher wie Cassandra-Cluster, mehrere Racks, die zu Clustern zusammengeschlossen sind, und nahezu alles, was Lastverteilung und Multi-Master unterstützt. Pets Server oder Serverpaare, die als unentbehrliche oder einzigartige Systeme betrachtet werden, die niemals ausfallen dürfen. Sie werden in der Regel manuell aufgebaut, verwaltet und „von Hand gepflegt“. Beispiele hierfür sind Mainframes, einzelne Server, HA-Load-Balancer/Firewalls (aktiv/aktiv oder aktiv/passiv), Datenbanksysteme im Master/Slave- Design (aktiv/passiv) und ähnliche Systeme.

Slide 11

Slide 11 text

CONTAINERS UND MICROSERVICES https://www.slideshare.net/BruceWong3/the-case-for-chaos https://twitter.com/adrianco/status/441883572618948608

Slide 12

Slide 12 text

KUBERNETES

Slide 13

Slide 13 text

Wir brauchen Automatisierung, einschließlich automatischer Planung, automatischer Konfiguration, Überwachung und Fehlerbehandlung. Wir brauchen einen “Orchestrator”

Slide 14

Slide 14 text

AUFGABEN EINES ORCHESTRATOR Scheduling Affinity/anti- affinity Health monitoring Failover Scaling Networking Service discovery Koordinierte App-Upgrades

Slide 15

Slide 15 text

KUBERNETES ▪ Cloud-agnostische Applikationsplattform ▪ System zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von Container- Anwendungen ▪ Kubernetes gruppiert Container, aus denen eine Anwendung besteht, in logische Einheiten, um die Verwaltung und Erkennung zu erleichtern. ▪ Stellt die zugrunde liegende Infrastruktur als einzelne Rechenressource zur Verfügung ▪ Tools und APIs helfen bei der Konfiguration des Clusters

Slide 16

Slide 16 text

KUBERNETES Architektur

Slide 17

Slide 17 text

KUBERNETES Pods 10 .10.10.1 10 .10.10.2 10 .10.10.3 10 .10.10.4 IP Adresse Volume Container

Slide 18

Slide 18 text

KUBERNETES Meistgenutzte Objekte NAMESPACES INGRESS SECRETS DEPLOYMENTS PODS PERSISTENTVOLUMES REPLICASETS SERVICES DAEMONSETS CONFIGMAPS CRONJOBS

Slide 19

Slide 19 text

CLUSTER MANAGEMENT Basics Manifest file kubectl

Slide 20

Slide 20 text

AZURE KUBERNETES SERVICE

Slide 21

Slide 21 text

“Wir brauchen Kubernetes!” IT Operations Product Manager Software Entwickler

Slide 22

Slide 22 text

AZURE KUBERNETES SERVICE (AKS) Kubernetes als Managed Service ▪ Vereinfacht die Bereitstellung, Verwaltung und den Betrieb von Kubernetes-Cluster ▪ Master Node(s) verwaltet von Microsoft ▪ Reduziert Komplexität und Betriebsaufwand eines Kubernetes-Clusters, indem ein Großteil dieser Verantwortung an Azure übertragen wird ▪ Einfache Kubernetes-Versions Upgrades und Patches ▪ Einfache Cluster-Skalierung ▪ Kostenersparnis

Slide 23

Slide 23 text

AKS VERANTWORTUNGSBEREICHE Microsoft managed Customer managed

Slide 24

Slide 24 text

AZURE KUBERNETES SERVICE (AKS) Beispiel: Microservice Application Architektur

Slide 25

Slide 25 text

AZURE KUBERNETES SERVICE (AKS) Features und Einschränkungen ▪ Cloud-Native & Cloud-Agnostic ▪ Benötigt Netzwerk Infrastruktur ▪ Kubernetes Know-How erforderlich ▪ Ingress Konfiguration muss manuell vorgenommen werden ▪ Load Balancer mit Public IP ▪ Ingress Controller (AGIC, nginx, traefik, etc.) ▪ Gateway API (AGC) ▪ Anbindung von externen Systemen durch Kubernetes Interfaces Modell ▪ CNI (Container Network Interface) ▪ CSI (Container Storage Interface) ▪ Managed Kubernetes on Azure ▪ Control Plane verwaltet von Microsoft ▪ Free (bis 10 Nodes für Testing) ▪ Standard (99,95% SLA) ▪ Verwaltung von Worker Nodes über Node Pools ▪ Freie Wahl der Compute-, Memory- und GPU- SKUs ▪ Unterstützt Linux und Windows Nodes ▪ x64 und arm64 Support ▪ Scaling von Nodes und Workloads ▪ Volle Kontrolle der Workloads, Steuerung und Zugriffe

Slide 26

Slide 26 text

WHY SHOULD YOU CARE … … about Kubernetes ▪ Container sind eine Evolution bzw. Transformation, die in der IT stattfindet ▪ Vergleichbar mit der Veränderung durch Virtualisierung ▪ In großen Umgebungen ist das Verwalten von einzelnen Containern sehr schwierig ▪ Single Server Ansatz ist keine Lösung ▪ Auf welchen Servern sollen die Container verteilt werden ▪ Failover-Szenarien ▪ Gartner sagte hervor, dass 2022 mehr als 75% aller Unternehmen Container Workloads laufen haben ▪ Anstieg um 30% seit 2020 ▪ Revenue Growth for Container Management Software | Gartner

Slide 27

Slide 27 text

DATENBANKEN IN KUBERNETES UND AZURE

Slide 28

Slide 28 text

DATENBANKEN IN CONTAINERN Einsatzszenarien und Herausforderungen Herausforderungen ▪ Self-managed ▪ Daten in Volumes, Container sind flüchtig (ephemeral) ▪ Multi-Instance: Leader, Replicas, CQRS ▪ Backups/Restore konsistent (PITR) - automatisiert, getestet ▪ Performance: Storage-Latenz/IOPS ▪ Updates: Rolling Upgrades, Migrationen, Kompatibilität ▪ Security: Secrets, TLS, Segmentierung, Least Privilege Typische Einsatzszenarien ▪ Lokale Entwicklung: gleiche DB-Version wie Prod ▪ Integrationstests: kurzlebige Datenbanken ▪ Demos und Proof of Concepts ▪ Produktion nur mit Persistenz/HA/Backups

Slide 29

Slide 29 text

DATENBANKEN IN CONTAINERN Kubernetes ▪ StatefulSet + PersistentVolumes ▪ (Headless) Service für stabile DNS ▪ Secrets für Credentials und Zertifikate ▪ Probes + Ressourcen-Limits DB-spezifisch ▪ Operatoren für HA, Backups, Upgrades Bild von https://www.cloudacode.com/hello-kubernetes/hello-kubernetes/section03/handson/statefulset/

Slide 30

Slide 30 text

DATENBANKEN IN AZURE Database-as-a-Service Datenbanksystem + Infrastructure-as-a-Service (IaaS) + Platform-as-a-Service (PaaS) = Database-as-a-Service

Slide 31

Slide 31 text

DATENBANKEN IN AZURE Azure Datenbank Services Azure SQL Azure SQL Managed Instance Azure Cosmos DB Azure Database for PostgreSQL Azure Database for MySQL Azure Database for MySQL Azure Database for MariaDB Azure Cache for Redis …

Slide 32

Slide 32 text

AZURE DATENBANK VS. SELF-MANAGED Azure PaaS senkt Betriebsaufwand deutlich Self-managed ▪ Volle Verantwortung für Betrieb ▪ Backup/Restore selbst bauen ▪ HA/DR selbst designen ▪ Storage/Performance Tuning nötig ▪ Security Hardening & Secrets Management Azure ▪ Betrieb outgesourct (Patch/Upgrade) ▪ Backups & PITR inklusive ▪ High Availability & Desaster Recovery integriert ▪ Skalierung per “Klick“ ▪ Security & Compliance Built-in

Slide 33

Slide 33 text

AZURE SQL DATENBANK AUTHENTIFIZIERUNG Entra ID Auth vs Username & Password Username & Password ▪ Benutzer und Passwort werden im Datenbanksystem gespeichert ▪ Muss selbst verwaltet werden ▪ Passwortrotation ▪ Einfaches Setup ▪ Risiko: Muss jeder selbst einschätzen Entra ID Authentication ▪ Keine Passwörter erforderlich ▪ Nutzt Azure RBAC + SQL-Benutzerverwaltung ▪ Hohe Plattformintegration ▪ Komplexes Setup ▪ Managed Identity für SQL Server erforderlich - Entra ID-Rolle (Directory Reader) ▪ Azure Ressourcen benötigen eine Managed Identity-Zuweisung

Slide 34

Slide 34 text

WORKLOAD IDENTITY Federated Authentication für Kubernetes Workloads Bild von https://www.nathannellans.com/post/azure-kubernetes-service-workload-identity

Slide 35

Slide 35 text

DEMO PREP

Slide 36

Slide 36 text

DEMO APPLIKATION Container Images beer-rating-backend Web API ▪ /beer/… ▪ /beer/favorites/… ▪ /beer/favorites/rate/… ▪ /brewery/… Linux AMD64 & ARM64 ~ 58mb beer-rating-frontend Razor Pages ▪ Rating View Linux AMD64 & ARM64 ~ 56mb beer-rating-console-beerquotes Console App ▪ Console.WriteLine() Linux AMD64 & ARM64 ~ 38mb

Slide 37

Slide 37 text

Azure Kubernetes Service SQL Datenbank Container Registry Key Vault API Server Controller-Manager Scheduler etcd Control plane Microsoft managed VNETs Pod Backend 1 beer-rating-backend beer-rating-console-beerquotes Pod Backend 2 beer-rating-backend beer-rating-console-beerquotes Pod Frontend 1 beer-rating-frontend Services Deployments Ingress Pods … Kubernetes Virtual Machine Scale Sets Load Balancers Managed Identities Worker Node 1 … Worker Node 2

Slide 38

Slide 38 text

LET’S DEMO! https://dlmn.link/datamonster-2026-aks-from-start-to-data

Slide 39

Slide 39 text

AZURE INTEGRATIONEN

Slide 40

Slide 40 text

INTEGRATIONEN Kubernetes Baseline Architecture - VNETs https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/containers/aks/baseline-aks

Slide 41

Slide 41 text

INTEGRATIONEN Microsoft Defender for Cloud

Slide 42

Slide 42 text

INTEGRATIONEN Azure Policies Bild von https://www.danielstechblog.io/azure-policy-for-azure-kubernetes-service/

Slide 43

Slide 43 text

FRAGEN?

Slide 44

Slide 44 text

Die abtis Gruppe führt als IT-Dienstleister den Mittelstand mit strategischer Beratung, effizienten Projekten und maßgeschneiderten Managed Services sicher in die digitale Zukunft. Die Gruppe verfügt über mehr als 20 Jahre Erfahrung in der Planung, der Umsetzung und dem Betrieb von Microsoft-Plattformen. Sie betreut bereits mehr als 250.000 Anwender der Cloud-Plattformen Microsoft 365 und Azure. Die abtis Gruppe ist Mitglied der Microsoft Intelligent Security Association (MISA), Fokuspartner von Microsoft für den Mittelstand und Gewinner des Microsoft Accelerate Innovation Awards 2023. Dabei deckt abtis alle Lösungsbereiche von Microsoft ab: von Modern Work über Security, Business Applications, Infrastructure (Azure), Digital & App Innovation (Azure) bis hin zu Data & AI (Azure). www.abtis.de +49 7231 4431 - 100 [email protected] © 2025 Alle Rechte vorbehalten. Dieses Dokument ist urheberrechtlich geschützt. Sämtliche Inhalte dienen der Dokumentation. Jede andere Nutzung, insbesondere die Weitergabe an Dritte, die Verbreitung oder die Bearbeitung, auch in Teilen, ist ohne schriftliche Einwilligung der abtis GmbH untersagt. Die verwendeten Firmen-, Marken- und Produktnamen und Warenzeichen sind eingetragene Markenzeichen oder Warenzeichen der jeweiligen Inhaber und werden hiermit anerkannt.