Testen & Qualität

Distributed Tracing: Modernes Debugging und Tracing in Zeiten von Serverless

Mit dem Vormarsch von Serverless ändert sich auch das Debugging und Tracing – und damit die Art und Weise, wie Entwickler und Admins arbeiten. Auf der Serverless Architecture Conference 2019 in Den Haag sprachen wir mit Billie Thompson, Cloud-native Consultant bei Armakuni, über die Veränderungen, die bedingt durch Serverless in der Welt der IT vorgehen. Sie erklärt außerdem, wie sich im Zusammenspiel mit Serverless das Tracing sinnvoll einsetzen lässt.

Die 5 wichtigsten DevOps-Trends für 2019: NoOps, DevSecOps, KI und Co.

Der DevOps-Ansatz hat sich in der Software-Entwicklung in den vergangenen Jahren immer weiter durchgesetzt. Die effizientere und effektivere Zusammenarbeit von Entwicklung und IT-Betrieb bringt allen Beteiligten zahlreiche Vorteile: So steigt nicht nur die Qualität der Software, sondern auch die Geschwindigkeit, mit der neue Lösungen entwickelt und ausgeliefert werden. Es verwundert also nicht, dass mit der Ausbreitung von DevOps auch neue Tools und Ausbildungsrichtungen entstanden sind, welche die Popularität noch einmal zusätzlich befeuert haben. Wo die weitere Entwicklung hingeht, zeigt der folgende Ausblick auf die fünf wichtigsten DevOps-Trends 2019.

Observability: Systeme und Anwendungen mit Prometheus kontinuierlich beobachten

Entwickler benötigen Informationen über technische Fehlfunktionen in verteilten Systemen und Anwendungen, um schnell reagieren und Ausfälle verhindern zu können. „Observability“ steht für einen umfassenden Ansatz, der zahlreiche Faktoren für die Überwachung und Beobachtung des Verhaltens von Software einbezieht. Ein zentrales Instrument dafür ist das Tool Prometheus.

Testgetriebene Entwicklung bei funktionalem Code – Alles gleich oder alles anders?

Testgetriebene Entwicklung (engl. Test-driven Development, abgekürzt TDD) hat sich bei der Entwicklung objektorientierter Systeme bewährt. Manche Vertreter funktionaler Sprachen behaupten, dass TDD bei „richtig“ funktionalem Code nicht mehr nötig ist. In seiner Session von der W-JAX 2017 beleuchtet Johannes Link, inwieweit TDD bei der Verwendung funktionalen Programmierstils noch sinnvoll ist, was wir dabei verändern müssen und wie sehr das Vorgehen von der Programmiersprache abhängt.

RESTful APIs dokumentieren – so geht’s!

Der Begriff API-Economy taucht immer öfter auf und macht so deutlich, wie wichtig Web-APIs sind. Die Verbreitung und damit die Wettbewerbsfähigkeit eines Web-API steht und fällt mit einer guten Dokumentation. Denn sowohl öffentliche als auch interne APIs benötigen einen verständlichen Developer Guide, damit Entwickler sie einsetzen können. Mit den Open-Source-Projekten Swagger2Markup und AsciidoctorJ lässt sich ein Developer Guide erstellen, der sich mit handgeschriebener AsciiDoc-Dokumentation kombinieren lässt und sowohl offline als auch online lesbar ist.

Alles im Blick: Tracing von Anwendungen auf Kubernetes mit AWS X-Ray

Tracing ist für DevOps- und Entwickler-Teams ein wichtiger Faktor zur Informationsgewinnung, wenn es um den Zustand und die Analyse von Anwendungen geht. Probleme können so schnell erkannt und gelöst, Fehler behoben werden. Für das Tracing aller Anwendungen, die auf AWS laufen, gibt es das Tool AWS X-Ray, egal ob sie auf Amazon ECS, AWS Lambda oder einem Kubernetes Cluster gehostet sind. Im folgenden Artikel erklärt Christoph Kassen, AWS Solutions Architect, wie man AWS X-Ray in Verbindung mit Kubernetes einsetzen und betreiben kann.

Performance auf der JVM: Überblick über CDS, AppCDS und AOT

Eine gute Frage in einem Einstellungsgespräch ist immer noch, warum denn Programme auf der JVM eine recht ordentliche Performance aufweisen, obwohl nur mit Bytecode und nicht mit Maschinencode gearbeitet wird. Wer diese Hürde mit Leichtigkeit genommen hat, dem werden in diesem Artikel weitere Möglichkeiten des JDK verraten, mit denen Oracle versucht, die Leistung der JVM zu verbessern.

Hitchhiker’s Guide to Docs as Code: Websites mit AsciiDoctor & Jekyll

Wir zeigen Ihnen in dieser Folge, wie Sie statische Websites mithilfe von AsciiDoc erstellen und pflegen können. Dazu greifen wir etwas tiefer in die Werkzeugkiste der Softwareentwicklung, nämlich zum Ruby-basierten Generator Jekyll. Jekyll selbst verwendet standardmäßig Markdown als Auszeichnungssprache, für AsciiDoc müssen wir ein klein wenig nachhelfen. Alternative Ansätze diskutieren wir im Textkasten „Alternativen zu Jekyll“.

Performancemessungen: Der JIT-Compiler und sein Einfluss auf Messergebnisse

Die Ablaufperformance unserer Software ist wichtig. Deshalb wird immer wieder versucht, die Performance von Software zu messen, zu vergleichen und idealerweise vorherzusagen. Das ist aber extrem schwierig und sehr fehlerbehaftet. In dieser Session von der W-JAX 2017 zeigt Angelika Langer, Trainerin und Consultant, warum Performancemessungen so schwierig sind und was man tun kann, um typische Fehler zu vermeiden.

Programmierpraxis übermorgen: Mensch spezifiziert, Maschine programmiert

Wer programmiert, leidet: Die Tipparbeit beim Programmieren muss der Mensch derzeit weitgehend selber machen. Das ist nicht nur viel Arbeit, sie ist auch ziemlich fehleranfällig. In ihrer Session von der W-JAX 2017 stellen Nicole Rauch und Michael Sperber die Programmiersprachen Idris und Agda vor, mit denen der alte Traum vom Computer, der selbst Code schreibt, in greifbare Nähe rücken könnte.

BC/DR, IT Resilience & Continuous Data Protection: „Unternehmen benötigen ständige Verfügbarkeit“

Die Digitale Transformation stellt Unternehmen vor immer neue Herausforderungen. In unserer mittlerweile hochvernetzten Welt ist der Super-GAU, wenn Services nicht erreichbar sind. Wie schützen sich unternehmen davor? Welche neuen Möglichkeiten gibt es, um für die digitale Zukunft gewappnet zu sein? Johan van den Boogaart spricht im Interview über BC/DR (Business Continuity / Disaster Recovery), IT Resilience sowie Continuous Data Protection (CDP).

Logging Zeiten von Microservices und der Cloud

Die Tage des statisch partitionierten Datenzentrums sind vorüber – Willkommen in der modernen Welt von Microservices und der automatischen Skalierung in der Cloud. Requests laufen durch mehrere Services, bestimmte Services skalieren automatisch und Maschinen sind kurzlebig. Schwer, da die Übersicht zu behalten. In seiner Session von der DevOpsCon 2017 in München bespricht Axel Fontaine, Founder und CEO von Boxfuse, interessante Ansätze für Softwarearchitekten und Entwickler, um effektives Logging für Microservices in Zeiten der automatischen Skalierung umzusetzen.