PCG logo
Artikel

Cloud Development: alle Antworten auf Ihre Fragen

Unsere Cloud-Experten haben alle wichtigen Aspekte für Sie zusammengestellt und häufig gestellte Fragen unserer Kunden aufgegriffen, um Ihnen den gesamten Einblick und völlige Transparenz zu gewähren. Sie interessieren sich nur für einen bestimmten Abschnitt? Kein Problem, im Folgenden können Sie bequem auf den Abschnitt klicken, der Sie interessiert und werden direkt dort hingeleitet. Unten auf der Seite finden Sie auch ein Whitepaper zu Cloud Development mit allen Informationen, einfach für Sie zum DownloadExternal Link.

Inhalt

  1. Was spricht dafür?
  2. Welche Clouds gibt es?
  3. Sollte ich in eine Public Cloud, eine Private Cloud oder eine Hybrid Cloud?
  4. Welche Public Cloud sollte ich nutzen, AWS, Azure oder die Google Cloud? Gibt es Unterschiede?
  5. Kann ich später noch die Cloud wechseln?
  6. Ist die Public Cloud sicher?
  7. Wie sieht es mit DSGVO, dem Datenschutz und Compliance in der Public Cloud aus?
  8. Kann ich jede Applikation in die Cloud migrieren?
  9. Was ist Application Modernization, Application Transformation, was ist “Cloud Native”, was ist “Lift & Shift”?
  10. Für welche Architektur sollte ich mich entscheiden? Virtuelle Maschinen?, Platform-as-a-Service? Software-as-a-Service? Container? Kubernetes?
  11. Was kostet eine Cloud Migration / Modernisierung?
  12. Welche Schritte müssen bei einer Cloud Migration / Applikations-Modernisierung durchgeführt werden?
  13. Senken sich die Kosten, wenn ich meine Applikation in der Public Cloud laufen lasse?
  14. Wie stelle ich die Verfügbarkeit und den Betrieb meiner Applikation in der Public Cloud sicher?
  15. Welche Möglichkeiten bietet mir die Public Cloud hinsichtlich Skalierbarkeit meiner Applikation?
  16. Wie schule ich mein Team, damit ich meine Applikation in der Cloud später selber weiterentwickeln kann?

Warum sollte ich eine Applikation in die Cloud bringen?

Zusammenfassung

Die Entwicklung von Applikationen in der Cloud ist eines der wichtigsten Wachstumsfelder in der IT-Welt aufgrund der Vorteile, die die Cloud bietet: schnelle Entwicklungsgeschwindigkeit, einfachere Wartung, Skalierbarkeit, höhere Zuverlässigkeit, flexibles Kostenmodell und höhere Sicherheit. Allerdings gibt es auch Aspekte, die beachtet werden müssen, um erfolgreich in der Cloud zu entwickeln.

Was spricht dafür?

Die Entwicklung und der Betrieb von Applikationen in der Cloud, sprich der Einsatz von Cloud Development, ist eines der hauptsächlichen Wachstumsfelder in der gesamten IT-Welt.

Entwicklungsgeschwindigkeit

Clouds bieten spezielle Dienste an, die eine Software Development extrem beschleunigen (“Platform-as-a-Service” bzw. “Cloud Native”). Darüber können zum Beispiel Datenbanken und Speicherplatz direkt für die Applikation verwendet werden. Das reduziert die Dauer drastisch, die eine Applikation bis zum “Go-live” in der Entwicklung benötigt.

Wartung

In der Cloud werden dem Unternehmen viele Aspekte abgenommen. Backups sind wesentlich einfacher, bei intelligentem Design muss kein Betriebssystem mehr aktualisiert werden etc.. Der Fokus kann dann auf der Entwicklung und dem Betrieb der Applikation selbst liegen, weil das “Drumherum” von der Cloud und den Vorteilen von Cloud Development abgenommen wird.

Skalierbarkeit

Bei intelligentem Design der Applikation lässt sich die Rechenleistung von 0 (keine Kosten) auf nahezu unendlich (Millionen von gleichzeitigen Nutzern, die alle gleichzeitig flüssig die Applikation verwenden können) skalieren.

Zuverlässigkeit

Die Cloud-Anbieter sorgen für eine Hochverfügbarkeit und entsprechende Redundanz, auch im Fehlerfall. Ein großer Teil des gesamten Internets basiert auf der Cloud – ein Ausfall hätte entsprechend fatale Folgen. Deswegen ist die Hochverfügbarkeit zwangsläufig ein zentrales Element in der Cloud sowie von Cloud Development selbst.

Kosten

Das bereits unter “Skalierbarkeit” angesprochene Modell lässt sich direkt auf die Kosten übertragen: Die Applikation wird (beispielsweise nachts) von niemandem genutzt, also skaliert sie “auf 0” und es fallen keine Kosten an. Zur Mittagszeit nutzen Millionen von Nutzer die Applikation zur selben Zeit, also skaliert die Infrastruktur entsprechend und Sie zahlen, was Sie an Leistung bekommen.

Sicherheit

Clouds bieten eine höhere Sicherheit, verglichen mit klassischem Hosting in einem Rechenzentrum. Sicherheit ist in allen Clouds das zentrale Element und wird an vorderster Front durch die jeweiligen Hyperscaler sichergestellt – mit riesigen Experten-Teams, die genau darauf spezialisiert sind, so wie es ein Rechenzentrum nicht bieten könnte. Außerdem werden Backups und Wiederherstellung direkt mitgeliefert, was bei klassischem Hosting häufig ein größeres Thema ist.

Welche Clouds gibt es?

Zusammenfassung 

Es gibt drei Arten von Clouds und demnach für Cloud Development: Private Clouds, Public Clouds und Hybrid Clouds. Private Clouds sind für eine spezifische Organisation reserviert und bieten begrenzte Skalierbarkeit und Funktionsumfang, während Public Clouds von Hyperscalern wie Amazon, Microsoft und Google betrieben werden und unbegrenzte Skalierbarkeit, hohe Geschwindigkeit, Sicherheit und Flexibilität bieten. Hybrid Clouds kombinieren die Vorteile beider Cloud-Typen, um maximale Kontrolle und Geschwindigkeit zu erreichen.

Cloud-Arten

Man unterscheidet grundsätzlich 3 verschiedene Varianten von Clouds: Private Clouds, Public Clouds und Hybrid Clouds. Alle 3 Varianten haben unterschiedliche Schwerpunkte.

