2. August 2022 von Malte Michaelis
Aufbau und Betrieb einer Systemlandschaft in SaaS
Wie durch meinen Kollegen Dimitrios Archontakakis in seinem Blog-Beitrag angesprochen, beschreibe ich hier die technischen Grundlagen einer Software-as-a-Service(SaaS)-Lösung. Ich grenze die Begriffe SaaS und Cloud voneinander ab und gehe auf Gemeinsamkeiten und Unterschiede ein. Außerdem gehe ich auf typische Architekturen im SaaS-Umfeld ein.
Wichtiger Bestandteil bei der Planung von SaaS-Projekten ist das Festlegen des Abrechnungsmodells. Ich beschreibe, worauf man bei den Modellen achten muss und welche besonderen Herausforderungen SaaS mit sich bringt.
Unterschiede zwischen einer Systemlandschaft in der Cloud und in SaaS
SaaS ist eine Komponente der Cloud. Cloud Computing ermöglicht es, Softwareanwendungen auf externen Servern anzupassen und zu verwalten. Die Cloud wurde entwickelt, um Daten schneller und effektiver gemeinsam nutzen zu können. Der technologische Fortschritt hat dazu geführt, dass ganze Server und Speicher in der Cloud gehostet werden können. Dies wird durch Infrastructure as a Service (IaaS) abgedeckt.
Die Cloud bietet, wie im oben genannten Blog-Artikel meines Kollegen aufgezeigt, drei Servicemodelle. Eines davon ist SaaS. Die Cloud umfasst dabei zusätzlich Themen wie Infrastruktur und Hardware, während SaaS sich spezifisch auf die Verfügbarkeit der gehosteten Software konzentriert. Bei SaaS wird die Software nicht nur über das Internet bereitgestellt, sondern ist sofort einsatzbereit. Eine SaaS-basierte Anwendung ist im Großen und Ganzen jede Software, die nicht in eigenen Räumlichkeiten betrieben wird. Mit wenigen Ausnahmen bedeutet dies, dass die meisten SaaS-basierten Produkte über einen Webbrowser oder Ähnliches ausgeführt und in der Cloud gehostet werden.
In seinem Blog-Artikel zu den SOLID-Prinzipien hat mein Kollege Harun Sevinc über das Thema „Single-Responsibility-Principle“ geschrieben. Dieses Prinzip besagt, dass die Dinge, die sich aus ähnlichen Gründen ändern, zusammengehören und die Dinge, die sich aus unterschiedlichen Gründen verändern, voneinander getrennt werden sollen. Das Prinzip wird auch häufig im SaaS-Umfeld verwendet.
Die meisten modernen SaaS-Architekturen basieren auf Microservices. Microservices sind kleine Programme, die einen einzelnen Dienst erweisen und nur wenige Abhängigkeiten von anderen Services haben. Das wird als „Loose Coupling“ bezeichnet. Jeder Service kann dabei separat entwickelt, ausgerollt und gewartet werden.
Da die einzelnen Services klein sind, können sie von Anfang an von einem oder mehreren kleinen Teams entwickelt werden. Diese Teams sind durch die Grenzen der Services voneinander getrennt. Dadurch ist es einfacher, Entwicklungsaufwand bei Bedarf zu erhöhen. Nach der Entwicklung können diese Dienste auch unabhängig voneinander bereitgestellt und/oder „deployed“ werden. Beliebte Services mit einer hohen Last sind somit einfach zu identifizieren und können unabhängig von der gesamten Anwendung skaliert werden.
Microservices bieten auch einen besseren Schutz gegenüber Fehlern. Durch die Isolation der Services fällt im Falle eines Problems in einem (oder wenigen) Service(s) nicht unbedingt die gesamte Anwendung aus. Wenn der Fehler behoben ist, kann die Änderung nur für den betreffenden Service „deployed“ werden, anstatt eine ganze Anwendung neu ausrollen zu müssen.
Bevor Unternehmen sich dafür entscheiden, SaaS in ihr Portfolio von IT-Diensten aufzunehmen, müssen auch die Auswirkungen auf das Risikomanagement bedacht werden. Integration und Komposition sind wichtige Teile einer Architektur-Strategie, um SaaS in eine servicezentrierte IT-Infrastruktur zu integrieren.
Abrechnungsmodelle
SaaS stellt bereits entwickelte Software häufig im Rahmen eines Monats- oder Jahresabonnements zur Verfügung, ohne dass eine Verantwortung für die Wartung der Software besteht. Das richtige Gleichgewicht zwischen Nutzen und Umsatz zu finden, also die Fähigkeit, Kundinnen und Kunden zu helfen und dafür fair entlohnt zu werden, entscheidet oft über den Erfolg eines SaaS-Unternehmens.
Daher gibt es sehr viele verschiedene Modelle, die Abrechnungen erleichtern sollen. Ich stelle hier drei typische Modelle kurz vor:
- Pauschalpreise sind wahrscheinlich die einfachste Art, eine SaaS-Lösung zu verkaufen: Ein einziges Produkt, ein einziger Satz von Features und ein einziger Preis werden angeboten.
- Die meisten Unternehmen verwenden ein gestaffeltes Preismodell. Im Kern ermöglicht die Preisstaffelung den Unternehmen, mehrere „Pakete“ mit verschiedenen Kombinationen von Funktionen zu unterschiedlichen Preisen anzubieten.
- Dank prominenter Erfolgsgeschichten setzen viele SaaS-Unternehmen auf Freemium-Preise: Sie bieten ein kostenloses Produkt an, das durch zusätzliche kostenpflichtige Pakete ergänzt wird.
Es existieren auch andere Modelle, diese sind allerdings oft spezieller. Beispielsweise wird nutzungsabhängige Preisgestaltung eher in anderen Cloud-Bereichen, speziell in IaaS, verwendet.
SaaS kann den Return of Investment (ROI) insgesamt erhöhen, da die Kosten für die Bereitstellung und Wartung von SaaS-basierten Anwendungen oft niedriger sind. Die Kosteneffizienz von SaaS ist nach wie vor einer ihrer größten Vorteile, da sie die Total Cost of Ownership (TCO) senkt und die Margen für B2B- und B2C-Unternehmen erhöht.
SaaS richtig einsetzen
SaaS erhöht häufig die Gesamtrendite, da keine Wartung und keine Aktualisierung durch die Userin oder den User erforderlich ist. Dank seiner Kosteneffizienz ist es zu einem unverzichtbaren Instrument für Vertrieb, Kommunikation, Kundenbeziehungen und Projektmanagement geworden. Darüber hinaus bietet die Entscheidung für SaaS eine Reihe weiterer Vorteile. SaaS-Anbieter garantieren, dass immer die aktuelle Version verwendet wird. In dem Maße, wie SaaS weiterwächst und sich verbessert, wachsen auch die Vorteile für die Verbraucherin und den Verbraucher.
In einem weiteren Blog-Beitrag werde ich auf die besonderen Betriebsmodelle (darunter auch Spot-Instanzen vs. Dauer-Instanzen) und Release-Modelle (insbesondere kurze Zyklen je Service, welche die Time-to-Market stark senken können) eingehen. Zusätzlich wird Skalierung als ein wichtiger Bestandteil beleuchtet.
Weitere spannende Themen aus der adesso-Welt findet ihr in unseren bisher erschienen Blog-Beiträgen. Übrigen: Auf unser Website erfahrt ihr alles über unserer Portfolio sowie über unsere Leistungen für die Versicherungsbranche.