Auf der Reise in die Digitalisierung steigt mit der Auswahl der Angebote auch die Erwartungshaltung der Kunden. Die neue Softwerker-Ausgabe soll dir als Reiselektüre dienen.
Der Trip führt dich vom Chaos Engineering und resilienten Systemen über moderne Kommunikation, Data Science und Machine Learning, bis in höhere Gefilde der IT-Security.
Reisen erweitert den Horizont. Und Mittel der Fortbewegung sind seit jeher Abbild und Treiber des menschlichen Fortschritts – von den Anfängen der Menschheit, als unsere Vorfahren noch per pedes und über Wasserwege reisten, über die Erfindung des Rades in der Antike bis hin zur modernen Raumfahrt.
Das ruhelose Streben nach schnelleren, bequemeren Möglichkeiten, von A nach B zu gelangen, ist Teil unserer DNA und auch in Zeiten der „Flugscham“ kaum zu drosseln.
Reiseziel und Vehikel bedingen sich dabei gegenseitig. Ähnlich ist es in der Softwareentwicklung: Dank neuer Technologien und Methoden kommen Kunden in den Genuss digitaler Services, die nie ein Mensch zuvor für möglich gehalten hat, etwa Videostreamingdienste à la Netflix.
Gleichzeitig steigen mit dem Angebotsniveau die Erwartungen der Kunden, von der Komplexität ganz zu schweigen. Kein Wunder also, dass aus dem Hause Netflix auch das revolutionäre Chaos Engineering (s. Artikel ab S. 6) stammt und resiliente Systeme (S. 20) längst geschäftskritisch sind. Neben dem Komfort spielt – bei Hochgeschwindigkeitszügen ebenso wie bei Microservice-Architekturen – Sicherheit eine zentrale Rolle. Achillesferse ist nicht nur das System, sondern auch der Mensch und seine (moderne) Kommunikation (S. 30). Trotz Fortschritten in Data Science (S. 70) und Machine Learning (S. 80) bleibt der Mensch also zugleich Herausforderung (S. 48) und Mittelpunkt auf der Reise in die Digitalisierung.
Wir wünschen euch eine erkenntnisreiche und sichere Expedition durch diese Ausgabe!
Maik Figura & Dennis Effing
Chaos-Engineering-Experimente mit Istio
Welchen Zweck erfüllt Chaos Engineering und wie können wir ein Experiment gut planen? In diesem Artikel finden wir heraus, welche Voraussetzungen notwendig sind und warum andere Herangehensweisen in komplexen Softwarearchitekturen oft nicht zielführend sind. Dazu werfen wir einen Blick auf die praktische Arbeit mit dem Service Mesh „Istio“.
Frank Rosner & Alexander Potukar
Retry, Fallback, Timeout, Cicuit Breaker
Software ist kein Selbstzweck: Sie hilft Geschäftsprozesse zu implementieren und damit Geld zu erwirtschaften und/oder Kundenzufriedenheit herzustellen. Software, die nur in Entwicklung oder im Testbetrieb läuft, erzielt keinen Geschäftswert. Darüber hinaus muss sie auch ordnungsgemäß funktionieren und verfügbar sein. Erklärtes Ziel ist eine möglichst hohe Verfügbarkeit. Doch was genau versteht man unter diesem Begriff?
Christian Sauer
Azure Dev-Spaces to the rescue
Azure Dev-Spaces ist ein sehr mächtiges Werkzeug, um die Entwicklung von Kubernetes-Anwendungen zu vereinfachen. Selbst wenn man eigentlich eher andere IDEs nutzt, kann das Live-Debugging in einen Container massiv Zeit sparen. Darüber hinaus bietet Azure Dev-Spaces die Möglichkeit, dass mehrere Entwickler gleichzeitig in einem Cluster arbeiten können.
Marcel Kassuhn
Wie Phishing-Angriffe ganze Unternehmen kompromittieren
In Zeiten der Digitalisierung spielt die Kommunikation für uns alle eine immer größere Rolle. Hierbei ist ein Kommunikationsmedium unumgänglich: die E-Mail. Heute senden wir sämtliche sensitive Informationen und personenbezogene Daten über das Internet. Aber warum soll das so schlimm sein? Dies werden wir in diesem Artikel näher beleuchten.
Flavio Diez
Wie deine App auf Daten reagieren und diese erfassen kann
Hast du dich schon gefragt, wie Push-Nachrichten, Chats oder eine Video-Call-App funktionieren? Dann bist du hier genau richtig! Wir werden uns gemeinsam ansehen, welche Möglichkeiten des Datenaustausches es gibt und wie diese mit Flutter gelingen können.
Marcel Mikl
Wie man Data-Science-Projekte aus der Proof-of-Concept-Sackgasse manövriert
Warum gelingt es Data-Science-Initiativen häufig nicht, einen echten Mehrwert zu schaffen? Wir haben einige Ursachen dafür ausgemacht, die wir im Folgenden gerne teilen möchten. Der Artikel fokussiert sich auf die Verprobung einer Idee im Data-Science-Kontext, mit dem Ziel, daraus ein Produkt zu entwickeln und damit Geld zu verdienen.
Manuel Gerding
Die Herausforderungen der Digitalisierung sind weniger technologische als soziale Probleme.
Durch die Digitalisierung ihrer Geschäftsprozesse und -angebote befinden sich derzeit viele Unternehmen im Wandel. Dabei wird die digitale Transformation oft als technologische Revolution verstanden. Der Kern des Wandels liegt jedoch in soziologischen, nicht in technologischen Herausforderungen.
Daniel Kocot
Überlegungen zum traditionellen Software-Lebenszyklus
Kontinuierliche Prozesse sind ein wichtiger Bestandteil beim Design und der Entwicklung von APIs. Aufgrund der unterschiedlichen Beteiligten ergeben sich sogar zwei verschiedene Prozesszyklen. Unterstützt durch eine API-Management-Plattform, wird es relativ einfach, sich mit dem Thema zu befassen.
Bert Besser
Eine Einführung in DVC
In diesem Artikel beschäftigen wir uns mit der systematischen Modellentwicklung im Machine Learning. Um Verbesserungen verlässlich zu messen, benötigen wir für jede neue Version des Modells Kenntnis über die Modelldefinition und -konfiguration (Hyperparameter usw.) sowie die verwendeten Trainingsdaten. Bei dieser Aufgabe, und darüber hinaus, hilft uns Data Version Control (DVC).
Gerade in Deutschland legen wir viel Wert auf Sicherheit, Kontrolle, Perfektion und Tradition. Dies steht im Konflikt zum Wandel im Unternehmen und der damit verknüpften Autonomie, Risikobereitschaft und Experimentierfreudigkeit. Dabei ernten Unternehmen, was sie säen. Angst sät Angst, Vertrauen sät Vertrauen.
Manuel Gerding
Software Engineer