Leitfaden für PaaS-Lösungen: 7 Fragen die Sie beantworten können sollten

In unserem heutigen Gastartikel gibt uns Rainer Stropek, Mitgründer von software architects, ein paar Einblicke, wie Sie PaaS-Lösungen bewerten können, um die beste für Ihr Produkt zu finden.

Wir arbeiten derzeit an einem SaaS-Projekt, in dem IoT (Internet of Things) eine wichtige Rolle spielt. Als ich meine Arbeit der letzten Wochen überprüfte, war ich überrascht, wie sehr sich meine Rolle als Softwarearchitekt verändert hat, seit wir zu Platform-as-a-Service (PaaS) gewechselt haben.

In diesem Artikel möchte ich Ihnen einen Leitfaden vorstellen, wie Sie andere PaaS-Dienste bewerten können.

Interessantes Thema? Teilen Sie diesen Artikel ❤️

Die Geschichte von Softwareentwicklung

Vor einigen Jahrzehnten bedeutete Softwareentwicklung für mich in erster Line, Algorithmen herauszufinden und diese zu optimieren.

Mit der Zeit wurden Class Libraries immer leistungsfähiger. Die Open-Source-Bewegung und das Netz brachten unzählige vorgefertigte Komponenten und Frameworks hervor.

Diese reduzierten den Bedarf, neue Algorithmen zu erfinden, auf die Bestandteile eines Softwareproduktes, die wirklich einzigartig sind. Für alles andere (UI-Komponenten, Cross-Cutting-Concerns) können Sie immer eine existierende gute Bibliothek finden.

Zumindest in meinem Arbeitsfeld wurde Softwarearchitektur immer wichtiger im Vergleich zum Entschlüsseln komplexer Algorithmen.

Heutzutage hat sich mein Job wieder verändert.

Bibliotheken und Frameworks zu finden ist immer noch wichtig, aber eine andere Frage ist zum bestimmenden Faktor geworden: Gibt es einen PaaS-Dienst für mein Problem?

Was bedeutet PaaS wirklich?

PaaS macht es möglich, uns auf den zentralen Mehrwert zu konzentrieren, den unsere Produkte liefern. Wir können mehr Zeit in die Dinge investieren, die sie zu etwas Besonderem machen, anstatt uns mit allgemeinen Themen zu beschäftigen.

Spezifisch bedeutet PaaS für uns, dass…

  • … wir keine Server aufstellen oder unterhalten müssen
  • … jemand anderes sicherstellt, dass die Dienste laufen
  • … wir SLAs bekommen (idealerweise finanziell abgesichert)
  • … jemand anderes sich um das Updaten der Dienste kümmert, ohne dass wir etwas machen müssen
  • … wir Kosten einsparen können, da der Dienstleister von Skalierungseffekten profitiert

Klingt super, oder? Was sind also die Nachteile der Nutzung von PaaS-Lösungen?

PaaS ist eine große Verpflichtung.

Falls der PaaS-Dienst untergeht, wird unser Dienst in der regel negativ davon betroffen werden. Im schlimmsten Fall kann dies Downtime für unsere User bedeuten.

Falls Sie einen Komponenten in Ihre Software integrieren und diese selbst betreiben, dann können Sie reagieren wenn etwas  passiert.

Mit PaaS-Lösungen müssen Sie darauf vertrauen, dass der Dienstleister das Problem schnell behebt. Daher ist es essentiell, dass Sie die Dienste sorgfältig bewerten, bevor Sie Ihr Geschäft auf diese aufbauen.

1. Wie finden Sie PaaS-Lösungen?

Die Cloud ist voll von tollen Diensten und es ist wirklich schwer, auf dem neuesten Stand zu bleiben. Meine wichtigsten Strategien hierzu:

  • Verbringen Sie Zeit damit, News-Seiten sowie Newsletter von großen PaaS-Anbietern zu lesen, tollen Bloggern zu folgen, etc.

BTW – Ich liebe feedly dafür.

2. Bietet die Lösung alles, was wir brauchen?

