Mein Technologieradar für 2017
Mit dem neuen Jahr wird es auch wieder Zeit für eine Aktualisierung meines Technologieradars. Nach den Ausgaben für 2014 und 2015 verzichtete ich auf eine Ausgabe für 2016. Die grossen Ankündigungen von Microsoft (wie ASP.Net vNext) verzögerten sich und nur die Jahreszahl anzupassen war mir zu wenig.
Mein neuer Technologieradar
Auch weiterhin kommt das Projekt Techradar von Brett Dargan zum Einsatz. Die Ringe folgen unverändert der Idee von ThoughtWorks:
- Hold (abwarten): Keine neuen Projekte mit diesen Technologien starten.
- Assess (einschätzen): Genauer hinschauen ob sich daraus etwas entwickelt.
- Trial (ausprobieren): In kleineren und weniger wichtigen Projekten Erfahrungen sammeln.
- Adopt (umsetzen): Bereit um in kritischen Anwendungen verwendet zu werden.
Techniken, Verfahren & Methoden
Structured Logging konnte sich vom Neueinsteiger in die Kerngruppe vorarbeiten. Mit kleinen initialen Mehraufwand kann man Log-Meldungen so anreichern, dass diese den Betrieb der Anwendung massiv erleichtern. Beispiele zum Anreichern von Log-Meldungen finden sich in meinem Blog Improve & Repeat.
Living Documentation ist ein spannendes Thema, zu dem mir bisher noch die einfache technische Umsetzung fehlt. Es gibt mittlerweile jedoch mehrere erfolgsversprechende Tools, die ich aber genauer anschauen muss.
Auswertungen und Visualisierungen sind schon länger ein Thema, bei dem mit Power BI nun ein spannendes Werkzeug zur Verfügung steht. Um nicht nur einem Hype nachzujagen, benötigt es eine fundierte Abklärung über sinnvolle Einsatzgebiete. Gleiches gilt aus meiner Sicht für Data Lakes.
Infrastruktur, Plattformen & Services
Visual Studio Team Services hat sich bei uns als Plattform für die interne Entwicklung erfolgreich platziert. Das Angebot ist gerade für MSDN-Abonnenten äusserst interessant und mit überschaubaren Kosten erweiterbar. Speziell mit Git als Versionsverwaltung und dem aktuellen Visual Studio bekommt man alles was man sich als Entwickler wünschen kann.
Terraform ist ein sehr interessanter Ansatz zur Dokumentation und dem Unterhalt von Cloud-Lösungen. Die ganze Umgebung wird in einer deklarativen Sprache beschrieben und dann in der Cloud erstellt. Dabei sind gerade die Abweichungserkennung und die Möglichkeiten fürs Desaster-Recovery sehr praktisch.
Docker ist bei mir angesichts der Windows-Orientierung vorläufig im Bereich Hold gelandet. Momentan ist mit zu viel Bewegung in Docker um mich ohne direkte Einsatzmöglichkeit in dieses Thema einzuarbeiten. Zudem ist die Unterstützung von Windows zwar im Kommen, steckt aber zumeist noch in den Kinderschuhen.
Sprachen und Frameworks
Die Situation rund um ASP.Net Core (vormals ASP.Net 5 und davor ASP.Net vNext) aus meiner Sicht zu stark in Bewegung um hier Wissen aufzubauen. Wenn zwischen RC1 und RC2 inkompatible Änderungen eingeführt werden, ist dies äusserst mühsam. Wenn es danach so weitergeht fehlt die Grundlage für einen produktiven Einsatz – ausser man kann sich permanent mit der Anwendungsplattform beschäftigen. Daher warte ich hier einmal ab bis ASP.Net Core in ruhigerem Fahrwasser ankommt.
Tools
Structured Logging setze ich mittels Seq und Serilog um. Dabei hat sich der Suchserver Seq als äusserst hilfreich erwiesen: An einem Ort laufen alle Meldungen zusammen, sind durchsuchbar und können grafisch dargestellt werden. So lässt sich ein Problem sehr schnell eingrenzen und die für die Reproduzierung nötigen Informationen auslesen. Dies führt zu einer schnellen Behebung, was wiederum zu einem stabileren Betrieb führt – wenn man sich die Zeit nimmt sinnvolle und brauchbare Meldungen zu erstellen.
Nach ausführlicher Evaluation hat sich für mich beim Thema MicroORM Dapper als Gewinner herausgestellt. Dapper ist äusserst einfach zu bedienen, kann alles was ich von einem ORM benötige und lässt sich bestens mit DbUp kombinieren. DbUp ist ein einfaches Tool zur Aktualisierung von Datenbank-Strukturen (mit SQL-Dateien oder C#-Code für die Migrationen) und macht dies ebenfalls äusserst effizient.
Ein voll-ausgewachsener ORM wie Entity Framework ist für mich daher nicht mehr nötigt. Angesichts der ebenfalls grossen Verzögerungen bei EF 7 kommt mir dies gerade recht.
Fazit
Für 2017 enthält mein Technologieradar einige kontroverse Positionierungen. Dies zeigt aus meiner Sicht einen weiteren wichtigen Punkt dieses Ansatzes auf: Man kann über Beweggründe sprechen die zu den Entscheidungen führen. Dies bereichert nicht nur die Diskussion um den Technologieradar an sich, sondern hilft beim Definieren der Werte des Teams oder der Firma. Dazu mehr in einem kommenden Beitrag.