Continuous Delivery – Der Architekt als Speedmaster

Continuous Delivery – Der Architekt als Speedmaster

Sind es nicht faszinierende Zeiten, in denen ein einzelnes Feature Milliarden an Börsenwert produzieren oder über Nacht vernichten kann? Den Trend, in dem wir uns aktuell bewegen, wurde in einem Vortrag im Rahmen des “Architecture Gathering 2018” unlängst beschrieben: Wir befinden uns in der post-industriellen Ära der hochdynamischen, globalen Märkte und disruptiven Veränderungen. Im Fokus stehen dabei weniger die Entwicklungskosten. Time-to-Market ist der entscheidende Erfolgsfaktor. Wer zuerst kommt und den nächsten Hype inszeniert, hat die besten Chancen auf das große Geschäft.

In der Softwareentwicklung ist Geschwindigkeit längst keine Hexerei mehr. Immer höhere Automatisierungsgrade und ein verändertes Prozessdesign ermöglichen Performancesprünge, die noch vor wenigen Jahren undenkbar schienen. Der Softwarearchitekt ist dabei der zentrale „Driver“, sozusagen der Speedmaster im Projekt. Mit seinem Architekturkonzept steuert er nahezu alle relevanten Parameter, um ein Projekt auf seine Anforderungen auszurichten. Wenn Time-to-Market die Priorität hat, sind flexible Architekturmodelle und Continuous Delivery zumeist die erste Wahl. Erstere schaffen mit weitgehend autarken Komponenten bis hin zu Microservices die Voraussetzungen, um effizient zu entwickeln und über die Continuous Delivery Pipeline fortlaufend zu liefern. Aber schauen wir uns das einmal genauer an.

Ein erster Blick auf Continuous Delivery

Continuous Delivery – kurz „CD“ genannt – beschreibt eine Sammlung von Techniken, Prozessen und Werkzeugen, mit deren Hilfe kurze Entwicklungszyklen und die schnelle Auslieferung von Software-Updates oder produktiven Endsystemen ermöglicht werden. CD zielt darauf ab, jede Entwicklung oder Änderung im Code sofort in eine mehrstufige, weitgehend automatisierte Test-Pipeline zu übergeben und nach erfolgreichem Durchlauf mit dem nächsten Deployment produktiv zu stellen. Typischerweise werden bei den Tests drei Phasen unterschieden: Eine Commit Stage, auf der die Software gebaut und die Unit-Tests durchgeführt werden, eine Accaptance Test Stage für die Integrations-, Akzeptanz- und Systemtests sowie eine dritte Phase, in der gegebenenfalls manuelle Tests und ein Freigabeprozess stattfinden können. Für jede Phase gilt das Prinzip „Stop-the-line“: Bei Ermittlung eines Fehlers wird die Test-Pipeline angehalten, bis das Problem behoben ist. Der Entwickler erhält umgehend Feedback. So können Fehler frühzeitig entdeckt und beseitigt werden.

Continuous Delivery und DevOps

In der Konsequenz durchläuft jeder Softwarestand zigmal die Test-Pipeline und muss entsprechend zigmal auf einer Testumgebung installiert werden. Traditionell liegt die Installation für den Test im Aufgabenbereich des Betriebs. Wie soll sich das in der Praxis darstellen lassen? Betrieb und Entwicklung müssen die Konfiguration der Anwendung und die Deployments in so enger Abstimmung planen, dass eine Trennung der Abteilungen nicht länger gegeben ist. DevOps, die Zusammenlegung von Development und Operations, ist tatsächlich eine notwendige Konsequenz, wenn die Umsetzung von Continuous Delivery zum Erfolg führen soll.

Der Softwarearchitekt im Lead

Wenn wir die angesprochenen Themen zusammennehmen, ist der Softwarearchitekt der einzige im Bunde, der gleichzeitig über die Kompetenz verfügt und frei ist von Interessenskonflikten. Allein deshalb bringt es viele Vorteile, Design und Überwachung von Continuous Delivery Projekten im Aufgabenbereich erfahrener Architekten anzusiedeln. Wir haben gesehen, dass die Konzeption von Continuous Delivery unmittelbar abhängig vom Architekturmodell ist. Der Architekt kann Continuous Delivery also im Flow des Gesamtkonzepts entwickeln – auch das ist ein Argument. Weiterhin ist die Perspektive des Architekten auf die Test-Szenarien naturgemäß weniger Tool-getrieben und er kann aufkommende Konflikte von Entwicklung und Betrieb aus dem Konzept heraus moderieren.

