Eine Cloud-native Architektur bauen: So fangen Sie an.

Profilfoto Manuel Reinfurt
Chief Technical Officer

11.06.2021
img

Einmal Cloud mit allem bitte! Um Cloud-Services für ihre Anwendung nutzen zu können, setzen Anbieter:innen zunehmend auf Cloud-native Architekturen. Aber wie sehen die aus? Wie fangen Sie überhaupt mit der Cloud an? Am besten mit einem Überblick:

Streaming-Dienste, das Internet der Dinge, Apps und Soziale Netzwerke: Sie alle nutzen die Cloud, um hohe Datenmengen verarbeiten und viele Nutzer mit Inhalten versorgen zu können. Auch Sie stoßen bei der Konzeption Ihrer neuen Anwendung irgendwann auf die Frage: Welche Technologien sind für mein Projekt relevant? Und vielleicht ist die Cloud auch für Ihre Anwendung ein wichtiger Treiber. Doch allein mit dem Mieten einiger Cloud-Server ist es nicht getan. Um die Vorteile einer Cloud wirklich auszuschöpfen, ist eine Cloud-native Architektur gefragt – also eine Architektur, welche explizit für den Einsatz in der Cloud konzipiert ist. Wie setzt sich eine solche Cloud-Architektur zusammen? Welche Services laufen im Hintergrund, damit Ihre Anwendung vorne für Nutzer:innen funktioniert?

Welche Vorteile bringt Ihnen eine cloud-native Architektur?

Die Cloud bietet schier endlose Ressourcen auf unterschiedlichen Ebenen. Basierend auf der Auslastung Ihrer Anwendung und der Konfiguration entscheidet sie, wie und wann diese Ressourcen genutzt werden. Dabei ist wichtig, dass Ihre Anwendung so gestaltet wurde, dass sie die Ressourcen optimal nutzen kann. Stellen Sie sich ein Fabrik vor, in der Kugelschreiber produziert werden – diese durchlaufen mehrere Prozesse. In jedem Prozess sind bestimmte Komponenten gefragt, ohne die nicht weitergearbeitet werden kann. Für den ersten Prozess wird Eisen benötigt, welches aus einer Lagerhalle transportiert wird. Dazu fährt der:die Lieferant:in zwischen Lagerhalle und Produktion hin- und her und liefert 20 Tonnen Eisen alle 30 Minuten. Der erste Prozess verarbeitet eben so 20 Tonnen Eisen alle 30 Minuten und liefert damit 10.000 Kugelschreiber pro Minute – ein perfect Match. Der zweite Prozess verpackt die Kugelschreiber, ebenso 10.000 Kugelschreiber pro Minute, und präsentiert diese im Vorhaus der Fabrik. Kund:innen können vorbei schauen und sich einen Kugelschreiber schnappen. Das System ist vollständig ausgelastet und arbeitet hocheffizient.

Dies ist vergleichbar mit einer Anwendung, welche Informationen aus einer Datenbank liest (Lieferant:in), diese Informationen analysiert und in Reports umwandelt (die Kugelschreiber herstellt), einer mobilen App (Kugelschreiber verpacken und präsentieren) und den App-Nutzer:innen (Kund:innen).

Beispiel: Skalierbarkeit als Vorteil der Cloud

Steigt nun das Kund:innenenaufkommen, so müssen die Reports schneller generiert werden. Das funktioniert natürlich nur, wenn die Informationen auch schneller aus der Datenbank gelesen werden. Hier können schnell die Probleme von klassischen Systemen auftreten. Sie müssen dann nämlich beauftragen, dass Ihre Kapazitäten erhöht werden und die Datenbank beispielsweise auf einen schnelleren Server migriert werden. Das dauert eine Weile. Danach können Sie auch mehr Kund:innen betreuen. Doch was, wenn das Kund:innenaufkommen danach wieder absinkt? Sie zahlen den schnelleren Server, ohne ihn wirklich zu nutzen. Ein Downgrade lohnt sich möglicherweise nicht, da hierdurch zunächst Kosten entstehen.

Mit einer cloud-native Architektur können alle Komponenten Ihrer Anwendung dynamisch skaliert und an Ihre Anforderungen angepasst werden. Ihre Anwendung hat täglich um 12:00 Uhr eine Lastspitze, weil es sich um eine Mensa-App handelt? Kein Problem: Zu diesem Zeitpunkt werden die genutzten Ressourcen automatisch hochskaliert. Im Anschluss – und gerade nachts – kommt Ihre Anwendung mit wenig Ressourcen zurecht und läuft im kostensparenden Modus. Ausfälle von Servern werden auf dem gleichen Weg kaschiert und so minimiert. Dabei kann Ihre Infrastruktur vollständig automatisiert zur Verfügung gestellt werden.