Private Clouds

Eine Cloud, die nur für eine spezifische Organisation bereitgestellt wird und nicht für die Öffentlichkeit zugänglich ist. Im Vergleich zur Public Cloud ist der Funktionsumfang begrenzter, bietet jedoch höhere Flexibilität und schnellere Bereitstellung von Rechenleistung/Infrastruktur.

Public Clouds

Cloud-Anbieter wie Amazon AWS, Microsoft Azure und Google GCP, die eine beliebige Skalierbarkeit bieten und hinsichtlich Geschwindigkeit, Kosten, Skalierbarkeit und Sicherheit das beste Gesamtpaket für die meisten Anwendungsfälle bieten.

Hybrid Clouds

Eine Kombination aus Private Cloud und Public Cloud, die ausgesuchte Anwendungen in der Private Cloud und die Mehrzahl in der Public Cloud betreibt, um die Vorteile beider Welten zu vereinen. Die Inhalte werden verzahnt, um ein reibungsloses Zusammenspiel zu ermöglichen.

Sollte ich in eine Public Cloud, eine Private Cloud oder eine Hybrid Cloud?

Zusammenfassung

Die Entscheidung für die Private, Public oder Hybrid Cloud hängt vom konkreten Cloud Development Anwendungsfall ab. Eine Kombination aus Private und Public Cloud ist häufig die beste Lösung, wobei neue Geschäftsmodelle und moderne Applikationen/Services in der Public Cloud entwickelt und existierende Applikationen und Workloads in die Public Cloud migriert werden können. Es ist wichtig, dass die Private und Public Cloud miteinander harmonieren.

Anwendungsfallabhängigkeit

Sie haben es bereits geahnt: Eine pauschale Antwort auf diese Frage ist nicht möglich, weil es auf den konkreten Anwendungsfall ankommt. Was sich aber pauschal sagen lässt: Ausschließlich auf eine Private Cloud zu setzen, lässt viel Potenzial auf der Straße liegen. Ausschließlich auf die Public Cloud zu setzen, kann sinnvoll sein, wenn die Strukturen innerhalb der Organisation dafür geschaffen sind:

  • Gibt es die Offenheit und Bereitschaft innerhalb des Unternehmens?
  • Gibt es die Skills und das Verständnis auf technischer Ebene?
  • Gibt es Unterstützung vonseiten des Managements?

Häufig ist eine Kombination aus Private Cloud und Public Cloud das realistischste Szenario – eben jene Hybrid Cloud. Neue Geschäftsmodelle und moderne Applikationen/Services werden direkt in der Public Cloud entwickelt. Existierende Applikationen und Workloads, die sich gut eignen, werden in die Public Cloud migriert, um die Vorteile voll auszunutzen. Alt-Applikationen und besonders sensible Daten und Anwendungen verbleiben in der Private Cloud und werden entweder sukzessive oder gar nicht migriert – je nach Governance/Policy des Unternehmens.

Wichtig ist, dass die Private Cloud Welt und die Public Cloud Welt ideal miteinander korrespondieren und harmonieren müssen.

Welche Public Cloud sollte ich nutzen, AWS, Azure oder die Google Cloud? Gibt es Unterschiede?

Zusammenfassung

Die drei wichtigsten Hyperscaler bieten alle ähnliche Vorteile, wie schnelle und sichere Entwicklung und Skalierbarkeit von Anwendungen. Die Wahl des Hyperscalers hängt davon ab, welche Dienste und Anwendungen bereits im Unternehmen vorhanden sind und welche Anforderungen an Skalierbarkeit, Sicherheit und Preisgestaltung bestehen. Eine Abwägung der Vor- und Nachteile sowie eine Entscheidungsmatrix mit den Empfehlungen des Dienstleisters können bei der Wahl helfen.

Die Unterschiede

Es gibt einige Unterschiede zwischen den 3 relevantesten Hyperscalern – auch hier kommt es darauf an, was (a) bereits da ist und (b) getan werden soll. Grundsätzlich lässt sich sagen: Auf allen 3 Hyperscalern lassen sich Anwendungen schnell, sicher, flexibel, kostengünstig und skalierbar entwickeln und betreiben. Alle 3 Hyperscaler haben zahlreiche Rechenzentren, sowohl in Deutschland, Europa als auch in der gesamten Welt. Alle 3 Hyperscaler bieten nahezu unlimitierte Rechenleistung und Skalierbarkeit an. Alle 3 Hyperscaler bieten zahlreiche Dienste für eine schnelle Softwareentwicklung.

Häufig stellt sich die Frage der Wahl gar nicht, weil im Unternehmen bereits eine Cloud festgeschrieben ist und Rahmenverträge bestehen. In diesem Fall ist die Frage bereits geklärt und die nächsten Schritte sind:

  • “Was soll getan werden?” und das
  • “Wie soll es konkret umgesetzt werden?” zu klären.

Jenes geschieht oft im Sparring mit Business Ownern und Architekten aufseiten des Unternehmens und den Experten des Dienstleisters auf der anderen Seite. Hier gilt es, die technischen Anforderungen des Unternehmens mit der geplanten Architektur der Applikation abzustimmen:

  • Gibt es gewisse Vorgaben, welche Dienste in der Public Cloud verwendet werden dürfen / sollen?
  • Welche Anforderungen an Skalierbarkeit und Hochverfügbarkeit / Redundanz bestehen?
  • Bestehen Anforderungen an Verschlüsselung in der Datenhaltung und bei der Datenübertragung?

Kann ich später noch die Cloud wechseln?

Zusammenfassung

Durch das Einhalten bestimmter Design-Prinzipien kann eine Portierbarkeit zwischen verschiedenen Cloud-Anbietern ermöglicht werden. Tools wie Terraform und Infrastructure as Code ermöglichen die automatisierte Einrichtung von Umgebungen und Anwendungen. Ein vollständig automatisierter Wechsel zwischen Cloud-Anbietern ist jedoch selten sinnvoll und mit höheren Kosten verbunden. Es empfiehlt sich, gemeinsam mit dem Dienstleister zu klären, welcher Grad an Portierbarkeit gewünscht ist und dies bereits im Design der Applikation zu berücksichtigen.

Cloud-Wechsel – die Bedingungen

