Softwareentwicklung findet oft noch lokal auf den Rechnern der Entwickler statt. Zugleich soll Produktivität und Qualität von Softwarelösungen gesteigert werden. Durch die Nutzung von Platform-as-a-Service (PaaS) kann der Entwicklungsprozess im Unternehmen optimiert werden und Entwickler konzentrieren sich auf das Wesentliche – die Entwicklung!
Probleme vieler Softwareunternehmen:
Bestehende Software wird über Jahre weiterentwickelt, wird daher immer wie umfangreicher und endet oft als Monolith. Je grösser und komplexer eine Applikation wird, desto schwerer ist die Wartung und Weiterentwicklung. Microservices sind modern, aber die Ressourcen für Refactoring sind oft im Unternehmen gar nicht vorhanden. Viele Entwickler arbeiten immer noch mit der eigenen, lokalen Entwicklungsumgebung. Doch wie bleiben wir innovativ und steigern die Entwicklerproduktivität?
Transformation und Migration in die Cloud muss nun angegangen und angenommen werden.
Oft stellt man sich als Unternehmen Fragen wie «Müssen wir umdenken?», «Müssen wir Applikationen umbauen?», «Haben wir genug Ressourcen?» und «Rechnet sich das?».
Anwendungen als PaaS zu betreiben, unterstützt uns dabei, diese Fragen zu beantworten, Innovation schnell und kostenoptimiert voranzutreiben und die Produktivität in der Entwicklung zu steigern.
PaaS kurz erklärt:
PaaS ist ein cloudbasierter Dienst. Im Vergleich zu IaaS bietet PaaS nicht nur die Hardware, sondern Anbieter konzentrieren sich auch auf die Bereitstellung von Entwicklungsumgebung und Tools für die Anwendungsentwicklung. PaaS kann daher für Softwareunternehmen sehr sinnvoll sein.
PaaS für Softwareentwickler:
Software kann entworfen, getestet oder überarbeitet und vor allem schnell seinen Nutzern bereitgestellt werden. Bei PaaS können sich Entwickler komplett auf die Applikation konzentrieren. Entwickler erhalten alle nötigen Tools und Ressourcen zur Entwicklung und verfügen somit über eine vollumfängliche Entwicklungs- und Laufzeitumgebung. Als Entwickler muss man sich also nicht um Wartung und Betrieb kümmern, da die gesamte Infrastruktur beim Anbieter läuft. PaaS ist also speziell für Softwareentwickler geeignet, Infrastrukturkomponenten wie Server, Betriebssysteme oder Speicherplatz übernimmt der Anbieter.
Vorteile von PaaS:
- Softwareentwickler kümmern sich nur noch um ihre eigene Applikation
- Entwicklung geht schneller voran, weil keine eigene Anschaffung und Verwaltung von Infrastruktur nötig ist
- Leistung von PaaS ist skalierbar, Kapazitäten können erweitert oder verringert werden
- Kosten bzw. Anschaffungskosten können gespart werden (z. B. für neue Software-Lizenzen)
Nachteile von PaaS:
- Entwickler haben keinen Einfluss auf die Konfiguration der PaaS und können keine eigenen Features implementieren
- Ausfall der Entwicklungsumgebung kann Kosten verursachen
- Programmiersprache und Tools kann je nach Anbieter reduziert sein
- Eine Portierung von Code bei grösseren, bestehenden Anwendung kann Entwicklungsaufwand bedeuten
Anbieter von PaaS-Diensten:
Schlusswort:
Mit PaaS lässt sich die Produktivität in der Entwicklung durchaus steigern. Unternehmen können ihre wertvollen Ressourcen vollständig auf ihre Projekte konzentrieren. Entwickler können schneller arbeiten und auf eine geteilte Entwicklungsumgebung zurückgreifen, somit lassen sich auch Kosten sparen. Entwicklerteams arbeiten unabhängig und Daten werden zur Echtzeit synchronisiert. Als Softwareunternehmen sollte man nun Umdenken und den Schritt in Richtung Cloud wagen. Gewonnene Ressourcen durch den Einsatz von PaaS können durchaus für Refactoring bestehender Anwendungen genutzt werden und man macht nicht nur einen Schritt in Richtung Cloud, sondern modernisiert auch gleich Entwicklungsprozesse und Softwarearchitekturen.
Containerisierung ein weiteres Thema:
Der Gebrauch von Container-Technologie in Zusammenhang mit PaaS kann durchaus eine Überlegung wert sein, dazu hat sich mit Docker ein Standard etabliert und mit DockerHub gibt es bereits auch schon ein Repository für fixfertige Container-Images.