Sobald wir einen Dienst gefunden haben, müssen wir herausfinden ob er abdeckt, was wir benötigen. Obwohl dieser Punkt eindeutig und einfach erscheint, ist dieser in der Praxis oft recht schwierig.

  • Die Qualität der Dokumentation ist nicht immer perfekt (z.B. unvollständig, deckt nur die allgemeinen Userfälle ab oder ist veraltet). Sie müssen Zeit und Geld in die Entwicklung von Prototypen investieren, um die gebotene Funktionalität zu bewerten.
  • Falls einige Details fehlen, müssen Sie Roadmaps studieren oder sogar direkten Kontakt mit dem Dienstleister herstellen. Planen sie, die fehlenden Funktionen zu entwickeln? Haben sie bereits öffentlich versichert, dass sie sie liefern werden? Gibt es eine zuverlässige Zeitangabe?
  • Bietet der Dienst Mechanismen zur Erweiterung, damit wir die fehlenden Funktionen selbst hinzufügen können?
  • Können/sollten wir unsere Anforderungen anpassen, damit das PaaS-Angebot nutzbar wird? Ist der Vorteil, einen vorgefertigten Dienst zu nutzen, groß genug, um einen Trade-Off zu rechtfertigen?

Treffen Sie nie eine Entscheidung über die Nutzung eines PaaS-Angebotes basierend auf Marketingmaterial oder der Webseite. Sehen Sie sich die Dokumentation sehr genau an – oder noch besser – bestätigen Sie Ihre Vermutungen mit Prototypen.

Tipp: Viele PaaS-Anbieter diskutieren öffentlich Anfragen für neue Funktionen auf Plattformen wie Microsoft Azure Feedback, auf GitHub issues (z.B. Telerik Kendo UI) oder nutzen ein Feedback-Tool wie Usersnap. Nutzen Sie diese Kanäle und nehmen Sie dort an Diskussionen teil.

3. Können Sie der PaaS-Lösung vertrauen?

Ein PaaS-Angebot einer Drittpartei zu nutzen unterscheidet sich von der Nutzung eines externen Komponenten. Sie sind nicht nur auf die Fähigkeiten des Lieferanten, großartigen Code zu schreiben, angewiesen. Sie müssen sich auch darauf verlassen können, dass dieser einen sicheren und zuverlässigen Dienst anbietet. Hier sind die Indikatoren, die mein Vertrauen in Dienstanbieter beeinflussen:

  • Hat das Unternehmen eine erfolgreiche Bilanz beim Anbieten von PaaS-Lösungen?
  • Essen Sie ihr eigenes “Dogfood” (nutzen sie den Dienst für ihr eigenes Unternehmen, so wie Microsoft DocumentDB für Millionen von OneNote-Usern nutzt)?
  • Wie aktiv ist die Gemeinde um die Dienste des Anbieters (z.B. auf Twitter, Facebook, User-Gruppen, Blogs, etc.)?
  • Wie groß ist das Unternehmen und wie sieht die finanzielle Situation aus?
  • Kenne ich persönlich Leute denen ich vertraue, die dort arbeiten oder die den Dienst erfolgreich genutzt haben?
  • Kommuniziert der Anbieter öffentlich (z.B. Blogs, Teilnahme an Open-Source-Projekten, öffentliches Problemmanagement, öffentliche Feedback-Portale, White Paper mit Hintergrundinformationen, etc.)?
  • Hat der Anbieter externe Zertifikate (z.B. ISO)?
  • Macht es der Anbieter einfach, den Dienst zu nutzen (z.B. keine langfristigen Verpflichtungen im Vorfeld nötig, zu Anfang gratis oder beinahe gratis zu nutzen, etc.) und einfach, ihn zu beenden (z.B. Selbstbedienungs-Funktionen zum Datenexport)?

4. Wo wird der Dienst angeboten?

Location matters. Vor allem in Europa ist der Standort sogar noch wichtiger. Sie sollten sich die folgenden Fragen stellen.

  • Bietet der Anbieter den Dienst in europäischen Datenzentren an?
  • Kümmert sich der Anbieter zumindest um den europäischen Markt (veröffentlichen sie zum Beispiel Informationen über Konformität mit europäischem Datenschutz), oder konzentrieren sie sich nur auf andere Teile der Welt?
  • Bietet der Anbieter Dienste in denselben Datenzentren, in denen Sie sich befinden (z.B. können Sie bei mLab die öffentliche Cloud auswählen – Azure, AWS, Google – wollen Sie, dass diese eine MongoDB für Sie hosten?) Das könnte wichtig für Sicherheits- und Leistungsgründe sein.
  • Sind ihre Nutzungsbedingungen hinsichtlich des Ortes der Datensicherung, Datenverarbeitung, Support, etc. kompatibel mit denen des Anbieters?

Tipp: Dies ist nicht nur eine technische Angelegenheit. Sie müssen evtl. Ihre Anwälte zu diesem Punkt befragen.

5. Funktioniert das Preismodell von PaaS für Ihr Geschäft?

Ein nachhaltiges Geschäftsmodell für SaaS in der Cloud aufzubauen geht in erster Linie darum, die Kosten pro Abonnement abzuschätzen.