Grundsätzlich kann zu einem späteren Zeitpunkt die Cloud gewechselt werden, allerdings müssen dafür gewisse Prinzipien im Design der Applikation berücksichtigt werden. Durch Tools wie Terraform (Infrastructure as Code, IaC) kann zum Beispiel die komplette Umgebung und die Applikation selbst automatisiert eingerichtet und zur Verfügung gestellt werden – ohne einen einzigen Klick. Solche Vorgehensweisen machen es erheblich einfacher, einen späteren, eventuellen Wechsel zu vollziehen. Allerdings muss fairerweise auch gesagt werden: Eine 100 % automatisierter Wechsel von einer Cloud zur anderen ist zwar möglich, allerdings selten sinnvoll und mit höheren Kosten im Design und in der Umsetzung verbunden.

Wir empfehlen daher, vor der Umsetzung gemeinsam mit dem Dienstleister konkret zu thematisieren, welcher Grad an Portierbarkeit gewünscht ist und dies bereits im Design der Applikation zu berücksichtigen.

Ist die Public Cloud sicher?

Zusammenfassung

Die Sicherheit in der Public Cloud und dem Cloud Development ist wichtig und hängt von verschiedenen Faktoren ab. Public Cloud-Anbieter investieren in die Sicherheit Ihrer Infrastruktur und Dienste, aber die Sicherheit der Applikationen und Daten hängt auch von den eigenen Sicherheitsmaßnahmen des Nutzers ab.

Die Frage der Sicherheit

Wichtige Aspekte der Public Cloud-Sicherheit: Infrastruktursicherheit, Datenverschlüsselung, Identitäts- und Zugriffsmanagement, Überwachung, Compliance und Zertifizierungen. Cloud-Sicherheit ist eine geteilte Verantwortung zwischen Anbieter und Nutzer, wobei der Nutzer für Applikations- und Datensicherheit verantwortlich ist. Best Practices sollten angewendet werden, um die Sicherheit proaktiv zu schützen.

Einige wichtige Aspekte im Überblick:

Infrastruktursicherheit

Public Cloud-Anbieter investieren in den Schutz Ihrer Rechenzentren und Netzwerke, um eine hohe Sicherheit für ihre Kunden zu gewährleisten. Dazu gehören physische Sicherheitsmaßnahmen, Zugangskontrollen, Netzwerksicherheit und Sicherheitsüberwachung.

Datenverschlüsselung

Um den Datenschutz in der Public Cloud zu gewährleisten, bieten Anbieter Verschlüsselung sowohl für Daten in Ruhe (gespeicherte Daten) als auch für Daten in Übertragung (übertragene Daten). Nutzer können und sollten zusätzliche Verschlüsselungsmaßnahmen für besonders sensible Daten in Betracht ziehen.

Identitäts- und Zugriffsmanagement

Die Public Cloud-Anbieter stellen Dienste zur Verfügung, mit denen Nutzer ihre Authentifizierungs- und Autorisierungsrichtlinien verwalten können. Dies ermöglicht die Kontrolle darüber, wer auf welche Ressourcen und Dienste in der Cloud zugreifen kann.

Sicherheitsüberwachung und -protokollierung

Um mögliche Sicherheitsvorfälle zu erkennen und darauf zu reagieren, bieten Cloud-Anbieter Überwachungs- und Protokollierungsdienste an, die es Nutzern ermöglichen, Ihre Cloud-Ressourcen kontinuierlich zu überwachen und potenzielle Bedrohungen zu identifizieren.

Compliance und Zertifizierungen

Public Cloud-Anbieter haben Zertifizierungen und Sicherheitsaudits, um die Einhaltung von Standards zu belegen. Unternehmen sollten die Compliance-Anforderungen Ihrer Branche berücksichtigen und sicherstellen, dass der gewählte Anbieter diese erfüllt. Sicherheit in der Public Cloud ist eine geteilte Verantwortung zwischen Anbieter und Nutzer. Unternehmen sollten Best Practices anwenden, einen spezifischen Security-Plan mit ihrem Dienstleister aufsetzen und ihre Daten proaktiv schützen.


Wie sieht es mit DSGVO, dem Datenschutz und Compliance in der Public Cloud aus?

Zusammenfassung

In der Public Cloud und dem Cloud Development ist die DSGVO wichtig. Anbieter wie AWS, GCP und Azure erfüllen die Anforderungen. Unternehmen sollten auf DSGVO-Konformität achten und Sicherheitsmaßnahmen implementieren. Eine Datenschutz-Folgenabschätzung kann notwendig sein, um Risiken zu identifizieren.

Auf der sicheren Seite

Die DSGVO ist wichtig für Unternehmen in der EU und solche, die Geschäfte mit EU-Bürgern machen. In der Public Cloud sind DSGVO, Datenschutz und Compliance entscheidend für die Einhaltung der gesetzlichen Anforderungen.

DSGVO-konforme Cloud-Anbieter

Die meisten großen Public Cloud-Anbieter haben ihre Dienste an die DSGVO angepasst und bieten Tools an, um DSGVO-konforme Dienste bereitzustellen. Es ist wichtig, einen DSGVO-konformen Cloud-Anbieter zu wählen und eine Datenverarbeitungsvereinbarung abzuschließen.

Datenverarbeitungsvereinbarungen

Unternehmen sollten sicherstellen, dass Sie mit ihren Cloud-Anbietern entsprechende Datenverarbeitungsvereinbarungen (Data Processing Agreements, DPAs) abschließen, die die Verarbeitung personenbezogener Daten gemäß den DSGVO-Vorschriften regeln.

Datenspeicherung und -übertragung

DSGVO und Datenschutz in der Public Cloud erfordern sichere Speicherung und Übertragung von personenbezogenen Daten. Unternehmen sollten wissen, wo ihre Daten verarbeitet werden und dass die Übertragung sicher ist. Regionale Datenspeicherungsoptionen können dabei helfen, die Datenschutzgesetze einzuhalten.

Sicherheitsmaßnahmen

Unternehmen müssen geeignete Sicherheitsmaßnahmen implementieren, um personenbezogene Daten in der Cloud zu schützen. Dazu gehören Verschlüsselung, Zugangskontrollen, Überwachung und regelmäßige Sicherheitsüberprüfungen. Public Cloud-Anbieter haben umfassende Sicherheitsmaßnahmen implementiert.

Datenschutz-Folgenabschätzung

