Swiss Developer Survey
19.02.2021, 08:00 Uhr
Software-Trends: Mit dem Container durch die Schweiz
Glaubt man den Marketingchören setzen Schweizer IT-Firmen fast alle auf Blockchain und KI. Redet man aber mit den Entwicklern, wird schnell klar, dass an der Kundenfront andere Technologien zentral sind – etwa Container.
Die Spitze des Freitag Towers in Zürich – das Bauwerk besteht aus insgesamt 17 gebrauchten Überseecontainern und befindet sich in der Nähe des Bahnhofs Hardbrücke
(Quelle: Claudio Schwarz / Unsplash)
Nicht nur Applikationen entwickeln sich schnell. Das Gleiche gilt auch für Werkzeuge wie Programmiersprachen, Frameworks, Plattformen oder Datenbanken, die verwendet werden, um neue Anwendungen zu bauen. Für Entwicklerinnen und Entwickler geht es dabei um mehr als «nur» um Arbeitswerkzeuge. Technologie ist emotional und insofern unmittelbar mitverantwortlich für Arbeitsfreude und Arbeitgeberwahl.
Hier kommt der swiss developer survey ins Spiel: Mit 1030 Teilnehmern (+6,5 %) gelang es swiss made software, auch 2020 zahlreiche Entwickler zur Teilnahme an der Umfrage zu bewegen. Die Coder und Entwicklerinnen gaben tiefe Einblicke in ihren Arbeitsalltag. Aufgrund der Fülle an Informationen geben wir nur einige Einblicke wieder und setzen einen Fokus auf das Trendthema Containerisierung.
Schweizer Tech-Trends
Fahren wir die Kamera zurück und suchen nach einigen zentralen Einsichten, fallen folgende Beobachtungen ins Auge: Die Datenbank PostgreSQL ist das unerwartete Umfrage-Highlight in allen Bereichen. Viele Entwicklerinnen geben an, sie im Unternehmen einführen zu wollen (Rang 1) und sie persönlich gern neu nutzen zu wollen (ebenfalls Rang 1). Gleichzeitig gefällt die Datenbank vielen Nutzern sehr (Rang 2). Man könnte auch sagen, dass eine der ältesten Datenbanken gerade stark im Aufwind ist.
Weiter ist das Web als Frontend immer mehr gesetzt: In den Top 30 der Frameworks findet sich praktisch keine Technologie mehr mit Fokus auf Desktop-Client-Lösungen und alle Trends verschieben sich hin zu Web-Frontends. In Zukunft wird der Begriff Software-Lösung oder Applikation primär mit Web-Applikation gleichgesetzt, wenn das nicht bereits heute der Fall ist. Wird dagegen für den Desktop entwickelt, muss verständnishalber immer öfter von Desktop-Applikationen gesprochen werden.
Bei den Werkzeugen dominieren JetBrains-Technologien (Rang 1), gefolgt von Visual Studio Code (Rang 2) und, fast schon humorvoll, direkt dahinter Notepad++. Darauf folgt lange nichts, bis andere Editoren oder IDEs genannt werden.
Hypes lassen Entwickler kalt
Das Thema Hype-Technologien wird bei den Entwicklerinnen und Entwicklern augenscheinlich ruhiger und distanzierter behandelt als in vielen Medien. Ein nennenswerter Neuzugang ist das IoT, während Edge Computing weit abgeschlagen ist. Ein Grossteil der Programmierenden ist weiterhin skeptisch beim Thema Blockchain – sie sehen sie weder jetzt noch in fünf Jahren als allzu wichtig für ihre Arbeit an. Klar an der Spitze steht dafür weiterhin Machine Learning, wenn auch mit Abstrichen.
Zu kämpfen haben klar Firmen wie SAP, Oracle oder IBM, die auf stark proprietäre Modelle setzen. Lösungen aus diesen Häusern kommen in praktisch allen Abschnitten der Umfrage nicht gut weg. Dass das nicht sein muss, beweist Microsoft: Trotz vieler Skeptiker unter den Studienteilnehmern gibt es praktisch genauso viele Anhänger. Dies wohl auch, weil Microsoft verstanden hat, dass Open Source und Flexibilität absolut zentral sind und das Geschäftsmodell nicht mehr über CD-Verkauf mit strengen Richtlinien, sondern über kontinuierlichen Service läuft. Mit diesem Ansatz kann man kommerziell sogar wesentlich erfolgreicher sein, wenn man die zugehörige technische Basis öffnet.
Containerisierung auf dem Vormarsch
Docker ist die Lösung, die dem Container-Gedanken zum Durchbruch verholfen hat und auch in unserem Survey vorne mitmischt. Dabei ist das Konzept von isolierten Prozessen noch aus dem letzten Jahrtausend und auch die Basisfunktionen im Linux-Kernel, die moderne Containerlösungen überhaupt möglich machen, wurden bereits mehrere Jahre vor dem ersten Docker Release eingeführt. Reflektiert wird das bei der Liste verwendeter Plattformen, denn Docker ist auf Rang 3. Gleichzeitig ist die Technologie auf Rang 2 bei den gerne zu nutzenden und den im Unternehmen einzuführenden Plattformen.
Im Grunde sind Container einfache Prozesse, die durch Features im Linux-Kernel eine eigene Umgebung erhalten, ohne virtualisiert zu werden. Der Vorteil liegt darin, dass Prozesse schnell und schlank gestartet werden können und dennoch die Vorteile einer Kapselung wie bei VMs erhalten bleiben. So kann man auf einem Server einfach Hunderte Container starten, was mit virtuellen Maschinen kaum möglich wäre. Das heisst, wenn wir von Containern sprechen, ist generell die Rede von Linux-Prozessen.
Doch für die moderne Cloud reicht das nicht: Über das Starten und Stoppen von Containern hinaus benötigt man eine Lösung, die auf mehrere Server verteilt Container automatisiert managen kann. Stoppen, Starten, Replizieren, Überwachen, Ersetzen etc. – diese Aktivitäten-Kette lässt sich nicht manuell managen. Genau dafür gibt es Orchestrierungs-Tools wie Kubernetes, das in der swiss developer survey ebenfalls zu den Spitzenreitern zählt. Kubernetes befindet sich auf Rang 1 bei «Gerne nutzen» und Rang 3 bei «Einführen». Diese Cloud-zentrische Entwicklung bestätigt sich durch gutes Abschneiden bei der nächsten technischen Ebene darunter. Mit Ansible und Terraform gewinnt auch IaaS an Bedeutung, eine logische Schlussfolgerung aus dem Container-Gedanken. Beide Technologien steigen auf der Wunschliste einzuführender Frameworks hoch ein.
Golang im Aufwind
Der Trend zur Cloud findet sich auch bei den Programmiersprachen: Sowohl Kubernetes als auch Container Runtimes und Build Tools wurden mit der Programmiersprache «Go» (auch Golang) entwickelt. Golang findet sich in den Top 5 sowohl der Sprachen, die Entwickler neu einsetzen möchten, als auch der Sprachen, die Firmen einführen sollten.
Der Vormarsch der Cloud wird weiter durch andere Container-bezogene Technologien wie OpenShift deutlich. Zur Erklärung: Bei OpenShift handelt es sich um eine Enterprise-Distribution für Kubernetes und Container, die erst heuer in die Vorauswahl aufgenommen wurde. Aus dem Stand stieg sie auf Platz 10 der Technologien ein, die Coder gerne nutzen würden. OpenShift schafft für viele Fimen die zentrale Basis einer Private Cloud hinter der eigenen Firewall. Bauen Unternehmen also Container- und Kubernetes-Know-how auf, können sie flexibel auf die Public Clouds setzen oder via OpenShift und ähnliche Lösungen intern entwickeln.
Neues für das Java-Land Schweiz
Ein weiteres Signal dafür, dass die Reise Richtung Container geht, ist Quarkus: Der Umfrage-Neuling taucht gleich an mehreren Stellen auf und ist für das Java-Land Schweiz mit Sicherheit eine relevante Entwicklung. Denn Quarkus ist ein «Kubernetes Native Java Stack», der einem ermöglichen soll, für den Betrieb in Containern optimierte Java-Applikationen bauen zu können. Mit CockroachDB ist ausserdem bei den Datenbanken eine Container-fokussierte Lösung als Zusatznennung aufgetaucht. Wenn auch der Einstieg eher tief ist, handelt es sich um die einzige mehrfach vorkommende Freitext- Angabe beim Thema Datenbanken. Vielleicht auch, weil die Datenbankwelt wesentlich langsamer neue Lösungen produziert als andere Bereiche.
Eine weitere Lösung, die aus der Welt der containerisierten und vor allem der horizontal breit skalierten Lösungen kommt, ist Kafka, eine verteilte Streamingplattform für Events und Daten. Die Technologie, die 2019 noch keine 5 Nennungen erreicht hatte, ist mit 74 Nennungen direkt auf Platz 12 der verwendeten Datenbanken gesprungen. Weiterhin findet sie sich auf Platz 4 bei «Gerne nutzen» sowie auf Platz 6 beim Parameter «Einführen».
Neben den Einzeleinsichten ist sicher auch spannend, dass sowohl aufseiten der Datenbanken mit PostgreSQL als auf Ebene der Containerisierung mit Docker (isolierte Prozesse) zwei vergleichsweise alte Technologien zurzeit die Treiber der jüngsten Entwicklungen sind. Vielleicht ist es deswegen sogar einmal angebracht, ein oft missbrauchtes Zitat Viktor Hugos richtig anzuwenden: «Nichts auf der Welt ist so mächtig wie eine Idee, deren Zeit gekommen ist.»
Zu den Autoren
Christian Walter ist Geschäftsführer von swiss made software. Und Jonas Felix ist Co-Founder von Fossilo.com sowie des Anbieters von Entwicklerkursen Letsboot.com.