Interview 19.05.2022, 08:31 Uhr

"Sicherheit sollte so integriert werden, dass sie nicht im Weg steht."

Sicherheit ist wichtig: Ob während der Entwicklung oder des Betriebs einer Software. dotnetpro sprach mit Michael "Mike" Kaufmann über Git, DevOps und Security.
(Quelle: Michael Kaufmann)

Wenn man sich die Themenbereiche ansieht, die du schulst und über die du schreibst, könnte man das in Git, DevOps und Sicherheit zusammenfassen. Wie kommst du zu diesen Themen?

Ich habe einige Jahre im Betrieb gearbeitet, bevor ich dann in die Entwicklung gewechselt bin. Ich war also schon damals immer die Brücke zwischen Dev und Ops und habe Entwicklern geholfen, Infrastruktur- und Betriebsaspekte in die Entwicklung zu integrieren. Mit Sicherheit verhält es sich genauso. Sicherheit ist ein wichtiger Aspekt des Betriebs und der Entwicklung.
Mit Git ist das etwas anders. Bei Git hatte ich selbst am Anfang Probleme, wirklich zu verstehen, was der Unterschied zu bisherigen Versionsverwaltungen war. Ich war didaktisch nicht mit den Vorträgen und der Literatur zufrieden, die es gab. Deshalb dachte ich mir, dass ich das besser kann. Der Bedarf an dem Thema ist immer noch sehr groß. Viele nutzen Git schon seit Jahren, ohne verstanden zu haben, wie es wirklich funktioniert. Git ist ein sehr wichtiges Werkzeug und kann uns jeden Tag bei der Entwicklung produktiver machen.
Und wenn ich Feedback nach meinen Schulungen und Vorträgen bekomme, dass die Teilnehmer mir sagen, dass sie Git „jetzt endlich verstanden haben“, dann freue ich mich sehr. Dann habe ich wieder einen Menschen produktiver gemacht der jetzt mehr Spaß bei der Arbeit mit Git hat.

In einer Session auf der Developer Week zeigst du, mit welchen Technologien man Sicherheit in den Entwicklungsprozess einbauen kann. Welche findest du die wichtigste?

Welche Sicherheits-Features findest du im Auto am wichtigsten? Den Sicherheitsgurt? Den Airbag? ABS? Da Sicherheit ja quasi das Ausbleiben eines Schadens ist, sind alle Sicherheits-Features meistens nicht sehr beliebt. Leute geben eher Geld für breite Reifen und ein Sportpaket aus. Trotzdem ist Sicherheit essenziell – und das betrifft meisten die Basics: Entwicklungsumgebungen, Code-Scanning, Least-Privileged Access, MFA und so weiter. Sicherheit muss so in den Prozess integriert werden, dass sie nicht stört – aber im Notfall greift. Wie ein Airbag oder ABS.

Wo sollte man in puncto Sicherheit ansetzen?

Wie schon gesagt – Sicherheit sollte so in den Prozess integriert werden, dass sie nicht im Weg steht. Die Grundlage ist aber agiles Arbeiten, CI/CD und DevOps. Wenn Kunden immer noch nach Wasserfall entwickeln und einmal im Jahr manuell ein Release erstellen, dann sollten die Grundlagen erst mal dort ansetzen. Und diese Arbeitsweise sollte dann auf Sicherheit geprüft werden – und zwar vom Anfang bis zum Ende. Von Entwicklungsumgebungen mit lokalen Admin-Rechten bis zum kontinuierlichen Monitoring mit Anomalieerkennung in der Produktion.

Git als Versionskontrollsystem hat im Prinzip alle anderen Systeme verdrängt – ob CVS, Subversion, ja sogar in der DevOps-Umgebung von Microsoft wurde das Versionskontrollsystem durch Git ersetzt. Woran liegt der Erfolg des Systems?

Git ist so genial, da die Architektur sehr simpel ist. Git speichert ja Snapshots und keine Deltas. Das macht es so mächtig und gibt viele Möglichkeiten, die man in zentralen Versionsverwaltungen nicht hatte. Damit hat es einfach auch die Art geändert, wie wir entwickeln. Code-Reviews mit Pull-Requests sind heute aus den Entwicklungsprozessen nicht mehr weg zu denken.

Gibt es noch Szenarien, wo du von Git abraten würdest?

Git ist optimal für Textdateien. Für Binärdateien ist es aufgrund der Architektur nicht gut geeignet. Das ist aber auch das einzige, das mir einfällt.

GitHub setzt auf Git auf, bietet aber viel mehr als nur Versionskontrolle. Was ist für dich das interessanteste Feature des inzwischen zu Microsoft gehörenden Dienstes?

Ich glaube tatsächlich, dass Codespaces die Art revolutionieren werden, wie wir entwickeln. Weg von lokaler Entwicklung – hin zur Entwicklung in der Cloud. Deshalb ist dieses Feature so wichtig für mich. Auch wegen dem Sicherheitsaspekt. Ein anderes revolutionäres Feature ist der Copilot. Open-Source zu nutzen, um darauf einen virtuellen Assistenten zu trainieren, der einen bei der Entwicklung unterstützt – das ist genial. Und jeder, der es mal probiert hat, kann sich den Copiloten nicht mehr aus der Entwicklung wegdenken. Man gewöhnt sich sehr schnell daran.

Du wohnst nicht mehr in Deutschland, sondern hast dich in sonnigeren Gefilden niedergelassen. Sehnst du dich nicht manchmal nach dem Hochtechnologieland Deutschland - ich sage nur #neuland?

Ich arbeite ja immer noch in Deutschland – und ich bin ja deshalb nicht weg. Malaga ist nur 2,5 bis 3 Stunden von allen deutschen Metropolen entfernt – es gibt viele Gegenden in Deutschland die weiter weg sind, wenn man Entfernung in Zeit misst. Da alle meine Kunden und Mitarbeiter in ganz Deutschland verteilt sind, ist es wirklich egal, wo wir arbeiten, wenn wir genug Flexibilität mitbringen. Meiner Frau und mir war es immer sehr wichtig, dass unsere Kinder die deutsche und spanische Sprache und Kultur kennen. Deshalb war der Wechsel für alle sehr gut. Und es wohnt sich ja hier sehr gut 😊.
Michael Kaufmann ist Microsoft MVP und Regional Director und Geschäftsführer von Xpirit Deutschland. Mike arbeitet seit mehr als 20 Jahren als .NET-Entwickler und Architekt. Neben der Implementierung von agilen Techniken (wie Scrum), ALM und DevOps-Praktiken ist er ein Azure-Architekt und ein Clean-Code-Süchtiger. Er gibt sein Wissen in Büchern, Schulungen, seinem Blog, Artikeln und als Redner und Keynote-Speaker auf internationalen Konferenzen weiter.
Developer Week ist die große Entwicklerkonferenz in Nürnberg. Fünf Tage lang können sich Softwareentwickler zu Themen wie Architektur, .NET, Web, Datenbanken oder Softskills fortbilden. 150 Sprecher, 30 Themenstränge, DevSessions und Workshops formen das Programm. Sie findet dieses Jahr vom 4. bis 8. Juli statt.


Das könnte Sie auch interessieren