In manchen Fällen ist eine Datenschutz-Folgenabschätzung notwendig, um Risiken bei der Verarbeitung personenbezogener Daten in der Public Cloud zu identifizieren. Unternehmen tragen letztendlich die Verantwortung für die Einhaltung der DSGVO und der Compliance in der Cloud. Ein DSGVO-konformer Cloud-Anbieter und geeignete Sicherheitsmaßnahmen und Datenschutzrichtlinien sind wichtige Schritte, um Compliance-Anforderungen zu erfüllen und das Vertrauen der Kunden und Partner zu gewinnen.

Hyperscaler

Die drei Hyperscaler AWS (Amazon Web Services), GCP (Google Cloud Platform) und Azure (Microsoft Azure) sind führende Anbieter von Public Cloud-Diensten und legen großen Wert auf Datenschutz, DSGVO und Compliance.

Kann ich jede Applikation in die Cloud migrieren?

Zusammenfassung

Die Eignung einer Applikation für eine Cloud-Migration hängt von verschiedenen Faktoren ab, wie der aktuellen Architektur, den verwendeten Technologien und den spezifischen Anforderungen der Applikation. Einige Applikationstypen, die gut für die Cloud-Migration geeignet sind, umfassen skalierbare, stateless Applikationen und Applikationen auf Microservices-Architekturen. Allerdings ist es grundsätzlich möglich, eine Vielzahl von Anwendungen in die Cloud zu migrieren. Eine sorgfältige Analyse der Applikation und ihrer Anforderungen ist notwendig, um die Eignung einer Anwendung für eine Cloud-Migration zu bewerten.

Die Eignung der Applikation

Grundsätzlich ist es möglich, eine Vielzahl von Anwendungen in die Cloud zu migrieren. Allerdings hängt die Eignung einer Applikation für eine Cloud-Migration von verschiedenen Faktoren ab, wie der aktuellen Architektur, den verwendeten Technologien und den spezifischen Anforderungen der Applikation.

Einige Applikationstypen, die gut für die Cloud-Migration geeignet sind, umfassen:

  • Skalierbare Applikation: Anwendungen, die so konzipiert sind, dass Sie horizontal oder vertikal skalieren können, um auf Veränderungen in der Last oder der Nachfrage zu reagieren, profitieren besonders von der Cloud-Infrastruktur.
  • Stateless Applikationen: Anwendungen, die keinen internen Zustand speichern und deren Komponenten unabhängig voneinander arbeiten, eignen sich gut für die Cloud, da sie einfach auf verschiedene Ressourcen verteilt werden können.
  • Microservices-Architekturen: Anwendungen, die auf einer Microservices-Architektur basieren, lassen sich in der Regel gut in die Cloud migrieren, da Sie die Vorteile der Skalierbarkeit und Flexibilität nutzen können, die Cloud-Plattformen bieten.

Es gibt jedoch auch Applikation, bei denen eine Cloud-Migration schwieriger oder weniger sinnvoll sein kann:

  • Legacy-Applikation: Ältere Anwendungen, die auf veralteten Technologien oder Architekturen basieren, können Schwierigkeiten bei der Cloud-Migration haben. In einigen Fällen kann es notwendig sein, die Anwendung zu modernisieren oder neu zu entwickeln, um Sie für die Cloud bereitzustellen.
  • Applikation mit strengen Compliance- oder Datenschutzanforderungen: Einige Applikation unterliegen strengen gesetzlichen Vorschriften oder Datenschutzanforderungen, die den Umfang der Cloud-Migration einschränken können. In solchen Fällen müssen Kunden sorgfältig prüfen, ob die gewählte Cloud-Plattform die erforderlichen Standards erfüllt.
  • Latenzempfindliche Applikation: Anwendungen, die auf Echtzeitverarbeitung oder extrem niedrige Latenzzeiten angewiesen sind, können von einer Cloud-Migration beeinträchtigt werden, wenn die Latenz zwischen der Cloud und den Endbenutzern oder anderen Systemen zu hoch ist.

Die Entscheidung, ob eine Applikation für eine Cloud-Migration geeignet ist, erfordert eine sorgfältige Analyse der Anwendung und ihrer Anforderungen sowie eine Abwägung der potenziellen Vorteile und Herausforderungen, die eine Cloud-Migration mit sich bringen kann.

Was ist Application Modernization, Application Transformation, was ist “Cloud Native”, was ist “Lift & Shift”?

Zusammenfassung

Es gibt einige Begriffe, die auf dem Weg zur Cloud-Migration wichtig sind. Application Modernization bedeutet die Aktualisierung von Applikationen, während Application Transformation eine grundlegende Anpassung an neue Anforderungen bedeutet. Cloud Native ist ein Ansatz für die Entwicklung von Anwendungen, die speziell für die Cloud-Umgebung entwickelt wurden. Lift & Shift ist eine Strategie für die Migration von Applikationen in die Cloud ohne Änderungen an der Anwendung selbst vorzunehmen.

Begrifflichkeiten

Auf dem Weg in die Cloud begegnen einem viele Begriffe, die am Anfang durchaus verwirrend sein können. Einige der Begriffe, die uns am häufigsten bei der Begleitung der Cloud Journey unserer Kunden begegnen, sind folgende:

Application Modernization

App-Modernization verbessert bestehende Applikationen, um mit neuesten Technologien und Anforderungen Schritt zu halten. Die Aktualisierung kann Architektur, Plattform, Datenbank, Benutzeroberfläche und Funktionalität einschließen. Ziel der Migration ist die Übertragung auf eine modernere Plattform mit beibehaltenen Funktionen und Geschäftsprozessen. Vorteile sind verbesserte Benutzerfreundlichkeit, höhere Leistung, Sicherheit und Skalierbarkeit.

Application Transformation

App-Transformation bezieht sich auf die grundlegende Veränderung von Applikationen, um sie an neue Geschäftsanforderungen anzupassen. Dies kann eine Überarbeitung von Geschäftsprozessen, die Integration neuer Technologien, die Migration von Daten und die Anpassung der Benutzeroberfläche umfassen. Ziel ist es, die Applikation den Geschäftsanforderungen und der Vision des Unternehmens anzupassen und dadurch Effizienz, Leistung und Agilität zu verbessern.

Cloud Native

Cloud Native-Anwendungen sind speziell für Cloud-Umgebungen entwickelt und nutzen die Vorteile der Cloud, um besser zu funktionieren und zu skalieren. Die Architektur besteht aus Microservices, die in Containern verpackt sind und automatisierte Prozesse zur Bereitstellung, Skalierung und Verwaltung von Anwendungen nutzen. Die Vorteile sind höhere Skalierbarkeit, Agilität und Flexibilität sowie schnellere Markteinführung.

