Third Platform: Applikationen der dritten Generation

Die Unternehmens-IT steht momentan vor dem grössten Wandel der letzten Jahrzehnte. Die wachsende Mobilität der Endbenutzer, die Konkurrenz mit Cloud Service Anbietern sowie die steigende Nutzung von Big Data stellen IT-Unternehmen vor immense Herausforderungen. Kurz: es ist an der Zeit, den Status quo zu hinterfragen.

Die heutige Unternehmens-IT konzentriert sich hauptsächlich auf den Betrieb von großen und komplexen Applikationen, welche meist auf dem Client-Server-Prinzip oder sogar noch der Mainframe Architektur basieren. Diese Applikationen wurden üblicherweise für eine beschränkte Anzahl User (max. ein paar Tausend) gebaut, haben langwierige Entwicklungszyklen und Upgrades sind, vor allem im Fall von kundenspezifischen Anpassungen höchst zeitaufwendig.

Andererseits gewöhnen sich die User immer mehr an die Service Levels und schnellen Entwicklungszyklen der Apps, die sie im Privatleben einsetzen (bspw. aus den App-Stores von Apple, Google oder Microsoft). Dieser Umstand führt sowohl bei der IT wie auch bei den Usern zu Frustrationen. Hinzu kommt der wachsende Druck auf die IT-Abteilungen von Cloud Service Anbietern aus ihren Kernkompetenzen, wie E-Mail, File und Collaboration Services, verdrängt zu werden. Damit die Unternehmens-IT die Lücke zwischen den bestehenden Mainframe und Client-Server Applikationen (oft auch als Plattform der ersten bzw. zweiten Generation bezeichnet) und die aktuellen Erwartungen erfüllen kann, ist ein Paradigmenwechsel notwendig. Eine neue Generation von Applikationen basierend auf agilen Grundsätzen, gebaut um zu skalieren und lauffähig auf einer flexiblen, hochautomatisierten Third Platform – das ist die Erwartungshaltung.

In der Softwareentwicklung sind die Anforderungen nie dieselben. Es besteht der Bedarf nach einer Lösung, welche den Kunden Individualität für das gesamte Application Lifecycle Management garantiert – von der Businessanalyse, dem transparenten und agilen Projektprozess bis hin zum umfassenden Service. Um diesen Bedürfnissen gerecht zu werden, wurde ein komplettes Lösungspaket entwickelt, welches sowohl die Methoden, die Toolchain, wie auch die Technologie für sogenannte 3rd Generation Applications anbietet (bspw. mimacom pathTM). Unternehmen, welche agil vorgehen, sind jeweils in der Lage schnell auf veränderte Situationen einzugehen, den Prozess somit schlank zu halten und individuelle Anforderungen rasch zu implementieren sowie entsprechend anzupassen. Da diese Methode die Transparenz, Effizienz, wie auch Flexibilität von Organisationsprozessen optimiert, ist eine Toolchain notwendig, um die Software Engineering Prozesse zu unterstützen und zu automatisieren. Dies kann kontrollierte Code-Reviews, automatisierten Bau, Release und Testing, kontinuierliche Deployments oder Auslieferungen beinhalten.

Dieser Mechanismus stellt keine Neuheit für die Unternehmens-IT dar. Das Deployment dieser Infrastruktur auf die Cloud ermöglicht eine hohe Flexibilität und reduziert gleichzeitig die Komplexität und den Aufwand für die IT-Abteilungen. Diese Vorgehensweise ermöglicht den IT Unternehmen sich mehr auf die Applikationsentwicklung und Business-Logic zu konzentrieren, anstatt unnötig Zeit mit Software Engineering Topics zu verschwenden. Neben der Methode und der Toolchain, ist auch die Wahl der Technologie entscheidend für effizientes Software Engineering. Open Source Technologien bringen gegenüber kommerzieller Software erhebliche Vorteile mit sich, besonders bei agilen Vorgehensweisen. Fortlaufende Entwicklung, einfache Integration und die Möglichkeit, das Produkt individuell anzupassen, sind charakteristisch für Open Source Lösungen. Ein moderner und vielseitiger Application Stack, basierend auf offenen Standards, sowie Technologien, welche konstant weiterentwickelt werden, und kompetente, Community-Nahe Partner sind nur einige der Vorteile, welche die Nutzung von Open Source mit sich bringt. Zu guter Letzt haben Sie zudem Zugang zu Experten, welche direkt an der Entwicklung dieser Technologien beteiligt sind und ihr Know-How somit unmittelbar in die Praxis umsetzen können.

Um die Vorteile von Applikationen, die gemäß diesen Prinzipien gebaut wurden, vollumfänglich zu nutzen, ist eine Plattform notwendig, die dieselbe Skalierbarkeit und Flexibilität bereitstellt und den Entwicklern sämtlich nötige Applikationsservices zur Verfügung stellt. Gleichzeitig muss ein bestimmtes Niveau an Standardisierung, die effizienten Betrieb und Wartung sicherstellt, angeboten werden.

Heutzutage müssen Entwickler ihre Applikationsumgebung meistens selber bauen, da die IT-Abteilungen die nötigen Ressourcen nicht im geforderten Zeitrahmen bereitstellen können. Dieser Umstand nimmt nicht nur unnötig Zeit in Anspruch, sondern lässt diese Umgebungen außerhalb des Einflussbereiches der Unternehmens-IT, etwa auf Desktop-Servern oder öffentlichen Cloud Services wie bspw. AWS. Weitere Probleme ergeben sich, sobald diese Applikationen schließlich produktiv gesetzt werden, da sie für die Umgebung der Unternehmens-IT angepasst werden müssen.

Um diesen Problemen entgegen zu wirken, wurden Open PaaS Solutions entwickelt (bspw. Redhat Openshift und Pivotal Cloud Foundry), welche den Unternehmen erlauben, interne PaaS zu bauen, um so ihren Entwicklern vordefinierte und teils anpassbare Umgebungen zur Verfügung zu stellen. Diese PaaS enthalten dementsprechende Middleware und Services (bspw. Data- oder Messaging-Services), welche für das Deployment und den Betrieb von Applikationen notwendig sind. Die PaaS Solutions können jeweils flexibel zwischen den Ressourcenpools für die Entwicklung, Qualitätssicherung und Produktion bewegt werden – je nach aktueller Entwicklungsphase.

Daraus resultieren für beide Seiten klare Vorteile. Die IT-Infrastruktur kann die Entwicklungsumgebungen besser steuern, wodurch nicht nur die Kostenkontrolle und die Planung der Infrastruktur sowie des Betriebes vereinfacht werden, sondern auch die Sicherheit und Verfügbarkeit eine Verbesserung erfahren. Andererseits werden die Entwickler von der Aufgabe befreit, Entwicklungsumgebungen selbst zu bauen und zu pflegen, und erhalten somit mehr Zeit, sich auf das Wesentliche zu konzentrieren – den Bau von innovativen Applikationen, die den Unternehmen Wettbewerbsvorteile garantieren und den Usern neue und bessere Services anbieten.

Leave a Reply

Your email address will not be published. Required fields are marked *