Skip to content

Latest commit

 

History

History
50 lines (26 loc) · 6.61 KB

was-ist-cloud-native.md

File metadata and controls

50 lines (26 loc) · 6.61 KB

Was ist Cloud Native?

Cloud Native bezeichnet einen Ansatz zur Softwareentwicklung und -bereitstellung, der Cloud-Computing-Technologien und -Prinzipien nutzt, um skalierbare, resiliente und agile Anwendungen zu erstellen. Dies beinhaltet die Nutzung von Containerisierung, Microservices-Architektur, dynamischer Orchestrierung und DevOps-Praktiken, um die nativen Fähigkeiten von Cloud-Plattformen voll auszuschöpfen. Cloud-Native-Anwendungen sind so konzipiert, dass sie hoch skalierbar, ausfallsicher und leicht an veränderliche Anforderungen anpassbar sind, was es Organisationen ermöglicht, schnell in der Cloud-Umgebung zu innovieren.

Cloud Native Ökosystem

Das Cloud Native Ökosystem umfasst verschiedene Aspekte, Schlüsseltechnologien und verwandte Bereiche, die sich um die Entwicklung, Bereitstellung und Verwaltung von Cloud-Native-Anwendungen drehen. Hier sind einige wichtige Komponenten des Cloud Native Ökosystems:

  • Containerisierung: Container, wie Docker, bieten leichte und isolierte Umgebungen für die Bereitstellung und Ausführung von Anwendungen auf verschiedenen Plattformen und Infrastrukturen.

  • Orchestrierung: Orchestrierungsplattformen wie Kubernetes ermöglichen die automatisierte Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen, und gewährleisten hohe Verfügbarkeit, Fehlertoleranz und effiziente Ressourcennutzung.

  • Microservices-Architektur: Cloud-Native-Anwendungen werden oft mit einer Microservices-Architektur erstellt, bei der Anwendungen in kleinere, locker gekoppelte Dienste unterteilt werden, die unabhängig voneinander entwickelt, bereitgestellt und skaliert werden können.

  • Service Mesh: Service-Mesh-Technologien, wie Istio und Linkerd, ermöglichen sichere und zuverlässige Kommunikation zwischen den Diensten in einer Microservices-Architektur, und bieten Beobachtbarkeit, Verkehrsmanagement und Resilienzfunktionen.

  • Immutable Infrastructure: Cloud-Native-Anwendungen nutzen das Konzept der unveränderlichen Infrastruktur, bei dem Infrastrukturkomponenten, einschließlich Server und Container, als wegwerfbar behandelt und leicht ersetzt oder aktualisiert werden können.

  • DevOps-Praktiken: Die Cloud-Native-Entwicklung umfasst DevOps-Prinzipien, indem Entwicklungsteams und Betriebsteams zusammengebracht werden, um den Anwendungslebenszyklus zu automatisieren und zu optimieren, einschließlich kontinuierlicher Integration, kontinuierlicher Bereitstellung und Infrastruktur als Code.

  • Cloud-Provider: Cloud-Native-Anwendungen nutzen oft Cloud-Plattformen, wie Amazon Web Services (AWS), Microsoft Azure oder Google Cloud Platform (GCP), um deren verwaltete Dienste, Skalierbarkeit und weltweite Verfügbarkeit zu nutzen.

  • Observability und Monitoring: Tools wie Prometheus, Grafana und Jaeger werden verwendet, um die Leistung, Gesundheit und das Verhalten von Cloud-Native-Anwendungen und Infrastrukturen zu überwachen und Einblicke zu gewinnen. Serverless Computing: Serverless-Plattformen, wie AWS Lambda, Azure Functions und Google Cloud Functions, ermöglichen es Entwicklern, Code auszuführen, ohne Server bereitstellen oder verwalten zu müssen, was ereignisgesteuerte, hoch skalierbare Architekturen ermöglicht.

  • CI/CD Pipelines: Kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD) automatisieren das Erstellen, Testen und Bereitstellen von Cloud-Native-Anwendungen, was häufige Releases und effiziente Entwicklungsworkflows gewährleistet.

  • WebAssembly: WebAssembly (Wasm) ist ein Binäranweisungsformat, das das Ausführen von Hochleistungscode im Web ermöglicht. Es ermöglicht das Ausführen von Code, der in verschiedenen Programmiersprachen wie C, C++, Rust und TypeScript geschrieben wurde, im Browser. WebAssembly wird zunehmend im Cloud Native Ökosystem genutzt, um die Leistung, Portabilität und Interoperabilität von Webanwendungen zu verbessern.

  • Web-Entwicklung: Cloud-Native-Web-Entwicklung konzentriert sich auf den Aufbau skalierbarer, containerisierter Webanwendungen, die mit Cloud-Native-Technologien und -Praktiken bereitgestellt und verwaltet werden können. Dies beinhaltet die Nutzung von Frameworks wie React, Angular und Vue.js, serverlosen Architekturen, CDN-basierte Content Delivery und Cloud-Native-Datenbanken und Speicherlösungen. Web-Entwickler im Cloud Native Ökosystem zielen darauf ab, effiziente, skalierbare und resiliente Webanwendungen zu erstellen, die nahtlos mit anderen Cloud-Native-Komponenten integriert werden können.

  • Sicherheit und Governance: Sicherheitspraktiken und -tools, wie Container-Image-Scanning, Identitäts- und Zugriffsmanagement und Netzwerksicherheitsrichtlinien, spielen eine entscheidende Rolle bei der Gewährleistung der Sicherheit und Compliance von Cloud-Native-Anwendungen.