Lift & Shift

Lift & Shift ist eine Strategie zur Migration von Applikationen in die Cloud, ohne Änderungen an der Anwendung selbst vorzunehmen. Ziel ist es, die Vorteile der Cloud zu nutzen, ohne die Anwendung zu überarbeiten. Ein Beispiel ist die Migration von virtuellen Maschinen oder Datenbanken in die Cloud. Allerdings kann eine nicht für die Cloud optimierte Applikation zu höheren Kosten und schlechterer Leistung führen.

Für welche Architektur sollte ich mich entscheiden? Virtuelle Maschinen(VMs)?, Platform-as-a-Service(PaaS)? Software-as-a-Service(SaaS)? Container? Kubernetes?

Zusammenfassung

Die Wahl der Cloud-Architektur hängt von den spezifischen Anforderungen und Zielen ab. Die wichtigsten Optionen sind: virtuelle Maschinen(VMs), Platform-as-a-Service(PaaS), Software-as-a-Service(SaaS), Container und Kubernetes. Unternehmen können diese Optionen kombinieren, um ihre Cloud Development Anforderungen optimal zu erfüllen.

Wahl der Architektur

Die Wahl der Architektur hängt von Ihren spezifischen Anforderungen und Zielen ab. Hier erhalten Sie einen Überblick zu den wichtigsten Optionen:

Virtuelle Maschinen (VMs)

Wenn Sie die volle Kontrolle über die Betriebssysteme und Anwendungen benötigen, sind VMs eine gute Wahl. Mit VMs können Sie eine Vielzahl von Betriebssystemen und Anwendungen ausführen, die auf demselben physischen Host laufen.

Platform-as-a-Service (PaaS)

Wenn Sie sich auf die Entwicklung von Applikation konzentrieren möchten, anstatt sich um die Infrastruktur zu kümmern, sollten Sie PaaS in Betracht ziehen. PaaS bietet eine vollständig verwaltete Plattform für die Anwendungsentwicklung, einschließlich der Skalierung und Wartung.

Software-as-a-Service (SaaS)

Wenn Sie eine vollständig verwaltete Applikation benötigen und keine vollständige Kontrolle über die Infrastruktur benötigen, sollten Sie SaaS in Betracht ziehen. SaaS-Anwendungen werden von Anbietern gehostet und verwaltet, sodass Sie nur für die Nutzung der Anwendung bezahlen.

Container

Wenn Sie die Anwendungsbereitstellung vereinfachen möchten, sind Container eine gute Wahl. Container bieten eine leichte Virtualisierung, bei der Applikationen und ihre Abhängigkeiten in isolierten Containern ausgeführt werden können.

Kubernetes

Wenn Sie eine Container-Orchestrierung benötigen, sollten Sie Kubernetes in Betracht ziehen. Kubernetes bietet eine Plattform für die Automatisierung der Container-Bereitstellung, Skalierung und Verwaltung. Alle Cloud-Provider bieten eine verwaltete Kubernetes Umgebung an, sodass das Betreiben von Containern in Kubernetes mit weniger Aufwand verbunden ist.

Es gilt zu berücksichtigen, dass diese Optionen sich nicht unbedingt gegenseitig ausschließen und individuell kombiniert werden können. In vielen Fällen nutzen Unternehmen eine Kombination von Technologien und Architekturen, um ihre Anforderungen optimal zu erfüllen.

Was kostet eine Cloud Migration / Modernisierung?

Zusammenfassung

Die Kosten einer Cloud-Migration oder Modernisierung hängen von verschiedenen Faktoren ab, wie der Planung und Beratung, der Implementierung und Migration, Schulung und Weiterbildung, laufenden Kosten sowie Wartung und Support. Es ist wichtig, vor Beginn des Cloud Development Projekts eine detaillierte Kostenanalyse durchzuführen, um ein besseres Verständnis der erwarteten Gesamtkosten und möglichen Kosteneinsparungen zu erhalten.

Die Kosten einer Cloud-Migration oder Modernisierung variieren stark, je nach Umfang und Komplexität des Projekts, den vorhandenen Ressourcen und den spezifischen Anforderungen der Applikation. Im Allgemeinen setzt sich der Gesamtaufwand aus verschiedenen Faktoren zusammen:

Planung und Beratung

Die Planungsphase, einschließlich der Bewertung der aktuellen Infrastruktur, der Erstellung eines Migrationsplans und der Auswahl der richtigen Cloud-Plattform, kann je nach Komplexität und Größe des Projekts variieren. Die Kosten für externe Beratungsdienstleistungen können ebenfalls einen erheblichen Anteil ausmachen.

Implementierung und Migration

Die eigentliche Migration oder Modernisierung der Applikation erfordert Zeit und Ressourcen, um die Anwendung an die Cloud-Umgebung anzupassen, Daten und Systeme zu migrieren und die Anwendung in der neuen Umgebung zu testen. Abhängig vom Umfang des Projekts und der Komplexität der Applikation können die Kosten für diesen Schritt stark variieren. Detaillierte Informationen zu Migration und Modernisierung finden sich im folgenden Abschnitt “Welche Schritte müssen bei einer Cloud Migration / Applikations-Modernisierung durchgeführt werden?”.

Schulung und Weiterbildung

Die Einführung von Cloud-Technologien erfordert häufig Schulungen und Weiterbildungen für das interne Team, um sicherzustellen, dass Sie über die erforderlichen Fähigkeiten verfügen, um die Applikation in der Cloud zu verwalten und ggf. weiterzuentwickeln. Die Kosten für Schulungen und Workshops hängen von der Anzahl der beteiligten Mitarbeiter und der Tiefe der benötigten Kenntnisse ab.

Laufende Kosten

Nach der Migration oder Modernisierung entstehen laufende Kosten für die Nutzung der Cloud-Infrastruktur, wie zum Beispiel Speicher, Rechenleistung, Bandbreite und verwendete Dienste. Diese Kosten variieren je nach Anbieter, Verbrauch und gewähltem Abrechnungsmodell. Es ist wichtig, die Kostenstruktur des gewählten Cloud-Anbieters zu verstehen und regelmäßig zu überprüfen, um mögliche Kosteneinsparungen zu identifizieren. Hierbei kann Sie die Public Cloud Group mit spezifischen Angeboten zum Cost Management auf allen Hyperscalern unterstützen.

