Alle reden von der Cloud. Und in der Tat gibt es viele gute Gründe, Ihre Lösung in der Cloud bereitzustellen. Lassen Sie uns über einige Cloud-Vorteile sprechen, über Herausforderungen beim Hosting vor Ort und warum die Cloud auch in restriktiven Umgebungen eine Rolle spielen sollte.
Als ich 2003 meinen ersten regulären Job begonnen habe, wurde Software praktisch ausschließlich als Desktop-Anwendung entwickelt. Webanwendungen waren irgendwo auf einem fernen Horizont, eher als Zukunftsvision denn Realität. Heutzutage ist wohl eher das Gegenteil der Fall: Webanwendungen sind für die meisten Unternehmen, die neue Produkte und Dienste entwickeln, die erste Wahl (oder sollten es zumindest sein, wenn man den Weltmarkt ansprechen will).
Die wichtigsten Vorteile
Software-as-a-Service-Angebote sind für viele Unternehmen aufgrund folgender Vorteile zum Alltag geworden:
Es ist keine zusätzliche Installation erforderlich, da ein Webbrowser praktisch immer bereits installiert und verfügbar ist.
Mit der automatischen Lizenzverwaltung von Clouddiensten müssen Sie die tatsächliche Nutzung nicht nachverfolgen.
Es gibt volle Kostenkontrolle—Sie zahlen in der Regel für eine genaue Anzahl an Benutzern (oder es wird auf Basis ähnlicher Ressourcen abgerechnet).
Die Kosten für Ein- und Ausstieg sind niedrig—oft können Sie schon in wenigen Minuten den Dienst nutzen und müssen sich nach Beendigung nicht um die Bereinigung der Infrastruktur kümmern.
Für weitere Informationen in dieser Richtung empfehle ich den folgenden Artikel: SaaS or not: bringing clarity to the confusion around Cloud software.
Die Herausforderungen von On-Premise
Mit dem klassischen On-Premise-Ansatz auf der anderen Seite haben IT-Abteilungen häufig Schwierigkeiten—gemeinsam mit Architekten und Entwicklern —die folgenden zentralen Fragen zu beantworten:
Wie viel Bandbreite brauchen wir im Moment und welche Last erwarten wir in der Zukunft?
Welches Hardware-Setup benötigen wir im Moment?
Wie skalieren wir die Infrastruktur (Hardware, Software und Netzwerk)?
Wie viel Speicherplatz benötigen wir heute, nächstes Jahr oder in 3 Jahren (z.B. für Backups)?
Was machen wir in Richtung Redundanz und Hochverfügbarkeit?
...und andere schwer vorherzusagende Fragen, für die man am besten wahrsagerische Qualitäten hätte.
Auf Geschäftsseite bestehen dagegen berechtigte Sorgen zu Kosten und anderen Themen:
Was tun wir, wenn wir die Infrastrukturbedürfnisse überschreiten / unterschätzen und eine falsche Dimensionierung zu finanziellen Einbußen oder schlechter Benutzererfahrung (schlechter Leistung) führt?
Was ist, wenn die Nachfrage nach einem Service plötzlich zunimmt und wir schnell skalieren müssen und die Nachfrage nicht erfüllen können?
Was ist, wenn ein unerwartetes Ereignis unseren Serverraum / Colocation-Punkt überflutet oder vergleichnbare Funktionsstörungen auftreten?
Was ist, wenn wir unser Support-Team an einen anderen Standort verlegen möchten?
Die ultimative Antwort auf die meisten dieser Fragen, die Ihre Kopfschmerzen lindern wird, lautet: Use the Cloud Luke ;-).
Die Antwort von Cloud-Anbietern
Anbieter wie Amazon (alias AWS Cloud), Microsoft (alias Azure Cloud) und Google (alias Google Cloud) sind in der Lage, Services und Ressourcen auf einem Qualitätsniveau bereitzustellen, das Sie ruhiger schlafen lässt—ohne die Qualitäts- und Kostenbefürchtungen eines On-Premise Setups. Die meisten der oben erwähnten Bedenken verschwinden nämlich einfach. Schauen wir uns einige Beispiele an:
Bandbreite
Die Erfüllung nahezu aller Bandbreitenanforderungen ist für Sie kein Thema mehr. Allen großen Anbietern steht eine unglaubliche Bandbreite (ein paar GBits, wenn nicht hunderte) zur Verfügung—mit automatischem DDoS-Schutz.
Hardware
Typischerweise gibt es eine große Anzahl verschiedener Arten virtueller Maschinen, die in Minuten statt Tagen oder Wochen zur Verfügung stehen (was in großen Unternehmensumgebungen häufig der Fall ist).
Skalierung
Viele Kerndienste werden automatisch skaliert und sind sofort einsatzbereit mit extrem geringem bis null Aufwand von Ihrer Seite. Das geht von Load Balancern über Webanwendungen (Azure) bis zu Lambda (AWS)—um nur einige zu nennen.
Redundanz und Hochverfügbarkeit
In der Regel erwarten Sie in jeder Region mehrere große Rechenzentren—verbunden mit Glasfaser-Netzwerken. Ihre typische On-Premise-Umgebung ist dem nicht gewachsen.
Support-Teams verschieben
Natürlich ist das kein Problem - erstellen Sie einfach neue Logins und sorgen Sie für eine gute Internetverbindung.
Was ist eine echte Cloud?
Lassen Sie mich nicht unerwähnt lassen, dass Sie wissen sollten, dass nicht alle Anbieter tatsächliche Cloud-Anbieter sind—unabhängig davon, was diese behaupten mögen. Aber was ist eine "echte" Cloud aus unserer Sicht:
Es gibt einen hohen Automatisierungsgrad (Sie müssen keinen zusätzlichen Speicherplatz anfordern oder Support-Tickets erstellen, um eine neue virtuelle Maschine zu erhalten).
Unbegrenzte Ressourcen (aus Kundensicht).
Die Redundanz ist hoch.
Infrastrukturelemente sind als Dienst verfügbar (z. B. Load Balancer, Netzwerkdienste, gemeinsam genutzter Speicherplatz).
Es gibt automatische Lizenzverwaltung und Kosten (Sie müssen keine Windows- oder OracleDB-Lizenzen kaufen, um nur zwei Beispiele zu nennen).
Bei sorgfältig geplanten Sicherungen und Wiederherstellungstests bedeutet das ungünstigste Szenario, etwa dem Ausfall einer gesamte Region (z.B. aus politischen Gründen), dass Sie Ihre Services innerhalb von Minuten (oder einige Stunden, wenn Sie einen sehr komplexen Dienst betreiben) in einer anderen Region wiederherstellen können. Vergleichen Sie das mit dem Bau eigener Serverräume in mehreren Ländern auf der ganzen Welt. Sie werden schnell erkennen, wie leistungsfähig und kostengünstig die Cloud-Option tatsächlich ist.
Cloud macht auch dort Sinn, wo sie keine Option ist
Bringt alles nichts? Sie haben Angst vor Datenverlust oder sind gesetzlich (z.B. als Finanzinstitut) an den Betrieb eigener Rechenzentren gebunden? Auch in diesem Szenario ist die Cloud eine sehr interessante Option! Sie können eine Cloud-Umgebung nutzen, um Szenarien vorzubereiten und Ihre Anwendung zu testen, um objektive Antworten auf Fragen wie "Welche Ressourcen benötige ich?" Oder "Skaliert meine Anwendung richtig und erwartungsgemäß?" Zu erhalten. So können Sie sich auf alles vorbereiten, was in Ihrer eigenen Umgebung passieren könnte. Dies ist immer noch günstiger und bequemer als ein zu hohes Investment in Hardware (basierend auf konservativen und nur schwer belegbaren Schätzungen) oder sie gehen natürlich das Risiko eine, dass Ihre Umgebung zu klein skaliert ist und ihren Zweck nicht erfüllt. Darüber hinaus können Sie die erwarteten Infrastrukturkosten auf Basis von Cloud-Tests vorab und genauer planen.
Fazit
Zusammenfassend kann gesagt werden, dass die Cloud eine sehr gute Option ist, um alle Arten von Anwendungen zu hosten:
Sicherheit, Skalierbarkeit und Hochverfügbarkeit sind sofort gegeben.
Keine Vorabkosten - fangen Sie klein an, zahlen Sie wenig und beobachten Sie, wie sich die Situation entwickelt.
Sie können praktisch sofort loslegen und später entscheiden, ob Sie (überhaupt) lieber auf ein On-Premise-Setup wechseln wollen (in diese Richtung auch sicherlich günstiger als im umgekehrten Fall).
Sie stehen nicht unter Druck, schwer zu beantwortende Fragen über eine unvorhersehbare Zukunft zu eruieren.
Und wenn Cloud-Hosting keine allgemeine Option ist, können Sie die Cloud immer noch als Umgebung zum Testen verwenden, um viele "On-Premise-Fragen" schneller und genauer beantworten zu können.