Weitere Vorteile Cloud-nativer Architekturen finden Sie hier!

Der erste Schritt zur Cloud-nativen Architektur sind klare Anforderungen:

Planen Sie jetzt Ihr Cloud-Projekt! Von Budget bis Hyperscaler, in nur 24 Schritten.

Jetzt kostenlos downloaden

So starten Sie mit Ihrer cloud-nativen Architektur

Doch was benötigen Sie nun für eine cloud-native Architektur? Wie schaffen Sie es, eine Cloud-Anwendung zu konzipieren, umzusetzen und schlussendlich zu nutzen? Verschiedene Bestandteile müssen bedacht und eingeplant werden. Wir empfehlen die folgenden beiden Schritte:

1. Konzeption der Gesamtarchitektur

Um einen klaren Blick auf Ihre Anwendung zu haben, sollten Sie zunächst eine Gesamtarchitektur konzipieren. Diese enthält alle verwendeten Drittsysteme, alle Komponenten Ihrer Anwendung, alle Datenbanken und auch alle verwendeten Cloud-Services. Danach wird analysiert, ob diese Gesamtarchitektur den gängigen Prinzipien einer cloud-nativen Architektur standhält.

Folgende Bestandteile sollten enthalten sein:

  1. Kommunikation & Schnittstellen: Jede Anwendung benötigt andere Systeme, um Ihren Job zu erfüllen. Mit der richtigen Kommunikation und den richtigen Schnittstellen stellen Sie sicher, dass sich Ausfälle nicht gegenseitig bedingen und Ihre gesamte Anwendung lahmlegen.
  2. Containerisation & Orchestration: Mit Containern trennen Sie die Anwendung von der Infrastruktur wie beispielsweise Betriebssysteme oder Abhängigkeiten. Das ermöglicht, dass Ihre Anwendung in jeder Cloud funktioniert. Mehr erfahren Sie in unserem Beitrag zu Kubernetes. Eine Alternative hierzu wären Serverless-Dienste.
  3. Datenbanken: Der Kern Ihrer Anwendung liegt oft in den Daten. Mit den richtigen verteilten Datenbanken (beispielsweise Azure SQL Database) sichern Sie Ihre Daten vor Ausfallen, erhöhen die Erreichbarkeit und skalieren.
  4. Infrastructure as Code: Mit IaS definieren Sie Ihre Infrastruktur als Code. Sie können Ihre Infrastruktur mit einem Klick erstellen, eine zweite Testing-Umgebung bereitstellen und auch alle Änderungen nachvollziehen. Dies kann mit Terraform umgesetzt werden.
  5. Continuous Integration & Deployment: Mit CI/CD kontrollieren Sie die Änderungen an Ihrer Anwendung und stellen sicher, dass diese professionell gebaut und getestet wurde und in Ihrer Produktivumgebung funktioniert. GitLab CI oder Azure DevOps eignen sich hierfür hervorragend.
  6. Monitoring & Reporting: Damit stellen Sie sicher, dass Ihre Anwendung optimal läuft. Sie kennen jederzeit den aktuellsten Status und werden über Probleme informiert, um schnell reagieren zu können. Cloud-Services wie Azure Monitor, der Elastic Stack oder beispielsweise Prometheus und Grafana eignen sich hier.
  7. Networking & Policies: Durch Networking & Policies schützen Sie Ihre Anwendungen vor Angriffen. Die Kommunikation untereinander wird abgestimmt, so dass nur berechtigte Systeme zugreifen können. Diese Bestandteile ermöglichen Ihrer Anwendung, wirklich cloud-native zu sein und von den Vorteilen der Cloud maximal zu profitieren. Hier finden Sie weiteres zur Datensicherheit in der Cloud.
Cloud-Architektur
Beispiel für die Architektur einer Anwendung im Azure-Umfeld.


