Over 10 years we help companies reach their financial and branding goals. Engitech is a values-driven technology agency dedicated.

Gallery

Contacts

411 University St, Seattle, USA

engitech@oceanthemes.net

+1 -800-456-478-23

#EasiRun #cloud

Mehr als nur eine Wolke

Cloud, Micro – Service, Auflösung eines Anwendungs – Monolith, Container, DevOps, CI/CD – Es existieren viele Schlagwörter, die in Verbindung mit einer Cloud Strategie genannt werden. Die Erstellung neuer Anwendungen unter Berücksichtigung dieser Bausteine, sowie der dafür relevanten Softwarearchitektur ist Standard. Die Überführung langjährig gewachsener monolithischer Anwendungen in solche Zielarchitekturen hingegen gehört mit zu den komplexesten Herausforderungen für Unternehmen. EasiRun begleitet Sie auf Ihrem Weg – profitieren Sie von unseren langjährigen Erfahrungen.

Vorteile:

Der Weg in die Cloud ist ein umfassender Modernisierungsschritt, egal Containern oder Micro Services zur Auflösung von monolithischen Anwendungsstrukturen.
Release-Zyklen Geld- und Zeitersparnis durch verkürzte Release-Zyklen.
Zukunftsperspektive Docken Sie neue Funktionen einfach als Service an.
Skalierbarkeit Container lassen sich innerhalb Cloud-Infrastruktur problemlos vervielfältigen.
Ausfallsicherheit Einfache Überwachung und schneller Redeploy.

Marktsituation - Cloud Readiness

Es wird von Unternehmen erwartet, möglichst schnell auf Veränderungen reagieren zu können. Veränderungen müssen in möglichst kurzen Abständen in Programme einfließen. Entsprechend kurz müssen daher die Release-Zyklen sein. Es ist zu erwarten, dass im Zuge der Digitalisierung die Auslastung stark steigen wirdMan kann davon ausgehen, dass bei der Mehrheit der Anwendungen, die für Verbraucher online erreichbar sind, die Zahl der Nutzer ansteigen wird. Eine nutzenorientierte Anwendung muss leicht skalierbar sein.

Im Vergleich zu Start-ups spüren Unternehmen, deren Firmengeschichte bereits mehrere Jahrzehnte zurückreicht, deutlich stärker den Druck, diesen Anforderungen gerecht zu werden.  Während Start-ups oftmals eine Anwendung neu erstellen und somit frei bzgl. ihrer Architektur- und Designentscheidungen sind, wurden bei etablierten Unternehmen die Anwendungen vor langer Zeit geschrieben.

Häufig laufen solche Anwendungen in kritischen Bereichen, die für das Geschäftsmodell des Unternehmens existenziell sind. Eine erhöhte Anforderung an die Ausfallsicherheit der Anwendung besteht. Es ist daher unabdingbar, dass eine Umstellung die Ausfallsicherheit nachhaltig steigert. 

Herausforderungen - Cloud Readiness

Die Umstellung von einer in Legacy-Sprache geschriebenen, monolithischen Anwendung auf eine serviceorientierte Architektur, welche sich innerhalb einer containerisierten Infrastruktur innerhalb der Cloud befindet, setzt eine umfassende Migration der Altanwendung voraus. Der Migrationsprozess besteht aus unterschiedlichen Schritten z.B. Analyse der Anwendung, Rehosting, Architekturumstellung, Codetransformation, Kommunikationsfähigkeit, Aufbau der Cloud Infrastruktur und ggf. einem Wechsel der verwenden Programmiersprache. Je nach Analyse bzw. Wunsch des Kunden kann auch nur eine sinnvoll ausgewählte Teilmenge der oben ausgeführten Punkte umgesetzt werden. Es muss nach passenden Konzepten gesucht werden, um den Kundennutzen zu optimieren.

Lösung und Methodik

In Anbetracht dieser Punkte ist es evident, dass eine Anpassung an die modernen Erfordernisse nur mit einer radikalen Veränderung sowohl hinsichtlich der Architektur der Anwendung als auch hinsichtlich der zugrunde liegenden Infrastruktur verbunden sein muss. Eine konkrete Lösungsstrategie besteht in der Migration der Anwendung auf die Cloud in Verbindung mit einer Aufteilung der aus einem Codeblock bestehenden monolithischen Architektur der Anwendung auf mehrere (Micro-) Services. Jeder (Micro-) Service repräsentiert dabei eine Domäne oder einen Workflow der Anwendung und ist so angelegt, dass er möglichst unabhängig von allen anderen (Micro-) Services funktioniert. Auf diese Weise werden folgende Vorteile erzielt:      

    • Release-Zyklen: Durch die relative Unabhängigkeit der (Micro-) Services kann die Entwicklung parallel erfolgen und Flaschenhälse im Entwicklungsprozess vermieden werden. Dies führt zu einer erheblichen Verkürzung der Release-Zyklen.
    • Erweiterbarkeit: Ein weiterer Nutzen, der aus der Unabhängigkeit der (Micro-) Services gezogen werden kann, besteht in der leichteren Erweiterbarkeit der Anwendung. Bei der Implementierung einer neuen Funktionalität kann die Anwendung leicht um die entsprechenden (Micro-) Services erweitert werden. Ebenso müssen bei Änderung einer bestehenden Funktionalität nur wenige (Micro-) Services angepasst werden. Auch der Umfang der abschließenden Tests reduziert sich entsprechend.
    • Ausfallsicherheit: Die Umstellung sorgt auf zweifache Weise dafür, dass die Ausfallsicherheit erhöht wird. Zum einen ist der Ausfall eines (Micro-) Services für die gesamte Anwendung weniger schwerwiegend, als dies für einen Monolithen der Fall ist. Zum anderen können (Micro-) Services in der Cloud überwacht und bei einem Ausfall automatisch neu deployed werden.
    • Skalierbarkeit: Typischerweise läuft jeder (Micro-) Service in der Cloud in einem eigenen Container. Diese lassen sich nahezu problemlos vervielfältigen, wenn die Gegebenheiten es verlangen, so dass ein hohes Maß an Elastizität und Skalierbarkeit erreicht wird. Programme, die bei Bedarf automatisiert Container mit (Micro-) Services deployen, sind ein Teil der Cloud-Infrastruktur.