Ein Aufwand, der sich lohnen sollte

Mit Continuous Delivery erweitern Softwarearchitekten ihren Kompetenzbereich um ein Thema, mit dem sie punkten können: Speed! Der Entwickler profitiert von unmittelbarem Feedback aus der Test-Pipeline, von der Verringerung des Risikos in der Entwicklung und einer drastischen Verkürzung der Zeit bis zur Produktivstellung. Neue Features können innerhalb weniger Tage zum Anwender gebracht und bei Bedarf mit Varianten ausgetestet werden. So lassen sich auch höchste Anforderungen an die Time-to-Market erfüllen.

Die wichtigsten Grundlagen und Tools rund um Continuous Delivery sind Teil unseres Trainings „Evolution und Verbesserung von Softwarearchitekturen (IMPROVE)“ auf iSAQB Advanced-Level. Folgen Sie uns auf Twitter und diskutieren Sie diesen Beitrag mit uns. Hier geht’s zu unserem Profil.

Nächstes Training: 05.-07. März 2019 in Ludwigshafen
Weitere Infos: www.itech-progress.com/isaqb-improve/

 


1 Quelle: Uwe Friedrichsen, „Life after Microservices“, zum Artikel auf Slideshare hier klicken

Clean Code als Architekturaufgabe

Clean Code als Architekturaufgabe

In unserem ersten Beitrag der Reihe „Softwarearchitektur verbessern“ greifen wir ein Thema auf, das in den Trainings der ITech Academy und auch in zahlreichen Blog- und Forenbeiträgen immer wieder kontrovers diskutiert wird: Clean Code als Architekturaufgabe. Wer nun fragend zum Himmel oder an die Zimmerdecke schaut, sei an das gleichnamige Buch von Robert Martin erinnert, in dem ein erster zielführender Standard für sauberen Quellcode geschaffen und mit einer Vielzahl sachdienlicher Hinweise zu dessen Strukturierung ausgestattet wurde. Tatsächlich beschreibt Clean Code aber nicht nur eine Arbeitsweise, sondern auch eine Bewusstseinshaltung des Entwicklers dahingehend, sich selbst und Nachfolgende nicht mit faktisch unzureichender Codequalität, unsinnigen Entscheidungen und unpräzisen Designs zu belasten. Der Clean-Code-Entwickler übernimmt Verantwortung nicht nur für das Endprodukt, sondern auch für dessen „inneren Werte“ im Hinblick auf Verständlichkeit und Wartbarkeit.

Zugegeben, das alles bezieht sich auf den Entwickler und seine Arbeit. Es mag deshalb in der Tat verwirren, wenn Architekten angeregt werden, sich mit Clean Code als Verbesserungsansatz in der Softwarearchitektur zu beschäftigen. „Was geht mich der Code an?“ lautet meist die Antwort. „Das ist Sache des Programmierers!“ Die Antwort ist ebenso richtig wie falsch: Mit Clean Code zu arbeiten ist eine strategische Architekturentscheidung, die sinnvollerweise begründet in der Konzeptphase getroffen und vom Management abgesegnet wird. Die Entscheidung wird zumeist im Hinblick auf die langfristige Codequalität und die Weiterentwicklungskosten gefällt, und sie ist anspruchsvoll, wie wir noch sehen werden. Sie kann in einem Projekt eine erhebliche Tragweite entwickeln und Auswirkungen bis hin zur personellen Besetzung der Teams.

Wenn Clean Code eine Architekturvorgabe an ein Projekt ist, liegt sie auch im Verantwortungsbereich des Architekten. Softwarearchitekten in Clean-Code-Projekten sollten deshalb auch in der Lage sein, die Einhaltung der Anforderungen im Projekt zu steuern und den Code auf konsequente Umsetzung zu prüfen, beispielsweise mit Tools wie Sonarqube. Und damit öffnen wir schon mal die ersten beiden Schubladen der Konfliktkommode. Denn zum einen sehen Entwickler die tägliche Codehygiene gerne als einen Teil ihrer Intimsphäre an und verzichten nur zu gerne auf „väterliche“ Kontrollgänge des Architekten. Zum anderen nagt die Umsetzung von Clean Code unaufhörlich speziell an der Ressource, die für den Entwickler ohnehin die knappste ist: Zeit. Zumindest ein leiser Protest im Team scheint damit vorprogrammiert. Aber hatte jemand behauptet, der Job des Softwarearchitekten sei ein leichter?