Wartung und Support

Die Kosten für Wartung und Support können ebenfalls variieren, je nachdem, ob die Wartung intern oder extern erfolgt und welche Service-Level-Vereinbarungen (SLAs) getroffen wurden.

Da die Kosten für eine Cloud-Migration oder Modernisierung von vielen Faktoren abhängen, ist es wichtig, vor Beginn des Projekts eine detaillierte Kostenanalyse durchzuführen, um ein besseres Verständnis der erwarteten Gesamtkosten und möglichen Kosteneinsparungen zu erhalten.

Welche Schritte müssen bei einer Cloud Migration / Applikations-Modernisierung durchgeführt werden?

Zusammenfassung

Die Schritte für eine erfolgreiche Cloud-Migration sind individuell angepasst. Zu den grundlegenden Meilensteinen zählen die Bewertung der bestehenden Applikation und IT-Infrastruktur, die Auswahl der passenden Cloud-Plattform, die Entwicklung eines Migrations- und Modernisierungsplans, die Migration oder Modernisierung der Anwendung, Optimierung und Überwachung sowie Schulung des Teams. Ein Schulungsprogramm ist wichtig, um sicherzustellen, dass das Team über das notwendige Wissen verfügt.

Schritt für Schritt

Die Schritte für eine erfolgreiche Cloud-Migration oder Applikations-Modernisierung im Cloud Development können je nach Unternehmen und Anforderungen unterschiedlich sein und werden individuell in Abhängigkeit der Bedürfnisse abgestimmt.

Grundlegende Meilensteine auf der Cloud Journey, die sich bewährt haben, sind folgende:

Assessment der bestehenden Applikation

Eine Bewertung der vorhandenen Anwendung und IT-Infrastruktur ist der erste Schritt für eine erfolgreiche Cloud-Migration oder Applikations-Modernisierung. Hierbei wird beispielsweise die Architektur im Hinblick auf Skalierbarkeit und Sicherheit bewertet und nicht-funktionale Anforderungen betrachtet.

Auswahl der richtigen Cloud-Plattform

Die passende Cloud-Plattform sollte gewählt werden, die den Anforderungen der Applikation entspricht. Dabei spielen verschiedene Faktoren wie vorhandene Programmiersprachen und Datenbanken, Skalierbarkeit und Sicherheit, unternehmensinterne Infrastruktur und Erfahrungslevel des Entwicklungs- oder Betriebsteams eine Rolle.

Entwicklung eines Migration- und Modernisierungsplans

Ein Migrationsplan sollte erstellt werden, der Schritte, erwartete Kosten, Ressourcenbedarf, Zeitrahmen und Risiken der Migration oder Modernisierung der Applikation in die Cloud definiert.

Migration und Modernisierung der Anwendung

Sind alle Voraussetzungen erfüllt, kann die eigentliche Migration beginnen. In Abhängigkeit der Anforderungen und des abgestimmten Vorgehensmodells erfolgt diese schrittweise oder gesamtheitlich.

Optimierung und Überwachung

Nach der Migration oder Modernisierung sollte die Applikation automatisch überwacht und optimiert werden, um sicherzustellen, dass sie optimal funktioniert. Die Überwachung soll frühzeitig Probleme erkennen, um proaktiv Fehlfunktionen zu vermeiden. Die Optimierung bietet Möglichkeiten zur Kostenreduzierung, z. B. durch Rightsizing oder Feinabstimmung von Cloud-nativen Diensten.

Schulung und Schulungsprogramme

Gezieltes Schulungsprogramm für das Anwendungsteam ist wichtig, um sicherzustellen, dass das Team über das notwendige Wissen verfügt. Eine Übergabe-Workshop kann helfen, wichtige Themen abzudecken, während weitere Workshops eine Einführung in die cloud-native Entwicklung bieten können. Die Public Cloud Group bietet hier entsprechende Workshops an.

Senken sich die Kosten, wenn ich meine Applikation in der Public Cloud laufen lasse?

Zusammenfassung

Die reinen Hardware-Kosten sollten nicht der Hauptfaktor sein, um sich für oder gegen den Einsatz der Public Cloud zu entscheiden. Es gibt Vorteile wie reduzierter Management-Aufwand, sichere Systeme und Flexibilität/Agilität. Eine Public Cloud und Cloud Development ermöglicht schnelles Reagieren auf Marktveränderungen und Anforderungen an die Anwendung. Durch eine richtige Optimierung können die Betriebskosten in der Cloud sogar günstiger sein als im eigenen Rechenzentrum.

Kostenreduktion & Vorteile

Wenn wir die reinen Kosten für den Betrieb einer Anwendung auf die Kosten für Hardware reduzieren, dann auf jeden Fall. Diese Betrachtungsweise greift aber zu kurz und sollte nicht der Hauptfaktor sein, um sich für oder gegen den Einsatz der Public Cloud zu entscheiden. Es gibt einige Vorteile, die über die reine Betrachtung der Hardware-Kosten hinausgehen. Diese sind unter anderem:

Reduzierter Management-Aufwand

Durch den reduzierten Aufwand, was das Management von Infrastruktur angeht, können sich Mitarbeitende mehr auf die Generierung von Mehrwerten für die Kunden und somit den Kern ihrer Tätigkeiten konzentrieren.

Sichere Systeme

Beinahe täglich gibt es neue Patches und Update für Firmware und Software, die zum Hosting von Applikationen verwendet werden. Wenn diese nicht auf dem neuesten Stand gehalten werden, entstehen Sicherheitslücken, die ein System unsicher und somit zu einem Sicherheitsrisiko für das Unternehmen, deren (Kunden-)Daten und somit auch der Reputation des Unternehmens machen können. Dies zu vermeiden erfordert viel Zeit und ein gutes Management, welches bei der Verwendung der Public Cloud vom Hyperscaler übernommen wird. Das Ergebnis sind immer sichere und aktuelle Systeme.

Flexibilität und Agilität

Eine Applikation ein mal gebaut zu haben und diese dann auf ewig zu betreiben reicht heute nicht mehr aus. Der Markt ändert sich schnell und auch die Anforderungen an Anwendungen entwickeln sich kontinuierlich weiter. So zum Beispiel die Skalierung von Anwendungen, abhängig von der Anzahl an Nutzern der Applikation. Genau für diesen Aspekt ist die Verwendung einer Public Cloud hervorragend geeignet. Durch die große Anzahl an Diensten und Tools, die bei Bedarf innerhalb von kürzester Zeit genutzt und skaliert werden können, kann ein Unternehmen reagieren und das gesamte Potenzial nutzen.

