Der Begriff Cloud-nativ beschreibt eine Design-Philosophie, die sich auf Anwendungen bezieht, die Cloud-Infrastruktur für portable, skalierbare Software nutzen. Eine Cloud-native App besteht aus lose gekoppelten Microservices und läuft auf abstrakten Software-Einheiten wie Containern.
Inhalt
Der Begriff Cloud-nativ bezieht sich auf die Entwicklung und Erstellung von Anwendungen, die in der Cloud erstellt werden und laufen. Bei Cloud-nativen Designs geht es in erster Linie um Schnelligkeit und Skalierbarkeit. Diese Systeme sind darauf ausgelegt, schnell auf Änderungen in einer Umgebung zu reagieren. Die Services werden dabei individuell so oft wie nötig skaliert.
Die Nutzung von Technologien wie Containern und Microservices bedeutet nicht automatisch, dass die Software Cloud-nativ ist. Cloud-native Anwendungen werden speziell für die Cloud konzipiert und sind somit für die Ausführung in der Cloud optimiert.
Zu den wichtigsten Designkomponenten einer Cloud-nativen Anwendung zählen Skalierbarkeit, Automatisierung und Infrastruktur. Diese Eigenschaften sorgen dafür, dass sich Cloud-native Software anpassen und skalieren lässt. Die eigentliche Infrastruktur sollte in der Lage sein, jederzeit selbstständig und ohne Kosten für das übergreifende Ökosystem zu reagieren. Wenn all diese Punkte erfüllt sind, kann eine Anwendung mit Fug und Recht als Cloud-nativ bezeichnet werden.
Diese Systeme werden mit der ausdrücklichen Absicht erstellt, dass sie sich in der Cloud befinden und dort laufen. Es gibt mehrere Cloud-Dienste, die dynamische und agile Techniken zur Anwendungsentwicklung ermöglichen. Viele davon, einschließlich Microservices und Programmierschnittstellen (APIs), helfen Fachleuten in der Entwicklung dabei, einen modularen Ansatz zu verfolgen, wenn sie Software erstellen, ausführen und verwalten. Dieses Design wurde speziell dafür konzipiert, die Cloud-Bereitstellung zu unterstützen und die skalierbare Natur der Cloud bestmöglich zu nutzen.
Microservices sind eine Sammlung lose verbundener Dienste, die sich ergeben, wenn eine verteilte Anwendung mithilfe von Containern erstellt wird. Dabei arbeitet jede Anwendung unabhängig von den anderen. Dadurch verfügen alle Dienste über hohe Skalierbarkeit und die Freiheit, Updates durchzuführen, ohne andere Services zu beeinträchtigen. Jeder Microservice dient einem spezifischen Zweck und nutzt eine klar definierte Schnittstelle, um seine Funktion aufzugliedern und mit anderen Diensten zu kommunizieren.
APIs sind wie Gateways zwischen Anwendungen, die ansonsten keine erkennbaren Gemeinsamkeiten haben. Sie erleichtern die Kommunikation zwischen Anwendungen wie Microservices, um bei der Erfassung von Daten und der Reaktion darauf zu helfen. Bei Prozessen wie dem Bestellen einer Pizza über eine Smartphone-App oder dem Buchen eines Hotelzimmers im Internet kommen APIs zum Einsatz. Sie variieren in ihrer Art und liefern unterschiedliche Arten von Informationen. Microservices und APIs arbeiten zusammen, um Informationen innerhalb von Software zu übertragen, die mit der Cloud-nativen Methodik erstellt wurde. Wenn APIs in Cloud-nativen Architekturen verwendet werden, müssen sie jedoch deklarativ sein. Anwender müssen festlegen können, was passieren soll, und nicht, wie es passieren soll.
Regionen sind von zentraler Bedeutung für das Verständnis und die Prognose des Bedarfs für Anwendungen, die unter Verwendung des Cloud-Architektur-Konzepts erstellt wurden. Damit lassen sich interne und externe Cloud-Ressourcen direkter für Kunden verfügbar machen. Die Auswahl der richtigen Verfügbarkeitszone pro Region unter Berücksichtigung der Kapazitäten Ihrer auf der Cloud-Architektur basierenden Anwendungen trägt dazu bei, Latenzen zu verringern. Sie hilft dabei, die Compliance und die Datensouveränität in Bezug auf die Branche und den Standort zu verbessern, Kosten zu senken und die Wiederherstellung im Notfall zu optimieren.
Eine weitere Schlüsselkomponente Cloud-nativer Architekturen ist die Automatisierung. Sie ist für die Gewährleistung der Konsistenz in Ihrer Cloud-Umgebung unerlässlich und ermöglicht Ausfallsicherheit, Skalierbarkeit und Nachverfolgbarkeit. Automatisierte Tools verfolgen die gerade ausgeführten Anwendungen nach. Sie erkennen Systeme, bei denen möglicherweise gerade Probleme auftreten, und vereinfachen bei Bedarf die Problembehebung und die erneute Bereitstellung.
Letztendlich ist eine Cloud-native Architektur am besten an Veränderungen anpassbar und kann dabei helfen, das Potenzial der Public Cloud optimal auszuschöpfen. Auf diese Weise lassen sich auch die Anwendungen erstellen, die für Ihr Unternehmen am wichtigsten sind, von abstrakten Softwareeinheiten wie Containern bis hin zur schnellen Bereitstellung.
Cloud-native Anwendungen sind in der Regel in Softwareeinheiten gebündelt, sogenannten Containern, die mit APIs verbunden werden können. Sie verfügen über Microservices, bei denen es sich im Wesentlichen um Module mit eigenen spezifischen Geschäftszielen handelt. Cloud-native Anwendungen kommunizieren über Anwendungs-APIs und – vielleicht das Wichtigste – wurden spezifisch zur Ausführung innerhalb der Cloud entwickelt.
Neben herkömmlichen Containern gibt es auch CaaS – Container-as-a-Service. Mit diesen können Entwickler Container über Virtualisierung hochladen, ausführen, skalieren und verwalten. CaaS sind eine Sammlung Cloud-basierter Maschinen, durch die Teams automatisierte Hosting- und Bereitstellungsfunktionen nutzen können. Wenn Entwickler „herkömmliche“ Container verwenden, liegt es in der Verantwortung der Teams, die Infrastruktur zur Unterstützung selbst bereitzustellen und zu verwalten. Beim Container-as-a-Service werden all diese Dienste vereinheitlicht.
Eine Möglichkeit, Cloud-native Anwendungen auszuführen, besteht in der Verwendung serverloser Container. Bei diesen Lösungen können Cloud-Anwender Container in Kombination mit abstrakten Verwaltungs- und Infrastrukturoptionen verwenden. In der Regel werden sie für kleinere Prozesse eingesetzt, deren Durchführung keine Unmengen an Ressourcen erfordert.
Ein „serverloses“ Bereitstellungsmodell ist technisch betrachtet zwar ebenfalls serverbasiert, aber in diesem Fall übernehmen Cloud-Anbieter die Bereitstellung und Verwaltung von Servern. Entwickler können Codes erstellen und bereitstellen, die bei Bedarf ausgelöst werden. Die Apps sind dabei einsatzbereit und werden nach Bedarf gestartet. Dabei wird eine Vielzahl von Aufgaben nicht von Entwicklern oder DevOps-Teams übernommen, sondern vom Cloud-Anbieter.
Cloudnative Entwicklung ermöglicht schnellere, iterativere Entwicklungszyklen durch die Nutzung containerisierter Umgebungen und DevOps-Praktiken. Entwickler können CI/CD-Pipelines (Continuous Integration and Delivery) implementieren, um schnelle Updates und schnellere Reaktionen auf Änderungen zu ermöglichen, ohne die Betriebszeit der Anwendung zu unterbrechen. Diese Agilität führt zu häufigeren Releases und qualitativ hochwertigeren Anwendungen.
Cloud-native Anwendungen sind so konzipiert, dass sie je nach Bedarf einfach skaliert werden können. Unabhängig davon, ob der Benutzerverkehr zunimmt oder abnimmt, können Ressourcen automatisch an den aktuellen Bedarf angepasst werden. Dies gewährleistet eine konsistente Leistung während Spitzenzeiten und minimiert den Ressourcenverbrauch während Zeiten mit geringer Nachfrage, wodurch die betriebliche Effizienz optimiert wird.
Cloud-native Anwendungen werden unter Berücksichtigung von Resilienz entwickelt und verwenden häufig Microservices-Architekturen, die jede Komponente isolieren. Wenn ein Teil der Anwendung auf ein Problem stößt, funktioniert das restliche System weiterhin reibungslos. Dieser Designansatz sorgt in Verbindung mit den Redundanz- und Failover-Funktionen von Cloud-Anbietern für hohe Verfügbarkeit und Zuverlässigkeit.
Cloud-native Anwendungen können konsistent über verschiedene Cloud-Anbieter und Umgebungen hinweg ausgeführt werden, wodurch Abhängigkeiten von bestimmter Hardware oder Betriebssystemen reduziert werden. Diese Flexibilität ermöglicht es Entwicklern, sich auf die Wertschöpfung in der Anwendung selbst zu konzentrieren, anstatt Kompatibilitätsprobleme mit der zugrunde liegenden Infrastruktur zu verwalten.
Durch die Nutzung des Pay-as-you-go-Modells von Cloud-Services ermöglicht die Cloud-native Entwicklung Unternehmen, nur für Ressourcen zu bezahlen, wie sie verwendet werden. Dieses Modell spart Kosten, indem es den Bedarf an überprovisionierten Ressourcen reduziert und eine effiziente Skalierung ermöglicht, insbesondere in Phasen mit schwankender Nachfrage.
Cloud-Anbieter bieten integrierte Sicherheits- und Compliance-Tools, die auf Cloud-native Anwendungen wie Identitätsmanagement, Verschlüsselung und Protokollierung zugeschnitten sind. Diese Tools optimieren die Einhaltung von Branchenstandards und bieten eine verbesserte Sicherheit, sodass Unternehmen mehr Vertrauen in die Sicherheit ihrer Cloud-nativen Anwendungen haben.
Diese All-in-one-Plattformen für Cloud-Sicherheit wurden entwickelt, um potenzielle Sicherheitsbedrohungen zu überwachen, zu erkennen und auf sie zu reagieren. Eine CNAPP stellt die richtigen Sicherheitsinformationen zur richtigen Zeit und am richtigen Ort bereit, sowohl für Sicherheits- als auch für Entwicklungsteams. Sie lässt sich nahtlos in Ihre Umgebung integrieren und bietet vollständige Transparenz und Schutz vor Angriffen. So können Teams geschäftskritische Anwendungen schützen.
Zusätzliche Funktionen wie XDR (Extended Detection and Response) können eine CNAPP in das umfassendere Sicherheitsprofil eines Unternehmens einbinden. Das Ergebnis ist eine einheitliche Plattform für Cybersicherheit. Eine solche Plattform liefert eine ganzheitliche Lösung für Anwendungs- und Cloudsicherheit, Überwachung, Vermeidung von Sicherheitsverstößen und Sicherheitsmanagement. Kurz zusammengefasst vereinheitlicht eine CNAPP mehrere Kategorien von Funktionen für Cloud-Sicherheit an einem zentralen Kontrollpunkt. Dazu gehören Artefakt-Scans, CSPM (Cloud Security Posture Management) und CWPP (Cloud Workload Protection Platform), Laufzeittransparenz und Cloud-Konfiguration.
Artefakt-Scans werden in der Entwicklungspipeline durchgeführt, um das Risiko zu verringern, dass eine anfällige Anwendung bereitgestellt wird. Die Cloud-Konfiguration verhindert Konfigurationsfehler und hilft dabei, Fehlkonfigurationen in Netzwerken, Anwendungen, Cloud-Speichern und anderen Cloud-Ressourcen zu identifizieren. Der Kontext aus Artefakt-Scans wird mit den in der Produktion relevanten Informationen zur Cloud-Konfiguration und zur Laufzeittransparenz kombiniert. Das dient dazu, die Beseitigung von Risiken zu priorisieren.
Wenn Sie sich allein auf die nativen Sicherheitsfunktionen eines einzelnen Cloud-Anbieters verlassen, wird es erheblich komplizierter, Multicloud-Sicherheit zu gewährleisten. Außerdem umfasst eine CNAPP im Gegensatz zu Insellösungen mehrere wichtige Funktionen innerhalb eines ganzheitlichen, rationalisierten Angebots. Diese Plattformen bieten automatische und leistungsstarke Schutzfunktionen, mit denen Unternehmen die Sicherheitskompetenzen ihrer Entwickler ergänzen können. So können sie die Lücken schließen, die durch Einzelprodukte mit isolierter Sicht auf Anwendungsrisiken entstehen. Außerdem können sie die Zuverlässigkeit ihrer IT-Abteilungen und -Mitarbeiter verbessern, ihre Ziele in Bezug auf die digitale Transformation und Cloud-native Entwicklung erreichen und gleichzeitig für Sicherheit und Einhaltung der Vorschriften sorgen.
Cloud-native Anwendungen und Infrastrukturen verschaffen Ihrem Unternehmen einen Wettbewerbsvorteil, indem sie Ihnen erlauben, Innovation zu fördern und die Markteinführung zu beschleunigen. Die Sicherheit kann jedoch häufig nicht mit dem Entwicklungstempo mithalten. Deshalb besteht ein erhöhtes Risiko, dass geschäftskritische Daten unabsichtlich offengelegt werden.
Mit Trend Vision One™ bringt Ihr Team die Anforderungen an Sicherheit und Entwicklung unter einen Hut. Schließen Sie Sicherheitslücken mit einem Tool, das zu Ihrer Umgebung passt, und schaffen Sie gleichzeitig Transparenz für das Risikomanagement und die Governance – mit CNAPP(Cloud-Native Application Protection Platform)-Funktionen.
Fernando Cardoso
Vice President of Product Management
Fernando Cardoso ist Vice President of Product Management bei Trend Micro. Er konzentriert sich auf die hoch dynamische Welt der KI und Cloud. Seine Laufbahn begann er als Network und Sales Engineer. In dieser Zeit entwickelte er seine Kompetenzen in den Bereichen Rechenzentren, Cloud, DevOps und Cybersicherheit weiter – Bereiche, denen nach wie vor seine Leidenschaft gilt.
Cloud Native beschreibt das Entwickeln skalierbarer Anwendungen mit Cloud-Technologien, Containern und Microservices für maximale Flexibilität.
Cloud bietet Dienste, während Cloud Native Anwendungen speziell für Cloud-Umgebungen mit moderner Architektur entwickelt.
Die vier Typen sind IaaS, PaaS, SaaS und FaaS – Infrastruktur, Plattform, Software und Funktionen als Service.
Beispiele sind Kubernetes, Docker, Istio und Cloud-native Datenbanken wie Amazon Aurora für verteilte Umgebungen.
Kubernetes ist Cloud Native, da es Container orchestriert und skalierbare, resiliente Anwendungen für Cloud optimiert.