Es gibt noch eine dritte Schublade, nicht minder relevant: Clean Code als Anforderung muss nicht nur dem Projektteam vermittelt, sondern auch dem Management verkauft werden. Auch das kann durchaus schwierig werden. Moderationsfähigkeit und Überzeugungskraft gehörten deshalb ebenso zum Handwerk des Architekten, wie das methodische und technische Wissen.

Auf dieser Basis stellt sich für uns nicht die Frage, ob Clean Code seinen Platz in einem fortgeschrittenen Architekturtraining haben sollte oder nicht, sondern lediglich, in welchem Umfang und welchem Tiefgang das Thema besprochen gehört. In unserem Training „Evolution und Verbesserung von Softwarearchitekturen (IMPROVE)“ auf iSAQB Advanced-Level versuchen wir, die teilnehmenden Architekten zur Entscheidungsfähigkeit hinzuführen, ob und wann Clean Code in einem Projekt Sinn ergibt. Weiterhin werden die wesentlichen Grundlagen und Tools sowie weiterführende Literatur vorgestellt, um eine Beschäftigung mit dem Thema über die Schulung hinaus zu ermöglichen.

Folgen Sie uns auf Twitter und diskutieren Sie diesen Beitrag mit uns. Hier geht’s zu unserem Profil.

Nächstes Training: 14.-16. November 2018 in Nürnberg
Weitere Infos: www.itech-progress.com/isaqb-improve/

NEU: ITech Academy Friends auf Facebook

NEU: ITech Academy Friends auf Facebook

Entdecken Sie die neue Facebook-Gruppe der ITech Academy und sichern Sie sich als Mitglied 10% Rabatt auf alle offenen Trainings von ITech Progress. Wie es geht? Treten Sie mit einem Klick unserer Gruppe bei und warten Sie auf Ihre Bestätigung durch unseren Administrator. Ab diesem Moment können Sie bei jeder Bestellung über die Website im Nachrichten-Feld das Kennwort „Academy Friends“ eingeben und Sie erhalten automatisch den Rabatt auf Ihre nächste Rechnung.

Aber die Facebook-Gruppe ist weit mehr als ein Sparstrumpf für unsere Trainingsteilnehmer. Academy Friends werden laufend über aktuelle Entwicklungen, bevorstehende Trainings, den Auslastungsstatus der nächsten Schulungen oder über Änderungen informiert.

Interessiert? Dann klicken Sie den Button, um nach Ihrer Facebookanmeldung der Gruppe beizutreten.

Wir freuen uns auf Sie!

„The Architecture Gathering 2018“ – Jetzt VIP-Tickets sichern!

„The Architecture Gathering 2018“ – Jetzt VIP-Tickets sichern!

Ein „Muss“ für Softwarearchitekten

 

Am 10 . Oktober ist es wieder soweit: The Architecture Gathering öffnet die Pforten für zwei spannende Konferenztage in München. Im Mittelpunkt der diesjährigen Veranstaltung steht die Softwarearchitektur als Erfolgsfaktor in diesen Zeiten des digitalen Wandels:

„Im Konzert von Digitalisierung und digitaler Transformation sind Softwarearchitekten Komponist und Dirigent zugleich. Sie geben den Takt vor für die einzusetzenden Technologien, Tools und Methoden. Sie priorisieren offene Themen und führen die relevanten Entscheidungen herbei. Sie komponieren die Struktur der Software aus den Anforderungen, arrangieren die laufenden Veränderungen, gewährleisten Qualität und Kompatibilität der Services. Je komplexer Software heute wird, desto größer werden Wert und Stellenwert der Architektur.“

In über 20 Fachvorträgen wird aus unterschiedlichen Perspektiven beleuchtet, was, wie und warum die Softwarearchitektur erfolgreich macht. ITech Progress ist nicht nur mit einem Informationsstand und einem Fachvortrag präsent. Als Mitglied im Programmkomitee konnte ITech Geschäftsführerin Mahbouba Gharbi in diesem Jahr unmittelbaren Einfluss auf das Veranstaltungsprogramm nehmen.

