Cloud-Native Definition
Cloud-Native ist ein Softwareentwicklungsansatz, der die Vorteile des Cloud-Computing-Delivery-Modells vollständig nutzt. Die Cloud Native Computing Foundation (CNCF) definiert Cloud-Native als:
"Cloud-native Technologien ermöglichen es Organisationen, skalierbare Anwendungen in modernen, dynamischen Umgebungen zu entwickeln und zu betreiben."
Kernkonzepte von Cloud-Native
1. Microservices-Architektur
- Modularisierung in unabhängige Services
- Einzelne Verantwortlichkeiten pro Service
- API-basierte Kommunikation
- Unabhängiges Deployment
2. Container-Technologie
- Docker als Container-Runtime
- OCI (Open Container Initiative) Standards
- Unveränderliche Infrastruktur (Immutable Infrastructure)
- Container Images und Registry
3. Orchestrierung mit Kubernetes
- Automatisches Scaling (Horizontal Pod Autoscaler)
- Service Discovery und Load Balancing
- Self-Healing und Rolling Updates
- Deklarative Konfiguration
4. DevOps und CI/CD
- Continuous Integration (CI)
- Continuous Delivery/Deployment (CD)
- Infrastructure as Code (IaC)
- GitOps Workflows
Cloud-Native Prinzipien
- Automatisierung: Manuelle Prozesse eliminieren
- Observability: Logging, Monitoring, Tracing
- Resilienz: Fehlertolerante Systeme
- Elastizität: Dynamische Skalierung
- Deklarativ: Desired State Konfiguration
CNCF Landscape Kategorien
- Orchestration & Management: Kubernetes, Helm, Operators
- Runtime: containerd, CRI-O, gVisor
- Provisioning: Terraform, Pulumi, Crossplane
- Observability: Prometheus, Grafana, Jaeger
- Service Mesh: Istio, Linkerd, Consul
Verwandte Begriffe
- Cloud Computing
- Platform as a Service (PaaS)
- Infrastructure as a Service (IaaS)
- Serverless Computing
- Function as a Service (FaaS)
- Container as a Service (CaaS)
CFTools Software entwickelt Cloud-Native-Anwendungen nach CNCF-Standards für deutsche Unternehmen.