08 - Skalierung Flashcards
Was ist vertikale Skalierung?
Erhöht die Kapazität eines einzelnen Servers durch mehr CPU, RAM oder Speicher
Vorteile: Einfach umzusetzen. Nachteile: Downtime und begrenzte Skalierbarkeit.
Was ist horizontale Skalierung?
Fügt neue, gleichartige Server hinzu, um die Last zu verteilen
Vorteile: Bessere Skalierbarkeit und Elastizität. Herausforderungen: Load Balancing, Shared State und Monitoring.
Was sind Burst-Instanzen?
Nutzen ein Credit-System: Sie sammeln CPU-Credits bei niedriger Last und verbrauchen sie bei hoher Last
Beispiele: T-Instanzen bei AWS, B-Instanzen bei Azure.
Was ist der schlimmste anzunehmende Workload für Burst-Instanzen?
Ein konstant hoher CPU-Bedarf
Da die Credits schnell aufgebraucht werden und die Performance einbricht.
Was sind Herausforderungen der horizontalen Skalierung?
Load Balancing, Shared State zwischen Instanzen, Skalierungsheuristiken, Monitoring-Anpassungen, höhere Betriebskomplexität
Probleme treten auf, wenn Applikationen stark voneinander abhängen oder stateful sind.
Warum ist echte Elastizität schwierig?
Unterprovisionierung oder Überprovisionierung passiert schnell
Bedarf an präzisen Vorhersagen oder Machine Learning für optimale Skalierungsentscheidungen.
Was ist das Besondere an Kubernetes-Instanzen auf Hyperscalern?
Kubernetes ist als verwalteter Service auf Hyperscalern verfügbar
Beispiele: EKS bei AWS, AKS bei Azure.
Wie kann die Skalierbarkeit von Kubernetes auf Hyperscalern optimiert werden?
Mit serverlosen Knoten (Fargate bei AWS, Azure Serverless Nodes)
Kubernetes vereinfacht Verwaltung, Skalierung und Deployment von Containern.
Was ermöglichen Kubernetes-Installationen auf Hyperscalern?
Automatisierte Skalierung und Orchestrierung von Containern
Entlastung bei Infrastruktur-Management und Nutzung von Cloud-nativen Funktionen.
Wie wird ein Monolith in eine Microservice-Architektur aufgeteilt?
In einzelne Services zerteilt, z. B.:
* User Service (Verwaltung von Nutzern)
* Topic Service (Verwaltung von Themen)
* Message Service (Verwaltung von Nachrichten)
Schrittweise Umstellung: Erst einzelne Funktionalitäten auslagern, dann iterativ weiter auftrennen.
Existieren bei Hyperscalern komplett serverlose Infrastrukturen?
Nein, da immer gewisse administrative Aufgaben bleiben
Vollständig serverlose Infrastrukturen existieren nicht.
Was muss man bei Kubernetes auf AWS/Azure ‘betreiben’?
Cluster-Ressourcen, Berechtigungen und Netzwerkkonfiguration verwalten
Serverlose Workerknoten reduzieren jedoch den Administrationsaufwand.