Sind Sie dabei? Wenn Sie Interesse, aber noch kein Ticket haben, machen Sie mit bei unserem Gewinnspiel: Sagen Sie uns über das Formular unten, warum Sie unbedingt bei der TAG2018 dabei sein möchten. Die Einsendungen werden von unserer Jury bewertet und die beiden besten Begründungen mit einem VIP-Ticket für das Architecture Gathering prämiert.

Viel Erfolg!

Teilnahmeformular

7 + 2 =

Teilnahmebedingungen und Datenschutz:

Zur Teilnahme am Gewinnspiel ist jede natürliche Person berechtigt, die mindestens 18 Jahre alt ist und nicht für die ITech Progress GmbH oder eines der Partnerunternehmen im Rahmen von The Architecture Gathering 2018 arbeitet. Die beiden Gewinner von je einem VIP-Ticket zur Veranstaltung werden bis zum 29.09.2018 anhand der eingesendeten Begründungen von einer internen Jury der ITech Progress GmbH ausgewählt und per E-Mail benachrichtigt. Mit diesem Datum endet das Gewinnspiel.

Vorname und Name, E-Mail-Adresse und Begründung der Teilnehmer werden zur Durchführung des Gewinnspiels auf dem Webserver von ITech Progress gespeichert. Die Teilnehmer am Gewinnspiel geben ihr Einverständnis, dass sie bis auf Widerruf von ITech Progress per E-Mail kontaktiert werden können, um auf bevorstehende Veranstaltungen oder Aktionen informiert zu werden. Der Widerruf kann jederzeit per E-Mail an training@itech-progress.com oder über den entsprechenden Link am Ende jeder erhaltenen E-Mail erfolgen.

Weitere Informationen zum Umgang mit Ihren Daten finden Sie in der Datenschutzerklärung auf dieser Website.

Überlegen zerlegen: Softwarearchitektur mit der Flex

Überlegen zerlegen: Softwarearchitektur mit der Flex

Ob es ein kantiger Monolith ist, eine verschachtelte SOA oder auch nur ein sperriger Klotz von Anforderungen an ein neues Projekt: Software fachgerecht zu zerlegen ist hoch anspruchsvoll und will gelernt sein – gerade dann, wenn eine Microservicearchitektur das Ziel ist.

In der ITech Academy erledigen wir das souverän mit der FLEX. Die dreitägige, iSAQB-lizenzierte Schulung „Flexible Softwaremodelle (FLEX)“ stellt eine breite Palette an Methoden und Tools zur Verfügung, um gefragte Themen wie Microservices, Self-contained Systems und DevOps erfolgreich in die Praxis umsetzen zu können. Dabei geht es zunächst um die Entscheidungsfindung: In welchen Fällen sind Microservices überhaupt sinnvoll und wann lässt man lieber die Finger davon? Wo setzt man intelligent den Schnitt an, um nicht die Komplexität eines Monolithen und zusätzlich die eines verteilten Systems zu ernten? Was spricht für oder gegen den Einsatz von Domain-driven Design (DDD)? Mit welchen Risiken und Wechselwirkungen muss bei flexiblen Architekturen gerechnet werden und was bringen sie unter Gesichtspunkten wie Wirtschaftlichkeit, Effizienz und Skalierbarkeit unter dem Strich?

Auf Basis dieser und weiterer theoretischer Grundlagen führen praktische Übungen in die Arbeit mit FLEX-Architekturen ein und bieten erste Gelegenheit, das erworbene Wissen anzuwenden.
Das Flex-Training ist eines von aktuell zehn Modulen des Schulungsprogramms der ITech Academy zum Certified Professional for Software Architecture – Advanced Level (CPSA-A).

 

Für weitere Informationen:

Training „iSAQB Flexible Softwaremodelle (FLEX)“

Info „iSAQB CPSA Advanced Level (CPSA-A)“

 

Bildrechte:
„Cortadora de metal“ von Carlos Castaneda Giron CC BY-SA 3.0 ], vom Wikimedia Commons

Vorgestellt: Die neue itech-progress.com

Vorgestellt: Die neue itech-progress.com