Schließlich müssen Sie mehr Geld pro Abonnement verdienen, als Sie es für Entwicklung, Betrieb und Verteilung Ihrer cloudbasierten SaaS-App ausgeben.

Bewerten sie den Preis des PaaS-Angebotes, das Sie in Erwägung ziehen, indem Sie prüfen, ob es mit Ihrem Preis- und Geschäftsmodell kompatibel ist.

Hier sind ein paar Fragen, die Sie sich stellen sollten:

  • Falls Ihre Kundenbasis wächst, steigt dann der Preis des Dienstes schneller als Ihr Umsatz?
  • Fressen die Kosten pro Abonnement zu viel von Ihrer Marge pro Abonnement auf?
  • Können Sie langfristige Festpreise bekommen (bedenken Sie auch Wechselkursrisiken), die kompatibel mit den Preiskonditionen sind, die Sie Ihren Kunden anbieten?

6. Ist die PaaS-Lösung auf Industriestandards aufgebaut?

Jedes PaaS-Angebot kommt mit einem bestimmten Effekt, der versucht, Sie an den Dienst zu binden.

Sie sollten sich fragen, wie einfach es wäre, sich von dem Dienst zu entfernen.

Verstehen sie mich nicht falsch: Ich sage nicht, dass Sie es vermeiden müssen, sich an einen Dienst zu binden. Falls der von Ihnen gewählte Dienst gut funktioniert, dann wird er für Ihr Geschäft von großem Vorteil sein.

Trotzdem ist es nie schlecht, auf das Unerwartete vorbereitet zu sein. Was, wenn der Anbieter des Dienstes sein Geschäft aufgibt? Global agierende Dienstleister in der Cloud werden wahrscheinlich nicht von einem Tag auf den anderen verschwinden. Aber große Unternehmen können trotzdem manchmal PaaS-Angebote unterbrechen, weil sie z.B. nicht genug Geld mit ihnen verdienen.

           Industriestandards können helfen. Sie machen es einfacher, zu wechseln.

Lassen Sie mich Ihnen ein Beispiel geben.

Azure Document DB kann als Datenspeicher für Apps genutzt werden, die für MongoDB geschrieben wurden. Falls dieser Dienst unterbrochen werden würde (Ich gehe definitiv nicht davon aus, dass dies in naher Zukunft passiert), dann könnten Sie zu einem anderen MongoDB PaaS Angebot wechseln.

7. Gibt es ein Bedürfnis für spezielle Vereinbarungen und SLAs?

Falls Sie Service Level Agreements (SLAs) mit Ihren Kunden unterzeichnen müssen, dann wollen Sie vielleicht auch SLAs von den PaaS-Angeboten, die Sie intern nutzen.

Genau wie bei dem Kostenthema ist es eine Frage der Kompatibilität. Werden Sie genug Kompensierung von einem Dienstleister bekommen, falls deren Ausfall Sie dazu bringt, dass Sie Ihren Kunden eine Strafgebühr für die Ausfallzeit zahlen müssen?

Finanziell abgesicherte SLAs von PaaS-Anbietern sind nicht nur eine Art von Absicherung. Sie haben auch andere Vorteile.

Hier ist ein Beispiel.

SLAs von zugrundeliegenden Cloud-Diensten sind toll für Ihre Marketingbroschüren. „Unser Dienst läuft auf Database-Clustern mit einem SLA von 99,95%“, dies klingt wahrscheinlich gut für Ihre Kunden.

Fazit.

Es gibt viele Vorteile davon, die richtige PaaS-Lösung für Sie und Ihr Geschäft auszuwählen. Die richtige zu finden und sicherzustellen, dass die gewählte Lösung alles bietet, was Sie für Ihr Geschäft brauchen, ist ein Schlüsselfaktor für Ihren langfristigen Erfolg.

Stimmen Sie meiner Checkliste zu? Haben Sie zusätzliche Bewertungskriterien? Ich würde sehr gerne Ihr Feedback in den Kommentaren hören.

Über den Autor:

Rainer Stropek ist Mitgründer und CEO der Firma software architects und füllt diese Rolle seit 2008 aus. Rainer und sein Team entwickeln die preisgekrönte SaaS-Zeiterfassungs-Lösung „time cockpit“. Zuvor gründete und leitete Rainer zwei IT-Beratungsunternehmen, die im Bereich der Entwicklung von Softwarelösungen, die auf dem Microsoft Technology Stack basieren.

Interessantes Thema? Teilen Sie diesen Artikel ❤️