Dieser Beitrag kann Cloud-Native-Missverständnissen vorbeugen.SeventyFour | shutterstock.com Cloud-Native-Applikationen entwickeln sich zunehmend zum Standard in Public- und Private-Cloud-Instanzen. In diesem Artikel lesen Sie: wie sich Cloud-Native-Anwendungen definieren, welche Tools erforderlich sind, um sie zu entwickeln, und welche Best Practices dabei dringend zu empfehlen sind. Cloud-Native-Definition Wie viele andere Technologiebegriffe wird auch Cloud Native oft missverstanden oder fehlinterpretiert. Die Cloud Native Computing Foundation (CNCF) hat eine Definition entwickelt, die regelmäßig gepflegt wird und die Sie auf GitHub einsehen können. Dort wird der Begriff auf Deutsch wie folgt definiert: „Cloud-Native-Technologien ermöglichen es Unternehmen, skalierbare Anwendungen in modernen, dynamischen Umgebungen zu implementieren und zu betreiben. Dies können öffentliche, private und Hybrid-Clouds sein. Best Practices, wie Container, Service-Meshs, Microservices, Immutable Infrastructure und deklarative APIs unterstützen diesen Ansatz.“ Cloud-Native-Anwendungen laufen nicht einfach nur in der Cloud – sie wurden speziell für Cloud-Umgebungen entwickelt und konzipiert. Eine On-Premises-Applikation im Lift-&-Shift-Verfahren in die Cloud zu verfrachten und dort auszuführen, rechtfertigt also nicht das Cloud-Native-Label. Vielmehr stellt Cloud Native eine grundlegende Veränderung der Art und Weise dar, wie Unternehmen Software entwerfen, entwickeln und bereitstellen. Der Cloud-Native-Ansatz nutzt die einzigartigen Fähigkeiten der Cloud durch architektonische Entscheidungen, die Flexibilität, Ausfallsicherheit und Skalierbarkeit in den Vordergrund stellen. Im Gegensatz zu herkömmlichen, monolithischen Anwendungen, die oft eng miteinander verwoben sind, zeichnen sich Cloud-Native-Anwendungen durch einen modularen Aufbau aus. Es handelt sich also nicht um einen Stack, sondern eine entkoppelte Applikationsarchitektur. Die atomare Ebene einer Cloud-Native-Applikation ist der Container. Das kann ein Docker-Container sein – oder jeder andere Typ, der die Spezifikationen der Open Container Initiative (OCI) unterstützt. Über die Container werden kleine, unabhängige Services bereitgestellt, die über APIs kommunizieren – sogenannte Microservices. Eine Microservices-Architektur ermöglicht es, unabhängig zu skalieren, was wiederum auf die Funktionsweise der Cloud einzahlt. Obwohl Container in jeder Art von Host-Umgebung ausgeführt werden können, werden sie (und damit auch Microservices) im Regelfall über eine Orchestrierungsplattform bereitgestellt – etwa die Open-Source-Plattform Kubernetes, die von allen großen Public-Cloud-Anbietern unterstützt wird. Die wesentlichen Merkmale von Cloud-Native-Applikationen im Überblick: Microservices-Architekturen „zerlegen“Anwendungen in kleinere, lose gekoppelte Services, die unabhängig voneinander entwickelt, bereitgestellt und skaliert werden können. Containerisierung bündelt Microservices mit Abhängigkeiten und gewährleistet so umgebungsübergreifende Konsistenz sowie eine effiziente Ressourcennutzung. Orchestrierungsplattformen dienen dazu, Container mit integrierten Scaling-, Availability-, Networking- und Management-Funktionen bereitzustellen. Continuous Integration/Continous Deployment automatisiert Pipelines für schnellere Code-Integration sowie optimierte Testing- und Deployment-Prozesse. DevOps-Kulturansätze fördern die Zusammenarbeit zwischen Entwicklungs- und Betriebsteams sorgt für gemeinsame Verantwortung, schnellere Development-Zyklen und zuverlässige Releases. Skalierbarkeit und Ausfallsicherheit wird durch eine dynamische Skalierung der Ressourcen je nach Bedarf und eine reibungslose Fehlerbehandlung sichergestellt. Verteiltes Systemdesign ermöglicht Services, die über mehrere Server hinweg ausgeführt werden, sowie eine komponentenspezifische Skalierung, Fehlertoleranz und optimierte Ressourcennutzung. Cloud-Native-Werkzeugkasten Cloud-Native-Anwendungen zu entwickeln, erfordert folglich sich mit einer Vielzahl unterschiedlicher Technologien auseinanderzusetzen. Nachfolgend haben wir die gängigsten (respektive populärsten) Cloud-Native-Werkzeuge für Sie zusammengefasst. Cloud-Native-Programmiersprachen Go wurde von Google entwickelt und wird für seine Leistung und Effizienz geschätzt – insbesondere, wenn es um Cloud Services geht. Java ist eine vielseitige Sprache mit umfangreichem Ökosystem, die häufig für Enterprise-Anwendungen eingesetzt wird. JavaScript kommt nicht nur zu Scripting-Zwecken zum Einsatz, sondern auch, um Applikationen und Echtzeit-Services zu entwickeln. Python ist (unter anderem) simpel und einfach lesbar, wodurch es sich für diverse Anwendungen eignet, etwa für Web Services oder um Daten zu verarbeiten. Cloud-Native-Frameworks Um umfassendere Enterprise-Anwendungen zu entwickeln, reichen Programmiersprachen allein allerdings oft nicht aus. Dann kommen Application Development Frameworks ins Spiel. Zu den beliebtesten Cloud-Native-Frameworks zählen: Django ist ein populäres Web-Framework für Python, das in den letzten Jahren zunehmend dafür genutzt wird, Cloud-Native-Anwendungen zu entwickeln. Micronaut ist ein Full-Stack-Framework, um Cloud-Native-Apps mit Java zu erstellen. Quarkus wurde speziell für Java-Entwickler konzipiert, um Cloud-Native-Applikationen zu programmieren. .NET Aspire ist das Open-Source-Framework von Microsoft, um Cloud-Native-Anwendungen mit .NET zu erstellen. Next.js ist ein React-JavaScript-Framework, das sich besonders gut dazu eignet, Cloud-native Webanwendungen zu entwickeln. Node.js ist eine schlanke und performante JavaScript-Laufzeitumgebung, die ein ereignisgesteuertes E/A-Modell enthält. Container- & -Orchestrierungs-Tools Wie bereits erwähnt, werden Cloud-Native-Apps über Container-, beziehungsweise Orchestrierungs-Plattformen bereitgestellt. Zu den wichtigsten Technologien in diesem Bereich zählen: Docker hat Anwendungscontainer in den (IT-)Mainstream getragen dient häufig als Standard-Container-Technologie bei Cloud-Native-Deployments. Podman ist ein von Red Hat entwickelter Container-Ansatz, der weitgehend mit Docker kompatibel ist. Kubernetes ist der De-Facto-Standard, um Container in Cloud-Native-Umgebungen zu orchestrieren. Kubernetes Services sind auf allen wichtigen Cloud-Plattformen verfügbar. CI/CD-Tools Continuous Integration und Continuous Development (CI/CD) sind wesentliche Komponenten, um Cloud-Native-Apps zu entwickeln. CI/CD-Pipelines ermöglichen es, Anwendungen automatisiert zu erstellen, zu testen und bereitzustellen. Moderne CI/CD-Tools sind dabei eng mit Container-Technologien und Cloud-Plattformen integriert und bieten eine durchgängige Automatisierung über den gesamten Anwendungslebenszyklus hinweg. Zu den am häufigsten verwendeten Tools gehören: Argo CD, AWS CodePipeline, Azure DevOps, GitHub Actions, GitLab, und Jenkins. Observability- & Monitoring-Tools Observability-Technologie hilft, Einblicke in das Verhalten der verteilten Systeme zu gewinnen, auf denen Cloud-Native-Applikationen laufen. Zu diesem Zweck können verschiedene Funktionen zum Einsatz kommen. Das Rückgrat für Cloud-Native-Observability bilden dabei alle Tools, die den OpenTelemetry-Standard unterstützen. Darüber hinaus sind an dieser Stelle auch Plattformen zu nennen wie: Prometheus (Metriken) und Jaeger (Tracing). Best Practices, um Cloud-Native-Apps zu entwickeln Die Hyperscaler haben im Lauf der letzten Jahre jeweils eigene Best Practices entwickelt, wenn es darum geht Cloud-Native-Anwendungen zu entwickeln. Diese werden unter der Bezeichnung „Well-Architected Framework“ zusammengefasst: AWS Well-Architected Framework Google Cloud Well-Architected Framework Microsoft Azure Well-Architected Framework Die grundlegenden Prinzipien des „Well-Architected Framework“ sollen dabei dazu beitragen, dass Cloud-Native-Applikationen besonders sicher, zuverlässig und effizient sind. Zu diesen Kernprinzipien zählen: Operative Exzellenz: Systeme überwachen und Prozesse optimieren. Sicherheit: Robustes Identity & Access Management, Datenschutz- und Incident-Response-Maßnahmen implementieren. Zuverlässigkeit: Systeme entwerfen, die sich von Ausfällen erholen und die Nachfrage befriedigen können. Leistungseffizienz: Rechenressourcen effizient nutzen. Kostenoptimierung: Kosten managen, um den erzielten Wert zu maximieren. Indem sie Cloud-Native-Prinzipien verinnerlichen und umsetzen, können Unternehmen das volle Potenzial der Cloud ausschöpfen, statt sie nur als Hosting-Modell zu nutzen. (fm) Sie wollen weitere interessante Beiträge zu diversen Themen aus der IT-Welt lesen? Unsere kostenlosen Newsletter liefern Ihnen alles, was IT-Profis wissen sollten – direkt in Ihre Inbox!
Cloud Native erklärt
Dieser Beitrag kann Cloud-Native-Missverständnissen vorbeugen.SeventyFour | shutterstock.com Cloud-Native-Applikationen entwickeln sich zunehmend zum Standard in Public- und Private-Cloud-Instanzen. In diesem Artikel lesen Sie: wie sich Cloud-Native-Anwendungen definieren, welche Tools erforderlich sind, um sie zu entwickeln, und welche Best Practices dabei dringend zu empfehlen sind. Cloud-Native-Definition Wie viele andere Technologiebegriffe wird auch Cloud Native oft missverstanden oder fehlinterpretiert. Die Cloud Native Computing Foundation (CNCF) hat eine Definition entwickelt, die regelmäßig gepflegt wird und die Sie auf GitHub einsehen können. Dort wird der Begriff auf Deutsch wie folgt definiert: „Cloud-Native-Technologien ermöglichen es Unternehmen, skalierbare Anwendungen in modernen, dynamischen Umgebungen zu implementieren und zu betreiben. Dies können öffentliche, private und Hybrid-Clouds sein. Best Practices, wie Container, Service-Meshs, Microservices, Immutable Infrastructure und deklarative APIs unterstützen diesen Ansatz.“ Cloud-Native-Anwendungen laufen nicht einfach nur in der Cloud – sie wurden speziell für Cloud-Umgebungen entwickelt und konzipiert. Eine On-Premises-Applikation im Lift-&-Shift-Verfahren in die Cloud zu verfrachten und dort auszuführen, rechtfertigt also nicht das Cloud-Native-Label. Vielmehr stellt Cloud Native eine grundlegende Veränderung der Art und Weise dar, wie Unternehmen Software entwerfen, entwickeln und bereitstellen. Der Cloud-Native-Ansatz nutzt die einzigartigen Fähigkeiten der Cloud durch architektonische Entscheidungen, die Flexibilität, Ausfallsicherheit und Skalierbarkeit in den Vordergrund stellen. Im Gegensatz zu herkömmlichen, monolithischen Anwendungen, die oft eng miteinander verwoben sind, zeichnen sich Cloud-Native-Anwendungen durch einen modularen Aufbau aus. Es handelt sich also nicht um einen Stack, sondern eine entkoppelte Applikationsarchitektur. Die atomare Ebene einer Cloud-Native-Applikation ist der Container. Das kann ein Docker-Container sein – oder jeder andere Typ, der die Spezifikationen der Open Container Initiative (OCI) unterstützt. Über die Container werden kleine, unabhängige Services bereitgestellt, die über APIs kommunizieren – sogenannte Microservices. Eine Microservices-Architektur ermöglicht es, unabhängig zu skalieren, was wiederum auf die Funktionsweise der Cloud einzahlt. Obwohl Container in jeder Art von Host-Umgebung ausgeführt werden können, werden sie (und damit auch Microservices) im Regelfall über eine Orchestrierungsplattform bereitgestellt – etwa die Open-Source-Plattform Kubernetes, die von allen großen Public-Cloud-Anbietern unterstützt wird. Die wesentlichen Merkmale von Cloud-Native-Applikationen im Überblick: Microservices-Architekturen „zerlegen“Anwendungen in kleinere, lose gekoppelte Services, die unabhängig voneinander entwickelt, bereitgestellt und skaliert werden können. Containerisierung bündelt Microservices mit Abhängigkeiten und gewährleistet so umgebungsübergreifende Konsistenz sowie eine effiziente Ressourcennutzung. Orchestrierungsplattformen dienen dazu, Container mit integrierten Scaling-, Availability-, Networking- und Management-Funktionen bereitzustellen. Continuous Integration/Continous Deployment automatisiert Pipelines für schnellere Code-Integration sowie optimierte Testing- und Deployment-Prozesse. DevOps-Kulturansätze fördern die Zusammenarbeit zwischen Entwicklungs- und Betriebsteams sorgt für gemeinsame Verantwortung, schnellere Development-Zyklen und zuverlässige Releases. Skalierbarkeit und Ausfallsicherheit wird durch eine dynamische Skalierung der Ressourcen je nach Bedarf und eine reibungslose Fehlerbehandlung sichergestellt. Verteiltes Systemdesign ermöglicht Services, die über mehrere Server hinweg ausgeführt werden, sowie eine komponentenspezifische Skalierung, Fehlertoleranz und optimierte Ressourcennutzung. Cloud-Native-Werkzeugkasten Cloud-Native-Anwendungen zu entwickeln, erfordert folglich sich mit einer Vielzahl unterschiedlicher Technologien auseinanderzusetzen. Nachfolgend haben wir die gängigsten (respektive populärsten) Cloud-Native-Werkzeuge für Sie zusammengefasst. Cloud-Native-Programmiersprachen Go wurde von Google entwickelt und wird für seine Leistung und Effizienz geschätzt – insbesondere, wenn es um Cloud Services geht. Java ist eine vielseitige Sprache mit umfangreichem Ökosystem, die häufig für Enterprise-Anwendungen eingesetzt wird. JavaScript kommt nicht nur zu Scripting-Zwecken zum Einsatz, sondern auch, um Applikationen und Echtzeit-Services zu entwickeln. Python ist (unter anderem) simpel und einfach lesbar, wodurch es sich für diverse Anwendungen eignet, etwa für Web Services oder um Daten zu verarbeiten. Cloud-Native-Frameworks Um umfassendere Enterprise-Anwendungen zu entwickeln, reichen Programmiersprachen allein allerdings oft nicht aus. Dann kommen Application Development Frameworks ins Spiel. Zu den beliebtesten Cloud-Native-Frameworks zählen: Django ist ein populäres Web-Framework für Python, das in den letzten Jahren zunehmend dafür genutzt wird, Cloud-Native-Anwendungen zu entwickeln. Micronaut ist ein Full-Stack-Framework, um Cloud-Native-Apps mit Java zu erstellen. Quarkus wurde speziell für Java-Entwickler konzipiert, um Cloud-Native-Applikationen zu programmieren. .NET Aspire ist das Open-Source-Framework von Microsoft, um Cloud-Native-Anwendungen mit .NET zu erstellen. Next.js ist ein React-JavaScript-Framework, das sich besonders gut dazu eignet, Cloud-native Webanwendungen zu entwickeln. Node.js ist eine schlanke und performante JavaScript-Laufzeitumgebung, die ein ereignisgesteuertes E/A-Modell enthält. Container- & -Orchestrierungs-Tools Wie bereits erwähnt, werden Cloud-Native-Apps über Container-, beziehungsweise Orchestrierungs-Plattformen bereitgestellt. Zu den wichtigsten Technologien in diesem Bereich zählen: Docker hat Anwendungscontainer in den (IT-)Mainstream getragen dient häufig als Standard-Container-Technologie bei Cloud-Native-Deployments. Podman ist ein von Red Hat entwickelter Container-Ansatz, der weitgehend mit Docker kompatibel ist. Kubernetes ist der De-Facto-Standard, um Container in Cloud-Native-Umgebungen zu orchestrieren. Kubernetes Services sind auf allen wichtigen Cloud-Plattformen verfügbar. CI/CD-Tools Continuous Integration und Continuous Development (CI/CD) sind wesentliche Komponenten, um Cloud-Native-Apps zu entwickeln. CI/CD-Pipelines ermöglichen es, Anwendungen automatisiert zu erstellen, zu testen und bereitzustellen. Moderne CI/CD-Tools sind dabei eng mit Container-Technologien und Cloud-Plattformen integriert und bieten eine durchgängige Automatisierung über den gesamten Anwendungslebenszyklus hinweg. Zu den am häufigsten verwendeten Tools gehören: Argo CD, AWS CodePipeline, Azure DevOps, GitHub Actions, GitLab, und Jenkins. Observability- & Monitoring-Tools Observability-Technologie hilft, Einblicke in das Verhalten der verteilten Systeme zu gewinnen, auf denen Cloud-Native-Applikationen laufen. Zu diesem Zweck können verschiedene Funktionen zum Einsatz kommen. Das Rückgrat für Cloud-Native-Observability bilden dabei alle Tools, die den OpenTelemetry-Standard unterstützen. Darüber hinaus sind an dieser Stelle auch Plattformen zu nennen wie: Prometheus (Metriken) und Jaeger (Tracing). Best Practices, um Cloud-Native-Apps zu entwickeln Die Hyperscaler haben im Lauf der letzten Jahre jeweils eigene Best Practices entwickelt, wenn es darum geht Cloud-Native-Anwendungen zu entwickeln. Diese werden unter der Bezeichnung „Well-Architected Framework“ zusammengefasst: AWS Well-Architected Framework Google Cloud Well-Architected Framework Microsoft Azure Well-Architected Framework Die grundlegenden Prinzipien des „Well-Architected Framework“ sollen dabei dazu beitragen, dass Cloud-Native-Applikationen besonders sicher, zuverlässig und effizient sind. Zu diesen Kernprinzipien zählen: Operative Exzellenz: Systeme überwachen und Prozesse optimieren. Sicherheit: Robustes Identity & Access Management, Datenschutz- und Incident-Response-Maßnahmen implementieren. Zuverlässigkeit: Systeme entwerfen, die sich von Ausfällen erholen und die Nachfrage befriedigen können. Leistungseffizienz: Rechenressourcen effizient nutzen. Kostenoptimierung: Kosten managen, um den erzielten Wert zu maximieren. Indem sie Cloud-Native-Prinzipien verinnerlichen und umsetzen, können Unternehmen das volle Potenzial der Cloud ausschöpfen, statt sie nur als Hosting-Modell zu nutzen. (fm) Sie wollen weitere interessante Beiträge zu diversen Themen aus der IT-Welt lesen? Unsere kostenlosen Newsletter liefern Ihnen alles, was IT-Profis wissen sollten – direkt in Ihre Inbox!
Cloud Native erklärt Dieser Beitrag kann Cloud-Native-Missverständnissen vorbeugen.SeventyFour | shutterstock.com Cloud-Native-Applikationen entwickeln sich zunehmend zum Standard in Public- und Private-Cloud-Instanzen. In diesem Artikel lesen Sie: wie sich Cloud-Native-Anwendungen definieren, welche Tools erforderlich sind, um sie zu entwickeln, und welche Best Practices dabei dringend zu empfehlen sind. Cloud-Native-Definition Wie viele andere Technologiebegriffe wird auch Cloud Native oft missverstanden oder fehlinterpretiert. Die Cloud Native Computing Foundation (CNCF) hat eine Definition entwickelt, die regelmäßig gepflegt wird und die Sie auf GitHub einsehen können. Dort wird der Begriff auf Deutsch wie folgt definiert: „Cloud-Native-Technologien ermöglichen es Unternehmen, skalierbare Anwendungen in modernen, dynamischen Umgebungen zu implementieren und zu betreiben. Dies können öffentliche, private und Hybrid-Clouds sein. Best Practices, wie Container, Service-Meshs, Microservices, Immutable Infrastructure und deklarative APIs unterstützen diesen Ansatz.“ Cloud-Native-Anwendungen laufen nicht einfach nur in der Cloud – sie wurden speziell für Cloud-Umgebungen entwickelt und konzipiert. Eine On-Premises-Applikation im Lift-&-Shift-Verfahren in die Cloud zu verfrachten und dort auszuführen, rechtfertigt also nicht das Cloud-Native-Label. Vielmehr stellt Cloud Native eine grundlegende Veränderung der Art und Weise dar, wie Unternehmen Software entwerfen, entwickeln und bereitstellen. Der Cloud-Native-Ansatz nutzt die einzigartigen Fähigkeiten der Cloud durch architektonische Entscheidungen, die Flexibilität, Ausfallsicherheit und Skalierbarkeit in den Vordergrund stellen. Im Gegensatz zu herkömmlichen, monolithischen Anwendungen, die oft eng miteinander verwoben sind, zeichnen sich Cloud-Native-Anwendungen durch einen modularen Aufbau aus. Es handelt sich also nicht um einen Stack, sondern eine entkoppelte Applikationsarchitektur. Die atomare Ebene einer Cloud-Native-Applikation ist der Container. Das kann ein Docker-Container sein – oder jeder andere Typ, der die Spezifikationen der Open Container Initiative (OCI) unterstützt. Über die Container werden kleine, unabhängige Services bereitgestellt, die über APIs kommunizieren – sogenannte Microservices. Eine Microservices-Architektur ermöglicht es, unabhängig zu skalieren, was wiederum auf die Funktionsweise der Cloud einzahlt. Obwohl Container in jeder Art von Host-Umgebung ausgeführt werden können, werden sie (und damit auch Microservices) im Regelfall über eine Orchestrierungsplattform bereitgestellt – etwa die Open-Source-Plattform Kubernetes, die von allen großen Public-Cloud-Anbietern unterstützt wird. Die wesentlichen Merkmale von Cloud-Native-Applikationen im Überblick: Microservices-Architekturen „zerlegen“Anwendungen in kleinere, lose gekoppelte Services, die unabhängig voneinander entwickelt, bereitgestellt und skaliert werden können. Containerisierung bündelt Microservices mit Abhängigkeiten und gewährleistet so umgebungsübergreifende Konsistenz sowie eine effiziente Ressourcennutzung. Orchestrierungsplattformen dienen dazu, Container mit integrierten Scaling-, Availability-, Networking- und Management-Funktionen bereitzustellen. Continuous Integration/Continous Deployment automatisiert Pipelines für schnellere Code-Integration sowie optimierte Testing- und Deployment-Prozesse. DevOps-Kulturansätze fördern die Zusammenarbeit zwischen Entwicklungs- und Betriebsteams sorgt für gemeinsame Verantwortung, schnellere Development-Zyklen und zuverlässige Releases. Skalierbarkeit und Ausfallsicherheit wird durch eine dynamische Skalierung der Ressourcen je nach Bedarf und eine reibungslose Fehlerbehandlung sichergestellt. Verteiltes Systemdesign ermöglicht Services, die über mehrere Server hinweg ausgeführt werden, sowie eine komponentenspezifische Skalierung, Fehlertoleranz und optimierte Ressourcennutzung. Cloud-Native-Werkzeugkasten Cloud-Native-Anwendungen zu entwickeln, erfordert folglich sich mit einer Vielzahl unterschiedlicher Technologien auseinanderzusetzen. Nachfolgend haben wir die gängigsten (respektive populärsten) Cloud-Native-Werkzeuge für Sie zusammengefasst. Cloud-Native-Programmiersprachen Go wurde von Google entwickelt und wird für seine Leistung und Effizienz geschätzt – insbesondere, wenn es um Cloud Services geht. Java ist eine vielseitige Sprache mit umfangreichem Ökosystem, die häufig für Enterprise-Anwendungen eingesetzt wird. JavaScript kommt nicht nur zu Scripting-Zwecken zum Einsatz, sondern auch, um Applikationen und Echtzeit-Services zu entwickeln. Python ist (unter anderem) simpel und einfach lesbar, wodurch es sich für diverse Anwendungen eignet, etwa für Web Services oder um Daten zu verarbeiten. Cloud-Native-Frameworks Um umfassendere Enterprise-Anwendungen zu entwickeln, reichen Programmiersprachen allein allerdings oft nicht aus. Dann kommen Application Development Frameworks ins Spiel. Zu den beliebtesten Cloud-Native-Frameworks zählen: Django ist ein populäres Web-Framework für Python, das in den letzten Jahren zunehmend dafür genutzt wird, Cloud-Native-Anwendungen zu entwickeln. Micronaut ist ein Full-Stack-Framework, um Cloud-Native-Apps mit Java zu erstellen. Quarkus wurde speziell für Java-Entwickler konzipiert, um Cloud-Native-Applikationen zu programmieren. .NET Aspire ist das Open-Source-Framework von Microsoft, um Cloud-Native-Anwendungen mit .NET zu erstellen. Next.js ist ein React-JavaScript-Framework, das sich besonders gut dazu eignet, Cloud-native Webanwendungen zu entwickeln. Node.js ist eine schlanke und performante JavaScript-Laufzeitumgebung, die ein ereignisgesteuertes E/A-Modell enthält. Container- & -Orchestrierungs-Tools Wie bereits erwähnt, werden Cloud-Native-Apps über Container-, beziehungsweise Orchestrierungs-Plattformen bereitgestellt. Zu den wichtigsten Technologien in diesem Bereich zählen: Docker hat Anwendungscontainer in den (IT-)Mainstream getragen dient häufig als Standard-Container-Technologie bei Cloud-Native-Deployments. Podman ist ein von Red Hat entwickelter Container-Ansatz, der weitgehend mit Docker kompatibel ist. Kubernetes ist der De-Facto-Standard, um Container in Cloud-Native-Umgebungen zu orchestrieren. Kubernetes Services sind auf allen wichtigen Cloud-Plattformen verfügbar. CI/CD-Tools Continuous Integration und Continuous Development (CI/CD) sind wesentliche Komponenten, um Cloud-Native-Apps zu entwickeln. CI/CD-Pipelines ermöglichen es, Anwendungen automatisiert zu erstellen, zu testen und bereitzustellen. Moderne CI/CD-Tools sind dabei eng mit Container-Technologien und Cloud-Plattformen integriert und bieten eine durchgängige Automatisierung über den gesamten Anwendungslebenszyklus hinweg. Zu den am häufigsten verwendeten Tools gehören: Argo CD, AWS CodePipeline, Azure DevOps, GitHub Actions, GitLab, und Jenkins. Observability- & Monitoring-Tools Observability-Technologie hilft, Einblicke in das Verhalten der verteilten Systeme zu gewinnen, auf denen Cloud-Native-Applikationen laufen. Zu diesem Zweck können verschiedene Funktionen zum Einsatz kommen. Das Rückgrat für Cloud-Native-Observability bilden dabei alle Tools, die den OpenTelemetry-Standard unterstützen. Darüber hinaus sind an dieser Stelle auch Plattformen zu nennen wie: Prometheus (Metriken) und Jaeger (Tracing). Best Practices, um Cloud-Native-Apps zu entwickeln Die Hyperscaler haben im Lauf der letzten Jahre jeweils eigene Best Practices entwickelt, wenn es darum geht Cloud-Native-Anwendungen zu entwickeln. Diese werden unter der Bezeichnung „Well-Architected Framework“ zusammengefasst: AWS Well-Architected Framework Google Cloud Well-Architected Framework Microsoft Azure Well-Architected Framework Die grundlegenden Prinzipien des „Well-Architected Framework“ sollen dabei dazu beitragen, dass Cloud-Native-Applikationen besonders sicher, zuverlässig und effizient sind. Zu diesen Kernprinzipien zählen: Operative Exzellenz: Systeme überwachen und Prozesse optimieren. Sicherheit: Robustes Identity & Access Management, Datenschutz- und Incident-Response-Maßnahmen implementieren. Zuverlässigkeit: Systeme entwerfen, die sich von Ausfällen erholen und die Nachfrage befriedigen können. Leistungseffizienz: Rechenressourcen effizient nutzen. Kostenoptimierung: Kosten managen, um den erzielten Wert zu maximieren. Indem sie Cloud-Native-Prinzipien verinnerlichen und umsetzen, können Unternehmen das volle Potenzial der Cloud ausschöpfen, statt sie nur als Hosting-Modell zu nutzen. (fm) Sie wollen weitere interessante Beiträge zu diversen Themen aus der IT-Welt lesen? Unsere kostenlosen Newsletter liefern Ihnen alles, was IT-Profis wissen sollten – direkt in Ihre Inbox!