Weiterhin bieten die Hyperscaler eigene Programme und Richtlinien an, um eine cloud-native Architektur im jeweiligen Hyperscaler zu gewährleisten. Sollten Sie auf AWS setzen, so eignet sich das AWS Well-Architected Programm. In diesem werden 5 Säulen geprüft:

  • Operational Excellence: Ausführung & Überwachung der Systeme
  • Sicherheit: Schutz von Informationen und Systemen
  • Zuverlässigkeit: Ausfallsichere Systeme, welche sich auch nach Fehlern wieder erholen
  • Leistung und Effizienz: Effiziente Nutzung der Ressourcen - auch bei variabler Last
  • Kostenoptimierung: Reduktion und Vermeidung unnötiger Kosten

Ein sehr ähnliches Programm stellt Microsoft mit dem Azure Well-Architected Framework zur Verfügung. Die Prüfung dieser Faktoren stellt sicher, dass Ihre Anwendung optimal für die Cloud gestaltet wird.


Update gefällig?

Mit dem INCLOUD Ping erhalten Sie kleine Aha-Momente rund um digitale Themen.



2. Konzeption der einzelnen Cloud-Komponenten

Ist Ihre Gesamtarchitektur cloud-native, so sollten Sie auf die jeweiligen Services – die Bausteine Ihrer Architektur – eingehen. Durch die Verwendung verschiedener Cloud Services wird bereits sicher gestellt, dass diese den Anforderungen genügen. Dabei werden Cloud Services – wie Azure Kubernetes Service – benutzt, um die individuell entwickelte Anwendung zu betreiben. Damit diese Services ihre volle Leistung erbringen können, muss der Code dieser individuellen Anwendung gewisse Anforderungen erfüllen.

Ein Beispiel ist die Container-Orchestration mittels Kubernetes. Damit ist es möglich, dass die gleiche Anwendung, der gleiche Service, parallel und mehrfach nebeneinander laufen. Durch die mehrfache Ausführung des gleichen Services kann die Last aufgeteilt werden und das System so weiter skalieren. Das funktioniert jedoch nur, wenn diese Services auch nach den richtigen Prinzipien gebaut werden. Speichert ein Service beispielsweise den aktuellen Status in seinem eigenen Container, so können weitere Container nicht darauf zugreifen und keine Arbeit abnehmen. Wird dieser Status aber vom Container entkoppelt, können weitere Container dazugeschaltet werden.

Durch die Konzeption der Gesamtarchitektur und der einzelnen Komponenten stellen Sie sicher, dass Ihre Anwendung im Großen und im Kleinen cloud-native und somit skalierbar und ausfallsicher ist.

Cloud-native Architekturen für vorhandene Anwendungen

Kann ich meine bestehende Anwendung einfach in die Cloud überspielen? Ja, auch die Modernisierung alter Anwendungen mit der Cloud ist möglich! Schließlich haben Sie nicht immer das Glück, Anwendung und Backend von Null aufzubauen. Dank Application Transformation kann eine bestehende Anwendung so transformiert werden, dass sie moderne Infrastruktur, Services und Prozesse verwendet und somit die Vorteile der Cloud nutzen kann. Die Transformation an sich unterscheidet sich je nach Anwendung: In welchem Zustand ist die Anwendung? Wie aufwändig ist eine Migration in die Cloud? Was muss um- oder neu gebaut werden, damit Ihre Anwendung optimal in der Cloud funktioniert? Je nach Anwendungsfall haben Sie dann verschiedene Möglichkeiten.

Der erste Schritt zur Cloud-nativen Architektur sind klare Anforderungen:

Planen Sie jetzt Ihr Cloud-Projekt! Von Budget bis Hyperscaler, in nur 24 Schritten.

Jetzt kostenlos downloaden

Sie wollen noch mehr zu cloud-nativen Anwendungen wissen? Werfen Sie doch einen Blick auf unsere Empfehlungen:


Unsere Cloud-Appetizer: die INCLOUD Workshops

Ist Ihre Cloud-Landschaft bereit für eine Anwendung?

Ihre Software Anwendung mit der Cloud zu betreiben, bringt Ihnen viele Vorteile: maximal skalierbare Kapazitäten, geringere Kosten, erhöhte Sicherheit. Doch bietet Ihre Cloud-Architektur schon die nötigen Voraussetzungen?
In diesem Audit prüfen wir Ihre aktuelle Cloud Infrastruktur und erklären, wie Sie die Cloud optimal für Ihr App- oder IoT-Projekt nutzen.

Ganz konkret: Das nehmen Sie mit

  • Eine Auflistung der für Ihre Anwendung notwendigen und geeigneten Cloud Dienste
  • Individuelle Vorschläge für die ideale Cloud Infrastruktur und für die Integration in vorhandene Systeme
  • Ihren individuellen Leitfaden für die nächsten Schritte

