
Cloud-native Computing
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Reviews / Votes
"Cloud-native Computing (2. Auflage) ist ein fundiertes, gut strukturiertes und praxisnahes Fachbuch für alle, die sich mit modernen Cloud-Technologien befassen. Besonders für Studierende und Cloud-Architekten ist es eine wertvolle Lektüre. Wer sich tiefer mit Cloud-native-Strategien, DevOps und modernen Softwarearchitekturen beschäftigen möchte, findet hier eine ausgezeichnete Quelle." Dr. Fabian Deitelhoff, Deitelhoff.me, März 2025More details
Other editions
Additional editions


Person
ISNI: 0000 0000 2257 2828
Content
- Intro
- Inhalt
- Vorwort
- 1 Einleitung
- 1.1 An wen sich dieses Buch richtet
- 1.2 Was dieses Buch behandelt
- 1.3 Sprachliche Konventionen
- 1.4 Notationskonventionen
- 1.5 Ergänzende Materialien
- Teil?I: Grundlagen
- 2 Cloud Computing
- 2.1 Service-Modelle
- 2.1.1 Infrastructure as a Service (IaaS)
- 2.1.2 Platform as a Service (PaaS)
- 2.1.3 Software as a Service (SaaS)
- 2.2 Cloud-Ökonomie
- 2.2.1 Eignung von unterschiedlichen Arten von Workloads
- 2.2.2 Effekt von Zuteilungsdauer und Ressourcengröße
- 2.3 Entwicklung der letzten Jahre
- 3 DevOps
- 3.1 Prinzipien des Flow
- 3.1.1 Prinzip?1: Arbeit sichtbar machen
- 3.1.2 Prinzip?2: Work in Progress beschränken
- 3.1.3 Prinzip?3: Flaschenhälse minimieren
- 3.2 Prinzipien des Feedbacks
- 3.2.1 Prinzip?4: Probleme früh erkennen
- 3.2.2 Prinzip?5: Probleme sofort lösen
- 3.2.3 Prinzip?6: Probleme professionell verantworten
- 3.3 DevOps-geeignete Architekturen
- 3.3.1 Randbedingungen für die Entwicklung
- 3.3.2 Nutzung von Orchestrierungsplattformen
- 3.3.3 Randbedingungen im Betrieb
- 4 Cloud-native
- 4.1 Definitionen in Industrie und Forschung
- 4.2 Die Cloud-native-Definition dieses Buchs
- 4.3 Zusammenfassung und Ausblick?auf?Teil?II bis IV
- Teil?II: Everything?as?Code
- 5 Einleitung zu Teil?II
- 6 Deployment-Pipelines
- 6.1 Deployment-Pipelines as Code
- 6.1.1 Phasen-Pipelines
- 6.1.2 Gerichtete Pipelines
- 6.1.3 Hierarchische Pipelines
- 6.1.4 Steuerung von Pipelines
- 6.2 DevOps-geeignete Branching-Strategien
- 6.2.1 Git-Flow
- 6.2.2 GitHub-Flow
- 6.2.3 Trunk-basierte Entwicklung
- 6.3 Zusammenfassung
- 7 Infrastructure as?Code
- 7.1 Virtualisierung
- 7.1.1 Virtualisierung von Hardware-Infrastruktur
- 7.1.2 Virtualisierung von Software-Infrastruktur
- 7.2 Provisionierung
- 7.2.1 Immutable Infrastructure
- 7.2.2 IaC-Ansätze
- 7.2.3 Provisionierung von lokalen Umgebungen
- 7.2.4 Provisionierung von Multi-Host-Umgebungen
- 7.3 Zusammenfassung
- 8 Standardisierung von Deployment Units (Container)
- 8.1 Hintergrund (PaaS)
- 8.2 Betriebssystem-Virtualisierung
- 8.3 Container Runtime Environments
- 8.3.1 Kernel-Namespaces
- 8.3.2 Process Capabilities
- 8.3.3 Control Groups
- 8.3.4 Union Filesystem
- 8.3.5 High-Level- und Low-Level-Container-Laufzeitumgebungen
- 8.4 Bau und Bereitstellung von?Container-Images
- 8.5 Faktoren gut betreibbarer Container
- 8.5.1 Codebase
- 8.5.2 Abhängigkeiten und Konfigurationen
- 8.5.3 Unterstützende Services und Port Binding
- 8.5.4 Build-, Release- und Run-Phase
- 8.5.5 Horizontale Skalierung über Prozesse
- 8.5.6 Umgebungen, Logs und Betrieb
- 8.6 Zusammenfassung
- 9 Container-Plattformen
- 9.1 Scheduling
- 9.1.1 Heterogenität von Workloads
- 9.1.2 Scheduling-Algorithmen
- 9.1.2.1 Einfache Scheduling-Algorithmen
- 9.1.2.2 Multidimensionale Scheduling-Algorithmen
- 9.1.2.3 Kapazitätsbasierte Scheduling-Algorithmen
- 9.1.3 Scheduling-Architekturen
- 9.1.3.1 Monolithischer Scheduler
- 9.1.3.2 2-Level-Scheduler
- 9.1.3.3 Shared-State Scheduler
- 9.2 Orchestrierung
- 9.2.1 Definition von Betriebszuständen
- 9.2.2 Regelkreis: Desired versus Current State
- 9.3 Inside Kubernetes
- 9.3.1 Kubernetes-Architektur
- 9.3.2 Verwaltete Ressourcen und Basis-Blueprint
- 9.3.3 Schedulbare Workloads
- 9.3.3.1 Deployments
- 9.3.3.2 (Cron-)Jobs
- 9.3.3.3 Daemon-Sets
- 9.3.3.4 Stateful-Sets
- 9.3.4 Scheduling Constraints
- 9.3.4.1 Angabe des Ressourcenbedarfs mittels Requests und Limits
- 9.3.4.2 Knoten-Selektoren
- 9.3.4.3 Knotenaffinitäten
- 9.3.4.4 Pod-(Anti-)Affinitäten
- 9.3.5 Automatische Skalierung von Workloads
- 9.3.6 Exponieren von Workloads als interne und externe Services
- 9.3.7 Health Checking
- 9.3.8 Persistenz
- 9.3.9 Isolation von Workloads
- 9.3.9.1 Namespaces und Role-based Access Model (Multi-Tenancy)
- 9.3.9.2 Quotas und Limit Ranges
- 9.3.9.3 Network Policys
- 9.4 Zusammenfassung
- 10 Function as a Service
- 10.1 FaaS-Plattformen
- 10.1.1 Das FaaS-Programmiermodell
- 10.1.2 Zu berücksichtigende Randbedingungen
- 10.1.3 Veranschaulichung des FaaS-Programmiermodells
- 10.2 Plattformagnostische FaaS-Frameworks
- 10.3 Ereignisbasierte Autoskalierung
- 10.4 Zusammenfassung
- Teil?III: Cloud-native Architekturen
- 11 Einleitung zu Teil?III
- 12 Microservice und Serverless-Architekturen
- 12.1 Eigenschaften von Microservices
- 12.2 Integrationsmuster für Microservices
- 12.2.1 Datenbankbasierte Integration
- 12.2.2 (g)RPC-basierte Interprozesskommunikation
- 12.2.3 Representational State Transfer (REST)
- 12.2.4 Ereignisbasierte Integration (asynchron)
- 12.2.5 API-Versioning
- 12.3 Architekturelle Sicherheit
- 12.3.1 Circuit-Breaker
- 12.3.2 Bulkhead
- 12.3.3 Idempotente API-Operationen
- 12.4 Skalierung von Microservices
- 12.4.1 Load Balancing
- 12.4.2 Messaging
- 12.4.3 Skalierung zustandsbehafteter Komponenten
- 12.4.3.1 Scaling for Reads
- 12.4.3.2 Scaling for Writes (Sharding)
- 12.4.3.3 Command Query Responsibility Segregation (CQRS)
- 12.4.4 Caching
- 12.5 Prinzipien zur Entwicklung von?Microservices
- 12.5.1 Prinzip?1: Bilde Modelle um Geschäftskonzepte
- 12.5.2 Prinzip?2: Erschaffe eine Kultur der Automatisierung
- 12.5.3 Prinzip?3: Blende interne Implementierungsdetails aus
- 12.5.4 Prinzip?4: Dezentralisiere
- 12.5.5 Prinzip?5: Definiere unabhängig aktualisierbare Einheiten
- 12.5.6 Prinzip?6: Isoliere Fehler
- 12.5.7 Prinzip?7: Baue gut beobachtbare Services
- 12.6 Serverless-Architekturen
- 12.6.1 Architekturelle Konsequenzen von Serverless-Limitierungen
- 12.6.2 Das API-Gateway-Pattern
- 12.6.3 Abgrenzung zu Microservices
- 12.7 Zusammenfassung
- 13 Beobachtbare Architekturen
- 13.1 Konsolidierung von Telemetriedaten
- 13.2 Instrumentierung von Systemen
- 13.2.1 Logging
- 13.2.2 Monitoring
- 13.2.2.1 Metrikarten
- 13.2.2.2 Empfehlungen für die Metrikinstrumentierung
- 13.2.3 Tracing
- 13.2.3.1 Empfehlungen für die Instrumentierung
- 13.2.3.2 Tracing-Instrumentierung und Erzeugung von Spans
- 13.2.3.3 Serverseitiges Tracing und Extraktion von Span-Kontexten
- 13.2.3.4 Clientseitiges Tracing und Weiterreichen von Span-Kontexten
- 13.3 Automatisierte Instrumentierung
- 13.3.1 Eigenschaften von Service-Meshs
- 13.3.2 Traffic-Management
- 13.3.3 Resilienz
- 13.3.4 Sicherheit
- 13.3.5 Management und Analyse von Verkehrstopologien
- 13.4 Zusammenfassung
- 14 Domain-driven Design
- 14.1 Fachlichkeit
- 14.2 Strategisches Design
- 14.2.1 Subdomänen
- 14.2.1.1 Kerndomäne (Core Subdomain)
- 14.2.1.2 Unterstützende Subdomäne (Supporting Subdomain)
- 14.2.1.3 Generische Subdomänen (Generic Subdomain)
- 14.2.1.4 Anmerkungen am Beispiel einer Fallstudie
- 14.2.2 Ubiquitous Language
- 14.2.2.1 Eine gemeinsame Sprache als Schlüssel zu einem gemeinsamen Verständnis
- 14.2.2.2 Mehrdeutige und synonyme Begriffe
- 14.2.3 Bounded Contexts
- 14.2.4 Context Mapping
- 14.2.4.1 Partnerschaftliche Kooperationsmuster (Partners?und?Shared-Kernel)
- 14.2.4.2 Customer-Supplier-Kooperation
- 14.2.4.3 Separate Ways
- 14.2.4.4 Context Maps als Landkarte von Machtverhältnissen
- 14.3 Taktisches Design
- 14.3.1 Oft genutzte Pattern für Geschäftslogik
- 14.3.1.1 Das ETL-Pattern (primär Supporting Subdomains)
- 14.3.1.2 Das Active Record-Pattern (primär Supporting Subdomains)
- 14.3.1.3 Das Domain Model-Pattern (primär Core Subdomains)
- 14.3.1.4 Das Event-Sourcing-Pattern (primär Core Subdomains)
- 14.3.2 Oft genutzte Pattern für die Architektur
- 14.3.2.1 Die Ebenen-Architektur
- 14.3.2.2 Das Ports & Adapter-Pattern
- 14.3.2.3 Das CQRS-Pattern
- 14.4 Zusammenfassung
- Teil?IV: Sichere?Cloud-native Anwendungen
- 15 Einleitung zu Teil?IV
- 16 Härtung Cloud-nativer Anwendungen
- 16.1 Härtung (virtueller) Infrastrukturen
- 16.1.1 Tool-gestütztes System Hardening
- 16.1.2 Kontinuierliche Aktualisierung von virtuellen Maschinen
- 16.1.3 Sichere Authentifizierung mittels SSH
- 16.1.4 Kontinuierliche Überwachung virtueller Maschinen
- 16.1.4.1 Verhaltensbasierte Intrusion Detection mittels Auditing
- 16.1.4.2 Signaturbasierte Intrusion Detection
- 16.1.4.3 Log Forwarding
- 16.1.5 Einsatz von Sicherheitsgruppen und Firewalls
- 16.2 Härtung containerisierter Workloads
- 16.2.1 Absicherung von Public Endpoints mittels Ingresses
- 16.2.2 Namespace-basierte Netzwerkisolation
- 16.2.3 Pod Hardening
- 16.2.4 Erhöhung der Container Runtime Isolation
- 16.2.5 Volume Hardening
- 16.2.6 Workload Policing
- 16.2.7 Intrusion Detection
- 16.2.8 Sicherung der Supply Chain
- 16.2.8.1 Statische Software Composition Analysis (SCA)
- 16.2.8.2 Static Application Security Testing (SAST)
- 16.2.8.3 Kontinuierliches Schwachstellen-Scanning von Container-Plattformen
- 16.3 Zusammenfassung
- 17 Regulatorische Anforderungen
- 17.1 Cloud Compliance und Zertifizierungen
- 17.1.1 ISO?9001
- 17.1.2 BSI-IT-Grundschutz und BSI-Standards
- 17.1.3 BSI-C5-Zertifizierung
- 17.1.4 ISO/IEC?27001 und 27017/27018
- 17.1.5 CSA STAR
- 17.1.6 CISPE Code of Conduct
- 17.1.7 EU Cloud Code of Conduct
- 17.1.8 SOC?1-3 (Service Organization Control)
- 17.1.9 FedRAMP
- 17.1.10 HIPAA
- 17.1.11 PCI DSS
- 17.1.12 Zusammenfassung
- 17.2 Aus der DSGVO sich ergebende Anforderungen
- 17.2.1 Personenbezogene Daten
- 17.2.2 Grundsätze der Verarbeitung personenbezogener Daten
- 17.2.3 Auftragsverarbeitung
- 17.2.4 Datenschutz-Folgenabschätzungen
- 17.2.5 Internationale Datentransfers in Drittländer
- 17.3 Europäischer Datenschutz und?Drittländer
- 17.3.1 Probleme am Beispiel des CLOUD Act
- 17.3.2 Lösungen trotz SCHREMS?I?+?II
- 17.4 Zusammenfassung
- 18 Schlussbemerkungen
- Literaturverzeichnis
- Stichwortverzeichnis
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.