Es gibt noch deutlich mehr Gründe, sich für eine Public Cloud und Cloud Development zu entscheiden, als die reine Kostenbetrachtung, aber bei einer richtigen Optimierung der Systeme können diese zusätzlich auch noch günstiger sein, als die Anwendungen im eigenen Rechenzentrum zu betreiben.

Lift & Shift vs. Kosten

In einem reinen Lift & Shift („alle VMs in die Cloud“) zeigen sich häufig höhere Kosten, sodass eine Modernisierung der Applikationen mitsamt Anpassung an die Vorteile der Cloud ein häufig gewählten und sinnvollen sowie kostensparenden Weg darstellen.

Wie stelle ich die Verfügbarkeit und den Betrieb meiner Applikation in der Public Cloud sicher?

Zusammenfassung

Um eine hohe Verfügbarkeit und Betriebssicherheit von Applikationen in der Public Cloud zu gewährleisten, sollten einige Best Practices beachtet werden. Dazu gehören Skalierbarkeit, Ausfallsicherheit, Überwachung und Logging, Sicherheit und Automatisierung. Automatisierung reduziert Fehler und beschleunigt die Wiederherstellung im Falle von Ausfällen.

Sicherstellung Verfügbarkeit

Die Sicherstellung der Verfügbarkeit und des Betriebs von Applikationen in der Public Cloud erfordert einige spezifische Maßnahmen, um zu gewährleisten, dass diese stets reibungslos funktionieren und hochverfügbar sind. Hier sind einige Best Practices, die bei der Bereitstellung in der Public Cloud beachtet werden sollten:

Skalierbarkeit

Einer der Hauptvorteile der Public Cloud und dem Cloud Development ist ihre Fähigkeit zur Skalierung. Durch das Skalieren von Applikationen kann sichergestellt werden, dass sie den steigenden Anforderungen durch wachsende Nutzerzahlen gerecht werden. Automatisierte Skalierungsfunktionen und automatischer Lastenausgleich sind in der Public Cloud einfach einzurichten und zu verwalten, hängen allerdings von der Architektur der Anwendung und der gewählten Infrastruktur ab.

Ausfallsicherheit

Die Public Cloud bietet verschiedene Optionen für die Ausfallsicherheit, wie beispielsweise Multi-Zone-Bereitstellungen und Multi-Region-Bereitstellungen. Durch die Verteilung von Applikationen auf mehrere Zonen oder Regionen kann sichergestellt werden, dass sie auch dann noch verfügbar ist, wenn ein Bereich ausfällt.

Überwachung und Logging

Eine durchgehende Überwachung der Applikation ist unerlässlich, um potenzielle Ausfallzeiten zu minimieren. Ein zentrales Überwachungssystem ermöglicht es, Fehler, Leistungsprobleme und andere potenzielle Störungen zu erkennen.

Sicherheit

Um eine hohe Verfügbarkeit und Betriebssicherheit zu gewährleisten, müssen auch Sicherheitsaspekte wie Datenschutz, Netzwerksicherheit, Authentifizierung und Autorisierung berücksichtigt werden.

Automatisierung

Automatisierung von Prozessen wie Bereitstellung, Skalierung und Wiederherstellung von Ressourcen und Anwendungen reduziert die Wahrscheinlichkeit von Fehlern und beschleunigt die Wiederherstellung, sollten trotz aller Maßnahmen Ausfälle auftreten.

Welche Möglichkeiten bietet mir die Public Cloud hinsichtlich Skalierbarkeit meiner Applikationen?

Zusammenfassung

Cloud Development bietet viele Möglichkeiten zur Skalierung von Applikationen, einschließlich horizontaler und vertikaler Skalierung, Load Balancing, Container-Orchestrierung und serverlosem Computing. Horizontal Skalierung beinhaltet das Hinzufügen neuer Instanzen, während vertikale Skalierung Ressourcen wie CPU und Speicher erhöht. Load Balancer verteilen den Datenverkehr auf mehrere Instanzen, Container-Orchestrierungssysteme vereinfachen die Skalierung und Verwaltung von Anwendungen, und serverloses Computing führt Code ohne Serververwaltung aus. Die Wahl der besten Skalierungsstrategie hängt von den spezifischen Anforderungen und der Architektur der Anwendung ab.

Skalierung

Die Public Cloud bietet zahlreiche Möglichkeiten, um die Skalierbarkeit von Applikationen zu erhöhen und den Ressourcenverbrauch dynamisch an die Anforderungen anzupassen.

Einige der wichtigsten Skalierungsmöglichkeiten in der Public Cloud sind:

Horizontale Skalierung (Auto Scaling)

Bei der horizontalen Skalierung werden neue Instanzen einer Applikation oder von Infrastrukturkomponenten hinzugefügt, um die Last zu verteilen und die Leistungsfähigkeit zu erhöhen. Cloud-Anbieter bieten in der Regel Auto-Scaling-Tools an, die automatisch neue Instanzen starten oder herunterfahren, basierend auf vordefinierten Regeln und Metriken, wie zum Beispiel CPU-Auslastung oder Anzahl der Anfragen.

Vertikale Skalierung

Bei der vertikalen Skalierung werden Ressourcen, wie CPU, Speicher oder I/O, für bestehende Instanzen erhöht oder reduziert, um die Leistungsfähigkeit und Effizienz zu verbessern. Dies ist besonders nützlich für Anwendungen, die nicht leicht horizontal skalierbar sind. In der Public Cloud ist die vertikale Skalierung oft einfach durchzuführen, indem man die Größe der Instanzen anpasst.

Load Balancer

Load Balancer verteilen den Datenverkehr auf mehrere Instanzen einer Applikation oder von Infrastrukturkomponenten, um eine gleichmäßige Lastverteilung zu gewährleisten und Engpässe zu vermeiden. In der Public Cloud sind elastische Load Balancer verfügbar, die dynamisch skaliert werden, um sich an den Datenverkehr und die Anzahl der hinterlegten Instanzen anzupassen.

Container-Orchestrierung