Selbst wenn man sich dazu entscheidet, nicht alle dieser Punkte für sich nutzen zu wollen, so ist bereits das Erreichen von ein oder zwei der oben genannten Ziele lohnend genug, um eine Umstellung auf Cloud in Angriff zu nehmen. 

Warum EasiRun

EasiRun unterstützt seine Kunden bei der Modernisierung ihrer Anwendungen in Richtung Cloud. Dies schließt sowohl die Beratung etwa zu dem zu verwendenden Cloud-Modell als auch die konkrete Umsetzung wie z.B. die Implementierung von Netzwerkschnittstellen oder das Rehosting der Anwendung ein. Beispielhaft seien hier einige Punkte aufgeführt, wie EasiRun mit seiner aus bisherigen Projekten gewonnenen Expertise zu einem Gelingen der Cloud Transformantion beitragen kann.   

    • Cloud-Strategie: Ausgehend von einer ersten Analyse der Anwendung erarbeiten wir gemeinsam mit Ihnen eine Strategie, wie Ihre Anwendung “cloud-ready” gemacht werden kann.
    • Code-Analyse: Unser Portfolio umfasst sowohl selbstentwickelte Tools als auch Tools von Partnerunternehmen aus einem weltweiten Netzwerk, mit deren Hilfe eine Codeanalyse (statisch, dynamisch, Codesicherheit & Codequalität) durchgeführt werden kann. Diese bildet die Grundlage für alle Entscheidungen, die bei der Überführung Ihrer Architektur in die Cloud anstehen. Insbesondere die dynamische Analyse bietet wertvolle Unterstützung bei der Identifizierung von Servicekandidaten für eine (Micro-) Service-Architektur.
    • Modernisierungslösungen: Wir bieten Ihnen eine Reihe von Lösungen für die automatisierte Transformation von Legacy-Code in eine moderne Programmiersprache wie z.B. die Transformation von COBOL oder PL/I nach Java. Darüber hinaus verfügen wir über weitere Technologien für die Modernisierung des Mainframe-Umfeldes wie z.B. die Überführung von Job Control Language (JCL) nach Bash oder Python. Ebenso stehen automatisierte Transformationslösungen für die Umstellung von VSAM/ISAM-basierter Datenhaltung in COBOL auf relationale Datenbanken zur Verfügung.     
    • Testing: Um die Qualität Ihrer migrierten Anwendung sicherstellen zu können, empfiehlt es sich bestimmte Schritte durch eine Reihe von Tests abzuschließen. Nur so kann garantiert werden, dass etwa die Netzwerkkommunikation funktioniert und die ursprüngliche Funktionalität der Anwendung durch die Umstellung nicht beschädigt wurde. Wir unterstützen Sie bei der Durchführung der Tests, wobei dieser Prozess durch von uns selbst entwickelte Programme erleichtert wird. Mit deren Hilfe kann das Laufzeitverhalten des ursprünglichen Programms mit dem Laufzeitverhalten des transformierten Programms verglichen werden. Auf diese Weise lassen sich Unterschiede leicht feststellen und bereinigen.
    • Sicherheit: Speziell die Umstellung auf Public Cloud macht durch die öffentliche Erreichbarkeit der Anwendung ein erhöhtes Maß an Sicherheit notwendig. Hierfür bieten wir Ihnen nützliche Lösungen, die automatisch Sicherheitslücken im Code erkennen und Prognosen abgeben, wieviel Zeit benötigt wird, um diese zu schließen.
    • Cloud-Infrastruktur: Unsere EasiRun-Spezialisten helfen Ihnen die Anwendung so umzustellen, dass jeder (Micro-) Service in seinem eigenen Container läuft. Da für die Orchestrierung der Container auf eine Vielzahl von Tools wie z.B. Docker Swarm oder Kubernetes zurückgegriffen werden kann, schließt dieser Punkt neben der Umsetzung auch die Beratung bzgl. der zu verwendenden Software mit ein.
    • „Partial Cloud“: Eine Schwierigkeit bei der Umsetzung der „Partial Cloud“-Strategie besteht darin, die Kommunikation zwischen der Anwendung in der Cloud und der auf dem Mainframe verbliebenen Anwendung sicherzustellen.  Unser Portfolio bietet Ihnen zu diesem Zweck Tools, die eine Zusammenführung von Daten aus beiden Bereichen ermöglichen.
    • Projektmanagementsystem: Unser differenziertes Projektmanagementsystem stellt sicher, dass Ihr individuelles Projekt „Cloud-Ready“ transparent abläuft und vereinbarte Meilensteine in Ihrem Sinne frist- und kostengerecht umgesetzt werden.