Diese Aspekte und Technologien sind nur ein Einblick in das Cloud-Native-Ökosystem, das sich weiterentwickelt und erweitert, wenn neue Technologien und Praktiken auftauchen.

Key-Technologien im Cloud Native Tech-Stack

Hier sind einige Schlüsseltechnologien, die häufig im Cloud Native Tech Stack zu finden sind:

  • Kubernetes: Eine Open-Source-Container-Orchestrierungsplattform, die die Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen automatisiert. Kubernetes bietet Funktionen wie Lastausgleich, Service-Entdeckung und Selbstheilungsfähigkeiten.

  • Docker: Eine beliebte Containerisierungsplattform, die Anwendungen und deren Abhängigkeiten in leichte, tragbare Container verpackt. Docker bietet Isolation, Konsistenz und einfache Bereitstellung in verschiedenen Umgebungen.

  • Envoy: Ein leistungsstarker, Open-Source Edge- und Service-Proxy, der fortschrittliche Lastausgleichs-, Routing- und Beobachtungsfunktionen bietet. Envoy wird oft als Datenflugzeug in Service-Mesh-Architekturen verwendet.

  • Istio: Eine Service-Mesh-Plattform, die eine Möglichkeit bietet, Microservices in einer Cloud-Native-Anwendung zu verbinden, zu verwalten und abzusichern. Istio verbessert die Sichtbarkeit, Resilienz und Sicherheit durch Verkehrsmanagement, Telemetrie und Richtliniendurchsetzung.

  • Helm: Ein Paketmanager für Kubernetes, der die Installation, Bereitstellung und Verwaltung von Anwendungen auf Kubernetes-Clustern vereinfacht. Helm ermöglicht Versionierung, Abhängigkeitsverwaltung und einfaches Teilen von Anwendungsvorlagen, die als "Charts" bezeichnet werden.

  • Terraform: Ein Infrastructure-as-Code-Tool, das für die Bereitstellung und Verwaltung von Cloud-Ressourcen verwendet wird. Terraform ermöglicht eine deklarative Konfiguration und Automatisierung von Infrastruktur-Bereitstellungen über verschiedene Cloud-Anbieter hinweg.