Alles neu macht der Mai: ITech Progress präsentiert ein neues Website-Konzept für kurze Wege zu Unternehmen, Leistungen und Schulungsangebot. Die Kunden der ITech Academy können jetzt schnell und einfach ihre Trainings im Online-Shop buchen.

Ludwigshafen im Mai 2018. Nach einem umfangreichen Strategiewechsel im vergangenen Jahr, verbunden mit einem neuen, modernisierten Auftritt von ITech Progress als IT-Consultant und der ITech Academy als Schulungsanbieter, stand nun die letzte große Hürde an: Das neue Website-Konzept als Spiegel der Kundenwünsche. In beiden Geschäftsbereichen haben wir Kritik und  Anregungen unserer Kunden und Partner aufgenommen und als grundlegende Anforderungen an die neue Website definiert.

 

Fokus auf die Kernkompetenzen

Unser Portfolio im IT-Consulting hat sich mit den Branchentrends in den vergangenen Jahren deutlich entwickelt. Unsere Teams wurden immer agiler. Aus Monolithen wurden Microservices. Und die Serviceorientierung wird immer häufiger durch an der Domäne ausgerichtete Konzepte abgelöst. Geblieben ist über all die Jahre unser Fokus auf der Softwarearchitektur. Sie ist untrennbarer Bestandteil unserer DNA als IT-Dienstleister und willkommenes Pflichtprogramm für jeden unserer Entwickler.

Dieser Wandel im Portfolio spiegelt sich nun auch in den Bereichen „Unternehmen“ und „Consulting“ der neuen Website wider. Die Seiten sind zeitgemäß als „One-Pager“ angelegt. Sprungmenüs helfen auf jeder Seite bei der schnellen Navigation durch die Inhalte. Wer ITech Progress nicht kennt, wird schon nach wenigen Klicks einen Überblick haben. Genau das war das gesetzte Ziel.

 

Trainings einfach online buchen

Von der Startseite an bietet die neue itech-progress.com unterschiedliche Wege an, um mit maximal drei Klicks zu allen wichtigen Informationen und zur Buchung eines offenen Trainings zu gelangen. Über das Hauptmenü können iSAQB Schulungen direkt aufgerufen und der passende Termin ausgewählt werden. Mit dem dritten Klick landet das Training bereits im Warenkorb. Die beliebten Rabatte (Frühbucher, Gruppe und Kombi) werden durch das Shopsystem automatisch berechnet, alter und neuer Preis werden nebeneinander ausgewiesen. Die Rechnung folgt sofort per E-Mail und kann nach absolvierten Training bequem per Überweisung gezahlt werden.

Website und Shopsystem sind selbtverständlich mit einem eigenen Zertifikat verschlüsselt. Persönliche Daten und Bestelldetails können nur vom Nutzer selbst nach Eingabe des Passworts eingesehen und bearbeitet werden.

Eine Buchung kann in deutscher oder englischer Sprachversion in ganz Europa durchgeführt werden. Für Inhouse-Trainings sorgt ein Formular für die schnelle Übermittlung der Anfrage, die durch das Team der ITech Academy umgehend bearbeitet wird.

 

Responsiv in Front- und Backend

Auch für das Content-Team von ITech Progress hat sich einiges verändert. Mit einem neuen, innovativen WYSIWIG-Editor können alle Inhalte in Echtzeit auf der Liveseite geändert werden. Selbst die Anpassung an mobile Endgeräte kann auf diese Art problemlos umgesetzt werden. 

Für die Seitenbesucher bringt das den Vorteil, dass alle Inhalte auch auf Smartphone oder Tablett sinnvoll dargestellt werden und alle Funktionen auch bei kleinen Bildschirmformaten zur Verfügung stehen. Auch eine Trainingsbuchung kann somit schnell und bequem von Unterwegs erledigt werden.   

 

Offen für Ihre Ideen

Wir freuen uns, wenn Sie die weitere Entwicklung der neuen itech-progress.com mitgestalten möchten. Für Ihre Kritik oder Ihre Anregungen zu unserer Website sind wir gerne offen. Rufen Sie uns an unter  +49 621 595 7020 oder schreiben Sie eine E-Mail an marketing@itech-progress.com.

 

Wir sind gespannt auf Ihr Feedback!