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: Web: LinkedIn: [email protected] https://www.dlindemann.de https://linkedin.com/in/daniel-lindemann

Slide 3

Slide 3 text

AGENDA ▪ Azure Kubernetes Service ▪ Datenbanken in Kubernetes und Azure ▪ Praxisteil: Getting our Hands Dirty

Slide 4

Slide 4 text

AZURE KUBERNETES SERVICE

Slide 5

Slide 5 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 6

Slide 6 text

AKS VERANTWORTUNGSBEREICHE Microsoft managed Customer managed

Slide 7

Slide 7 text

AZURE KUBERNETES SERVICE (AKS) Beispiel: Microservice Application Architektur

Slide 8

Slide 8 text

AZURE KUBERNETES SERVICE (AKS) Features und Einschränkungen ▪ Managed Kubernetes on Azure ▪ Cloud-Native & Cloud-Agnostic ▪ Control Plane verwaltet von Microsoft ▪ Benötigt Netzwerk Infrastruktur ▪ Free (bis 10 Nodes für Testing) ▪ Kubernetes Know-How erforderlich ▪ Standard (99,95% SLA) ▪ Ingress Konfiguration muss manuell vorgenommen werden ▪ Verwaltung von Worker Nodes über Node Pools ▪ Freie Wahl der Compute-, Memory- und GPUSKUs ▪ Unterstützt Linux und Windows Nodes ▪ x64 und arm64 Support ▪ Scaling von Nodes und Workloads ▪ Volle Kontrolle der Workloads, Steuerung und Zugriffe ▪ 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)

Slide 9

Slide 9 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 10

Slide 10 text

DATENBANKEN IN KUBERNETES UND AZURE

Slide 11

Slide 11 text

DATENBANKEN IN CONTAINERN 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 12

Slide 12 text

DATENBANKEN IN CONTAINERN Einsatzszenarien und Herausforderungen Typische Einsatzszenarien Herausforderungen ▪ Lokale Entwicklung: gleiche DB-Version wie Prod ▪ Self-managed ▪ Integrationstests: kurzlebige Datenbanken ▪ Daten in Volumes, Container sind flüchtig (ephemeral) ▪ Demos und Proof of Concepts ▪ Produktion nur mit Persistenz/HA/Backups ▪ 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

Slide 13

Slide 13 text

DATENBANKEN IN CONTAINERN Kubernetes ▪ StatefulSet + PersistentVolumes mariadb-0 mariadb-0 mariadb-1 mariadb-1 mariadb-2 mariadb-2 ▪ (Headless) Service für stabile DNS ▪ Secrets für Credentials und Zertifikate ▪ Probes + Ressourcen-Limits DB-spezifisch headless-service ▪ Operatoren für HA, Backups, Upgrades StatefulSet: mariadb Replicas: 3

Slide 14

Slide 14 text

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

Slide 15

Slide 15 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 MariaDB Azure Cache for Redis

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

AZURE SQL DATENBANK AUTHENTIFIZIERUNG Entra ID Auth vs Username & Password Entra ID Authentication Username & Password ▪ Keine Passwörter erforderlich ▪ Benutzer und Passwort werden im Datenbanksystem gespeichert ▪ 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 ▪ Muss selbst verwaltet werden ▪ Passwortrotation ▪ Einfaches Setup ▪ Risiko: Muss jeder selbst einschätzen

Slide 18

Slide 18 text

WORKLOAD IDENTITY Federated Authentication für Kubernetes Workloads AKS Cluster Application securityProfile: { workloadIdentity: { enabled: true } } oidcIssuerProfile: { enabled: true } Enable Workload Identity 5 Service Account 1 Enable OIDC Issuer Use supported library Pod needs updated for: * metadata.label for azure.workload.identity/use: "true" * spec.serviceAccountName: 3 sa subject issuer annotation Storage Account User-assigned Managed Identity 4 Federated Credential 2 RBAC Roles SQL Datenbank

Slide 19

Slide 19 text

DEMO PREP

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

FRAGEN?

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 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.