Schnell und bequem

  • Ein Tag à 8 Stunden
  • Der Audit findet online statt

Kosten Clean-up Cloud

Kennen Sie die großen Kostentreiber in Ihrer Cloud Architektur? Nutzen Sie wirklich, wofür Sie bezahlen? Unser Kosten Check-up verschafft den Überblick über Ihre Ausgaben, deckt ungenutzte Potenziale auf und unterstützt Sie dabei, Kosten zu reduzieren.
Oft sind Cloud Architekturen historisch gewachsen. Hier und da wurde eine Service hinzugefügt. Häufig sind sogar Dienste mehrerer Cloud-Anbieter im Einsatz.

Innerhalb eines Tages erfahren Sie, wie sich die Abrechnung Ihres Cloud Anbieters zusammensetzt und wie sie auch in umfangreichen Projekten kosteneffizient unterwegs sind. Die Incloud Experten ermitteln die offenen Kapazitäten in Ihrem Account und zeigen, wie Sie mehr aus Ihrer Cloud herausholen und Kosten senken können.

Ganz konkret: Das nehmen Sie mit

  • Eine Auflistung aller Hyperscaler und deren Dienste, die in Ihrer Cloud Architektur eingesetzt werden, sowie die zugehörigen Kosten
  • Eine Übersicht der Services, die nicht genutzt werden und optimiert oder ausrangiert werden sollten
  • Eine Kalkulation der möglichen Kostenersparnisse.
  • Alternative Vorschläge für eine neue Struktur Ihrer Dienste, begleitet von Ihrem individuellen Leitfaden für die nächsten Schritte

Schnell und bequem

  • Ein Tag à 8 Stunden
  • Der Audit findet online statt

Cloud Security Check-up

Sicherheit steht in der Cloud-Welt an oberster Stelle. Die größten Hyperscaler bieten Ihnen alles, was Sie zur konsequenten Absicherung Ihrer Anwendung und der Nutzerdaten benötigen.

Dennoch: Auch die Security-Struktur muss gepflegt und in regelmäßigen Abständen überprüft werden. In unserem Cloud Security Check-up überprüfen wir die Sicherheit Ihrer Cloud und geben Ihnen eine individuelle Einschätzung zu Ihrer Security Situation.

In 2 Schritten zur sicheren Cloud

  • Wir überprüfen alle relevanten Sicherheitsaspekte Ihrer Cloud-Struktur. Auf Wunsch legen wir hier größeres Augenmerk auf spezielle Bereiche.
  • Wir liefern eine Dokumentation zu den entdeckten Schwachstellen und wie diese zu beheben sind

Umfang

  • Ein Tag à 8 Stunden
  • Der Audit findet online statt

Wissen rund um...

Der INCLOUD Grundlagen Kurs zu zwei Themen Ihrer Wahl: Warum braucht es die Cloud und wann ist eine Anwendung "Cloud-Native"? Warum setzen alle auf Kubernetes und ist Serverless wirklich sinnvoll? Wir liefern Ihnen die Antworten und Tipps für Ihre Projekte. Wählen Sie einfach aus, in welchen zwei Bereichen Sie dazulernen möchten:

Unser Workshop-Angebot

  • Cloud-native in one day
  • Ready for Serverless
  • Ready for Kubernetes
  • Ready for IoT
  • Einführung in DevOps und CI/CD DevOps

Ganz konkret: Das nehmen Sie mit

  • Umfassende Einblicke in die Welt der Cloud für Infrastruktur und Softwareprojekte
  • Einsatzpotenziale der jeweiligen Technologie in Ihrem Unternehmen
  • Konkrete nächste Schritte

Schnell und bequem

  • Ein Tag à 8 Stunden
  • Der Audit findet online statt
  • Um ausführlich auf Fragen einzugehen, empfehlen wir eine maximale Teilnehmerzahl von 7 Personen. Natürlich steht es Ihnen frei, weitere Teilnehmer anzumelden.

Kennen Sie schon die europäische Cloud-Lösung, GAIA-X? Wir zeigen Ihnen was Sie davon erwarten können.

Titelbild: Gabriel Crismariu auf Unsplash
Weiterempfehlen:

Update gefällig?

Mit dem INCLOUD Ping erhalten Sie jeden Donnerstag kleine Aha-Momente rund um die relevantesten digitalen Themen.
Ihre Zeit ist wertvoll, wir nutzen sie produktiv. Versprochen.