2021 steht im Zeichen vereinfachter Entwicklungsprozesse
Damit wieder Spaß und Produktivität in die Entwicklung Einzug halten, ist ein Software-Development-Lebenszyklus erforderlich, in dem die Software im Mittelpunkt steht und die Infrastruktur nicht zur Hauptbeschäftigung wird. Markus Eisele, Developer Adoption Program Lead EMEA bei Red Hat, sieht deshalb in der Vereinfachung von Entwicklungsprozessen einen zentralen IT-Trend für 2021. Ein Beitrag von Markus Eisele, EMEA developer adoption lead, Red Hat.
Vereinfachte Entwicklungsprozesse
2020 war in vielerlei Hinsicht ein besonderes Jahr. Zum einen war es gekennzeichnet von neuen Arbeitsmodellen und verteilten Teams. Zum anderen haben viele Unternehmen bedingt durch die äußeren Umstände Konsolidierungs- und Modernisierungsprojekte schneller als in der Vergangenheit vorangetrieben. Im Bereich der Entwicklung sind hierbei noch einmal sehr deutlich die Herausforderungen von Kubernetes-basierten Umgebungen aufgetreten. Projektteams mussten viel Zeit damit verbringen, die für ihre Zwecke geeigneten Plattformen zu evaluieren und in vorhandene Software-Entwicklungsprozesse einzubinden. Laut der CNCF (Cloud Native Computing Foundation) gibt es immer noch mehr als 90 zertifizierte Kubernetes-Angebote.
Weiterentwicklungen beim Operators Framework
Eines ist bei der Kubernetes-nativen Entwicklung bereits 2020 eklatant zutage getreten: Es ist nicht ausreichend, sich nur auf die Orchestrierung zu fokussieren. Vielmehr benötigt die Entwicklung von Container-basierten, verteilten Systemen einen umfassenden Ansatz, der nicht die Komplexität und Konfigurationsanforderungen erhöht, sondern Vereinfachungen für die Entwickler mit sich bringt. Und solche Ansätze sind klar auf dem Vormarsch. Dafür sprechen etwa die Weiterentwicklungen beim Operators Framework. Außerdem stehen den Entwicklern mit dem Kubernetes-Paketmanager Helm 3 und Ansible Werkzeuge zur Verfügung, mit denen sie auch komplexe Anwendungen und Infrastrukturen zuverlässig und qualitativ hochwertig zur Verfügung stellen können.
Die Vereinfachung von Entwicklungsprozessen wird auch 2021 ein beherrschendes Thema bleiben. Das Verbesserungspotenzial ist dabei noch immens. So werden Operators sich weiter auch anderen Programmiersprachen öffnen und Teil der Anwendungen werden. Und Entwicklungsumgebungen sind auf dem Weg, nicht nur als Source-Code-Helfer, sondern vielmehr als umfassende Arbeitsplätze zu fungieren. Damit erlauben sie einen nahtlosen Wechsel von Workspaces und bieten auch alle notwendigen Informationen über Infrastruktur-Komponenten wie Datenbanken und Message Broker hinweg. Besonders hervorzuheben ist in diesem Zusammenhang das Eclipse-CHE-Projekt. Die Kubernetes-native IDE ist in voll integrierter Version unter dem Namen Code Ready Workspaces auch in OpenShift enthalten.
Traditionelle Anwendungsserver und virtuelle Maschinen auf Kubernetes
Darüber hinaus ist ein weiterer Trend erkennbar, der sich ebenfalls bereits 2020 abgezeichnet hat: Nicht nur neue Cloud-native Anwendungen werden künftig auf Kubernetes-basierten Umgebungen bereitgestellt, sondern auch statusbehaftete, traditionelle Anwendungsserver oder sogar virtuelle Maschinen. Eine wichtige Grundvoraussetzung dafür ist eine belastbare Storage-Integration in Container. Erste CNCF-Projekte wie Rook.io sind diesbezüglich bereits entstanden. Außerdem steht etwa mit OpenShift Container Storage ein umfangreiches Angebot an Block- und Object-Storage für OpenShift Container zur Verfügung.
Natürlich bleiben virtuelle Maschinen eine besondere Herausforderung für statuslose Umgebungen. Mit dem Open-Source-Projekt KubeVirt wurde es aber schon 2020 möglich, bestehende Anwendungen, die nicht auf einfache Art und Weise migriert werden können, als Umsystem auf Kubernetes zu betreiben. Auch mit der Funktion OpenShift-Virtualisierung in Red Hat OpenShift ist es möglich, Anwendungen, die aus virtuellen Maschinen, Containern und Serverless-Komponenten bestehen, auf einer integrierten Plattform bereitzustellen und zu verwalten.
Je weiter sich die Möglichkeiten von Container-Plattformen entwickeln, auch virtualisierte Instanzen und Altanwendungen zu betreiben, desto stärker wird auch die generelle Harmonisierung von Infrastrukturen und Applikationslandschaften voranschreiten – und damit eine Reduzierung von zeit- und kostenintensiven Workflow- und Entwicklungssilos ermöglichen.
Nutzung vollständig integrierter Plattformen
Generell darf ein Aspekt auch im Bereich der Kubernetes-nativen Entwicklung nicht außer Acht gelassen werden: Neue Prozesse bringen nicht immer nur Vorteile mit sich. Sie können im Gegenteil sogar zusätzliche Herausforderungen verursachen, etwa wenn Entwickler mehr Zeit für die Konfiguration und Administration der Infrastruktur und Plattformumgebung aufwenden müssen als für die tatsächliche Softwareentwicklung. 2021 muss deshalb im Zeichen einer weiteren Vereinfachung von Entwicklungsprozessen stehen, und zwar mit einer deutlichen Verringerung der Komplexität im Aufbau und Betrieb von Container-Plattformen. Viele Projekte und Lösungen wie etwa CodeReady Workspaces gehen bereits in diese Richtung. Die Zukunft im Software Development heißt eindeutig: Nutzung von vollständig integrierten Plattformen und Lösungspaketen, die die erforderlichen Entwicklungsumgebungen schnell und effektiv bereitstellen.