Container bieten eine leichte Virtualisierung und ermöglichen es, Applikationen und ihre Abhängigkeiten in isolierten Umgebungen auszuführen. Container-Orchestrierungssysteme wie Kubernetes können die Skalierung und Verwaltung von Anwendungen in der Public Cloud vereinfachen, indem sie automatisch Container hinzufügen oder entfernen, um die Last zu verteilen und die Verfügbarkeit zu erhöhen.

Serverless Computing

Serverless Computing, wie zum Beispiel AWS Lambda, Google Cloud Functions oder Azure Functions, ermöglicht es, Code ohne die Verwaltung von Servern auszuführen. Diese Dienste skalieren automatisch, um die Anforderungen der Applikation zu erfüllen, und sind in der Regel auf Event- oder Anfragebasis abzurechnen.

Die Public Cloud bietet eine Vielzahl von Skalierungsmöglichkeiten, die es ermöglichen, die Leistung und Verfügbarkeit von Applikationen zu optimieren und gleichzeitig die Kosten unter Kontrolle zu halten. Die Wahl der besten Skalierungsstrategie hängt von den spezifischen Anforderungen und der Architektur der Anwendung ab.

Wie schule ich mein Team, damit ich meine Applikation in der Cloud später selber weiterentwickeln kann?

Zusammenfassung

Es gibt verschiedene Wege, um Wissen zum Thema Cloud und Cloud Development aufzubauen. Einer der Wege ist der theoretische Ansatz, bei dem Hyperscaler verschiedene strukturierte Lerninhalte anbieten und Zertifikate vergeben werden. Der Beratungsansatz bietet Vorträge und Schulungen, die von Consultants durchgeführt werden, um spezifische Themen zu vertiefen. Ein praktischer Ansatz ist die Verwendung von Sandboxes, die von den großen Cloud-Anbietern zur Verfügung gestellt werden, um ihre Dienste auszuprobieren. Der gemeinsame „Team“-Ansatz, bei dem Entwickler und Consultants gemeinsam an der Umsetzung von Projekten arbeiten, bietet eine Kombination aus theoretischem und praktischem Ansatz und ermöglicht einen kontinuierlichen Wissensaustausch.

Schulungsmöglichkeiten

Zum Wissensaufbau, um selbst Applikationen in der Cloud weiterentwickeln zu können, gibt es mehrere Wege:

Theoretischer Ansatz

Jeder Hyperscaler bietet unterschiedliche “Learning paths” an. Diese sind strukturierte Lerninhalte, die für spezielle Zielgruppen zusammengestellt sind. Sie decken alle grundlegenden Informationen ab, die für den Einstieg in das Thema Cloud und auch Cloud Development benötigt werden. Um zu prüfen, ob das Wissen vorhanden ist, können Zertifikate erworben werden. Der rein theoretische Ansatz greift aber meist zu kurz, da in der Praxis Herausforderungen auftreten, die nicht alle über Schulungsmaterial abgedeckt werden können.

Beratungsansatz

Consultants sind ein weiterer Weg, um Wissen über spezifische Themen zu erlangen. Durch Vorträge und Schulungen wird hier Wissen vermittelt, welches im Anschluss mit praktischen Übungen und der Begleitung des Consultants vertieft werden kann. Bei diesem Ansatz werden größtenteils jedoch nur einige Themen vertieft abgedeckt, was für eine Weiterentwicklung der Anwendung teilweise zu kurz greift.

Praktischer Ansatz

Für Teams mit dem Fokus, Dinge selbst auszuprobieren, bieten die großen Cloud-Anbieter Sandboxes an. Dies sind Umgebungen, auf denen sich Interessierte “austoben” und die Dienste ausprobieren können. Überwiegend steht eine gewisse Anzahl an Credits zur Verwendung der Dienste über einen bestimmten Zeitraum zur Verfügung. In dieser Zeit können die Dienste getestet und Erfahrungen damit gesammelt werden. Durch die vielen unterschiedlichen Dienste kann der rein praktische Ansatz jedoch auch zu Überforderung bei den Teams führen.

Gemeinsamer “Team”- Ansatz

Unserer Meinung nach ist der beste Ansatz, die theoretischen Grundlagen mit der Praxis zu verbinden und ein reales Projekt umzusetzen. Daher arbeiten wir oftmals gemeinsam mit dem Kunden an der Umsetzung seiner Anwendungen. Durch diesen Ansatz, den wir als “Teamleasing” bezeichnen, gewährleisten wir einen durchgehenden Wissensaustausch. Dieser ist auf der einen Seite für uns relevant, da wir die fachlichen Kontexte unserer Kunden schneller verstehen können und einen Ansprechpartner für diese Themen haben.

Auf der anderen Seite hat der Kunde die Möglichkeit, von unserer Erfahrung im Cloud Development zu profitieren und somit schnell das notwendige Wissen für die Weiterentwicklung bereits während der Erstellung der Applikation aufzubauen. Dieser Ansatz kann je nach Projekt- und Teamgröße variiert werden. Beispielsweise können wir Entwickler:innen unserer Kunden in bestehende Teams bei uns integrieren, die neben Entwickler:innen auch Product Owner als Teammitglieder haben. Dadurch können neben den rein technischen Themen noch Themen aus dem Bereich agiles Projektmanagement vermittelt werden.


Weiterlesen

Artikel
Vorteile & Herausforderungen der Cloud-Migration für Softwarehersteller

Ein Leitfaden zum erfolgreichen Wechsel auf cloudbasierte Lösungen!

Mehr erfahren
Fallstudie
Medien & Unterhaltung
Bühne frei für Google Workspace

GOP Entertainment löste die veraltete Kollaborationsinfrastruktur ab und führte Google Workspace ein. Das Unternehmen profitiert mit der cloudbasierten Lösung nun von einer deutlich verbesserten Zusammenarbeit.

Mehr erfahren
Pressemeldung
PCG und NetApp schließen Partnerschaft für Public-Cloud-Projekte.

Public Cloud Group (PCG) und NetApp kooperieren, um die digitale Transformation und die Innovationsfähigkeit europäischer Unternehmen entscheidend voranzutreiben.

Mehr erfahren
Artikel
KI gewinnt PCG Fußball-EM-Tippspiel

Googles KI-Lösung Gemini hat beim PCG-internen EM-Tippspiel den 1. Platz belegt. Was können Unternehmen daraus über die Fähigkeiten von KI lernen?

Mehr erfahren
Alles sehen

Gemeinsam durchstarten

United Kingdom
Arrow Down