SOFTWARE MEETS BUSINESS:
Die Konferenz für Software-Architektur
08. - 12. Februar 2021, Online-Konferenz
SOFTWARE MEETS BUSINESS:
Die Konferenz für Software-Architektur
08. - 12. Februar 2021, Online-Konferenz
In einer Live-Coding-Session werde ich demonstrieren, wie über eine Continuous Deployment Pipeline in Kombination mit Consumer-driven Contracts und einem Pact Broker sichergestellt werden kann, dass sowohl auf der Integration Stage als auch in Produktion nur Services deployt werden (können), deren Schnittstellen kompatibel sind.
Zielpublikum: Architekt:innen, Entwickler:innen, Projektleiter:innen
Voraussetzungen: Java-Kenntnisse sinnvoll, Microservices-Erfahrung, Grundkenntnisse in CI/CD
Schwierigkeitsgrad: Fortgeschritten
Arne Limburg ist Lead Architect bei der open knowledge GmbH in Oldenburg. Er verfügt über mehrjährige Erfahrung als Entwickler, Architekt und Trainer im Enterprise- und Microservices-Umfeld. Zu diesen Bereichen spricht er regelmäßig auf Konferenzen und führt Workshops durch. Darüber hinaus ist er im Open-Source-Bereich tätig, unter anderem als PMC Member von Apache Meecrowave, Apache OpenWebBeans und Apache DeltaSpike und als Urheber und Projektleiter von JPA Security.
Mit ITIL4 steht seit Februar 2019 ein Framework für agiles Service-Management bereit, das das "alte" ITIL explizit in Richtung von agilen Ansätzen öffnet und für eine neuartige Nutzung bereit macht. In der Tat kombinieren viele Organisationen verschiedene Konzepte, um ihre IT effektiver zu gestalten und agile Ansätze zu skalieren. In diesem Vortrag werden die Neuerungen durch ITIL4 kurz dargestellt, mit DevOps zusammengeführt und dann anhand ausgewählter Aspekte die Skalierungsmöglichkeiten für hoch performante IT-Organisationen dargestellt.
Zielpublikum: Führungskräfte im IT-Management, Teamleiter:innen, Service-Manager:innen, Scrum Master, Product Owner
Voraussetzungen: Allgemeine Erfahrungen in der agilen Software-Entwicklung oder im Betrieb von Applikationen
Schwierigkeitsgrad: Fortgeschritten
Extended Abstract:
Für agile Organisationen steht ITIL als verstaubtes und stark reglementierendes Framework. Die ITIL-Prozesse und Vorgaben stehen in vielen Unternehmen als Gegensatz zu autonomen und selbstorganisierenden DevOps-Teams. Spätestens wenn mehrere Teams an einem Produkt arbeiten, agile Entwicklungsmannschaften aus vielen Menschen bestehen und die Betriebstätigkeiten wirklich in den DevOps-Teams etabliert werden müssen, stellt sich die Problematik der Skalierung. Aufgrund der jahrelangen Erfahrung des Autors in beiden Welten wird ITIL4 als idealer Ansatz für eine sofort nutzbare Skalierungsmethode erläutert. ITIL4 hat sich neu erfunden und kann bspw. sehr schön über den Value Stream-Ansatz mit DevOps kombiniert werden. In diesem halbtägigen Workshop stecken knapp 2 Jahre Erfahrung in der Konzeption und Durchführung sowie mehrere Inhouse und offene Seminare.
Im Vergleich zur klassischen Software-Entwicklung, in der DevOps-Tools und Prozesse seit vielen Jahren gang und gäbe sind, stehen wir bei Machine Learning-Projekten noch recht am Anfang.
Dennoch gibt es immer mehr Tools, wie beispielsweise Kubeflow, DevOps für Azure ML Services oder Databricks etc., die sich dieser Problematik annehmen.
In dieser Session zeigt Sascha Dittmann, wie diese Tools KI-Projekte unterstützen können und wie sich diese in die tägliche Arbeit integrieren lassen.
Zielpublikum: Architekt:innen, Entwickler:innen, Data Scientists
Voraussetzungen: Grundlagen in ML sind hilfreich, aber nicht unbedingt nötig
Schwierigkeitsgrad: Fortgeschritten
Extended Abstract:
Im Vergleich zur klassischen Software-Entwicklung, in der DevOps-Tools und Prozesse seit vielen Jahren gang und gäbe sind, stehen wir bei Machine Learning-Projekten noch recht am Anfang.
Dennoch gibt es immer mehr Tools, wie beispielsweise Kubeflow, DevOps für Azure ML Services oder Databricks etc., die sich dieser Problematik annehmen.
In dieser Session zeigt Sascha Dittmann, wie diese Tools KI-Projekte unterstützen können und wie sich diese in die tägliche Arbeit integrieren lassen.
Dabei werden verschiedene Themenbereiche abgedeckt, wie z.B. der Aufbau einer Pipeline für kontinuierliches Modelltraining, die Automatisierung der Validierung der Modelle, die Erstellung einer Service-Infrastruktur, die Implementierung von Monitoring und mehr.
Vortrag Teilen
Mittlerweile wird die Infrastruktur immer mehr mithilfe von Code beschrieben und automatisiert. Klassische Betriebler mutieren auf einen Schlag zu Entwicklenden und müssen programmieren, um an ihre Infrastruktur zu kommen.
Doch ist auch allen Beteiligten klar, dass sie zu Programmierern geworden sind? Wenn man sich Entwicklungsprozess und Code anschaut, erinnern beide stark an die Fricklermentalität der 2000er: Juhuu, es läuft irgendwie.
Dieser Vortrag zeigt, was helfen kann, den Infrastruktur-Code qualitativ hochwertiger zu machen.
Zielpublikum: Entwickler:innen, Operation
Voraussetzungen: Grundkenntnisse aus IaC
Schwierigkeitsgrad: Anfänger
Extended Abstract:
Mittlerweile wird die Infrastruktur immer mehr mithilfe von Code (Provisionierungsskripte, Dockerfiles, (Shell-) Skripte etc.) beschrieben und automatisiert. Klassische Betriebsabteilungen mutieren auf einen Schlag zu Entwicklungsabteilungen und müssen programmieren, um an ihre Infrastruktur zu kommen.
Doch ist auch allen Beteiligten klar, dass sie zu professionellen Programmierern geworden sind? Wenn man sich Entwicklungsprozess und Code anschaut, erinnern beide stark an die Fricklermentalität der 2000er: Juhuu, es läuft irgendwie, kein VCS, keine Qualitätssicherung mit Test oder Review.
Wenn es sich stark nach “normaler” Software-Entwicklung anfühlt, warum dann auch nicht die Best Practices und Lessons Learned der letzten 30 Jahren auf Infrastructure as Code adaptieren und somit die Qualität erhöhen? Müssen die frisch gebackenen OpsDevs die alten Fehler der Devs wiederholen? Kann man Infrastruktur-Code vielleicht sogar testgetrieben entwickeln?
Dieser Vortrag lädt zu einer Zeitreise ein, welche Best Practices in der Software-Entwicklung zur einer höheren Qualität geführt haben und wie diese Erkenntnisse helfen können, die Entwicklung von Infrastruktur-Code qualitativ hochwertiger zu machen.
Sandra Parsick ist Java Champion und arbeitet als freiberufliche Software-Entwicklerin und Consultant im Java-Umfeld. Seit 2008 beschäftigt sie sich mit agiler Softwareentwicklung in verschiedenen Rollen. Ihre Schwerpunkte liegen im Bereich der Java Enterprise-Anwendungen, Cloud, Software Craftsmanship und in der Automatisierung von Softwareentwicklungsprozessen. Darüber schreibt sie gerne Artikel und spricht auf Konferenzen. In ihrer Freizeit engagiert sich Sandra Parsick in verschiedenen Programmkomitees und Community-Gruppen.
Vortrag Teilen
Microservices kommen als Architektur-Idee gut an, Kubernetes etabliert sich als ihre Laufzeitumgebung - plus seiner Komplexität.
Praktisch ist jedoch, dass es auch mit eigenen Operatoren erweitert werden kann. Sie können im Test und Deployment der Services mit all ihren definierten Abhängigkeiten und deren Konfigurationen durch Automatisierung helfen. Dies rundet Microservices ab und erleichtert das Leben.
Lassen Sie sich in die Idee und die Entwicklung von Operatoren einführen.
Zielpublikum: Entwickler:innen, DevOps
Voraussetzungen: Basiskenntnisse in Go und Kubernetes
Schwierigkeitsgrad: Anfänger
Extended Abstract:
Das Ausrollen von Microservices in einem Kubernetes-Cluster kann ein recht manueller Prozess sein, welcher sich mit externen Tools automatisieren lässt. Doch dies lässt von Service zu Service noch viel Freiraum zu, insbesondere in Bezug auf Abhängigkeiten wie Datenbanken, Message Queue und weiteren Tools.
Kubernetes Operatoren erlauben die Verlagerung der Automatisierung von außen nach innen. Die durch die Services zu nutzenden Tools und ihre Standardkonfigurationen lassen sich so zum Beispiel vordefinieren, sodass für das Rollout eines neuen Service nur mehr eine relativ begrenzte Konfiguration notwendig ist. Ebenso können Tests automatisch angestoßen werden. Die Einsatzzwecke sind vielfältig.
Die Session führt in die Idee der Operatoren ein, zeigt die Client-Bibliothek ebenso wie den Kubebuilder und nimmt dann in die Entwicklung eines Microservice Operators mit.
Frank Müller, Solution Engineer und Consultant bei Kubermatic, bewegt sich seit über dreißig Jahren in der Welt der Software. So unterschiedlich wie die Projekte waren auch die eingesetzten Sprachen und abgedeckten Rollen. Ab 1999 kamen Fachartikel, Talks sowie ein Buch über Go hinzu. Frank verfolgt die Entwicklung dieser Sprache seit ihrer Ankündigung 2009 und setzt sie seit nun bald 10 Jahren hauptberuflich im Umfeld verschiedener offener und geschlossener Projekte rund um Microservices, Cloud-Systeme und Kubernetes ein.
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/autor/Frank.Mueller
Vortrag Teilen
Wir bei intersoft bauen in Hamburg die Software für unsere Mutterfirma, die WWK-Versicherung in München. Entfernung: > 6 h Bahnfahrt. Alter der beteiligten Software-Komponenten: > 30 Jahre. Ältestes bekanntes Betriebssystem: BS2000. Kulturen: Bajuwaren und Wikinger. All das bietet eine Menge Zündstoff für Konflikte.
Wir berichten mitten aus der HOST-Migration der WWK auf zeitgemäße IT, über die Koexistenz moderner Produktentwicklungsteams mit alten 2-Monats-Releasezyklen. Und darüber, wie uns das Corona-Virus hilft, besser zu werden.
((d[-_-]b))
Zielpublikum: Legacy & Innovation lovers
Voraussetzungen: None
Schwierigkeitsgrad: Fortgeschritten
Extended Abstract:
Die HOST-Migration ist ein gigantisches und definierendes Projekt der WWK und muss bis 2023 abgeschlossen sein. Neben der ganz alten HOST-IT und der ganz neuen IT gibt es auch noch viel gewachsene Java-Software, die schon an den Rändern vergilbt. Insgesamt stehen wir damit vor einer entscheidenden Herausforderung für die Firma und vor einer Situation, die viele Unternehmen in ähnlicher Form kennen sollten. Neben den technischen Herausforderungen finden wir auch die organisatorischen und die kulturellen spannend. Wir berichten über:
Die entstehende Architekturarbeit zwischen Teams und Konzern.
Traditionelle Quality Gates in einem neuen gemeinsamen interkulturellen KANBAN Board.
Die schrittweise Verzahnung des Münchner Operations-Teams mit den Hamburger Entwicklern.
Wie sich QA im gesamten Prozess aus einem Test-Dungeon entwickelt
Wie ein Programm-Manager 3 Jahre vor der Rente beginnt, von Helm-Charts zu reden
Wir berichten davon, was schieflief und wo wir im Januar 2021 stehen werden
Das Vorhaben der HOST-Ablösung befindet sich nun schon im zweiten Jahr und wir haben gerade eine schlimme Frust-Phase hinter uns und ehrgeizige Meilensteine vor uns. Um von Frust auf Erfolg zu gehen, haben wir uns im Februar/März 2020 eng getaktete und frühe Liefertermine gesetzt. Interessanterweise hat das bei allen Stakeholdern zu viel Vertrauen geführt und die beteiligten Teams motiviert. Und dann kam Corona, und anstatt einer neuen Depression erleben wir, dass es besser läuft als erwartet. Auf einmal ist die gesamte Company gleich weit voneinander entfernt. Die Zusammenarbeit Hamburg, München und zurück läuft viel besser als vormals. Die Teams sind engagiert und hängen sich richtig rein. Meetings sind so effizient wie kaum zuvor.
Im Februar berichten wir dann live, wie es gelaufen ist und weiter geht.
Vor allen Dingen die Verzahnung von Produkt > Dev > QA > OPS in einen gemeinsamen schneller drehenden Prozess ermöglicht uns den Erfolg.
Hannes Mainusch - impulsiver nerd-manager.
Dinge, die mich inspirieren, sind innovative Technologien, Röhrenradios und Radfahren. Und ich freue mich, wenn die Menschen um mich herum und ich lernen, besser zu werden. Veränderung beinhaltet Scheitern und Lernen, organisatorische Veränderung beinhaltet die Schaffung einer Lernumgebung. Also versuche ich, offen für neue Herausforderungen zu bleiben und gleichzeitig einen tollen und empathischen Job im Change-Management zu machen.
In den letzten Jahren war ich im IT-Management und Consulting tätig. 2016 haben wir die commitment GmbH & Co. KG als Experiment radikaldemokratischer Unternehmensberatung gegründet.
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/autor/johannes.mainusch
Vortrag Teilen
After years of introducing “CI”/CD-Pipelines, after using Jenkins, CircleCI, Docker and K8s, your teams still don’t deliver software within minutes? And your customers still know about bugs before you do? Well, maybe you’re doing it wrong.
We’ll share our experiences on how to incrementally get organisations and systems to be able to leverage all the things associated with “continuous everything”. We argue for solutions tailored to individual situations, and more connected to software craftsmanship than to buzzwords and boxed solutions.
Target Audience: Everyone with the challenge to get functionality to customers - quick
Prerequisites: Some knowledge about general software development
Level: Advanced
Extended Abstract:
After years of introducing “CI”/CD-Pipelines, after using Jenkins, CircleCI, Docker and K8s, your teams still don’t deliver software within minutes? And your customers still know about bugs before you do?
Maybe designing the perfect world during your first sprint just doesn’t cut it. The beautiful docker scaling idea just doesn’t work, because the “microservice” can only run in one instance at a time. The testautomation framework the Ops team provided can unfortunately not test your windows application. Your elasticsearch needs more and more space, but none of the developers have removed a single exception notification. The awesome buildpipeline with the included tests has a great dashboard that shows a red build continuously, but no one cares and you still do hotfixes on the production system. And your last major “refactoring” branch has been running green for the last two month, but you just can’t merge it back into your production code without breaking a few minds.
Well, maybe you’re doing it wrong.
Companies that successfully employ continuous delivery usually don’t excel in their tools. They excel in the architecture of their software, they excel in the way the people in the company work together, they excel in the way everyone actually understands what they are doing. In such environments people are not afraid of magic things that might happen in some unknown system, but leverage tools to automate things they themselves know how to do - so good that it gets boring and thus these tasks are better done by tools.
We’ll share our experiences on how to incrementally get organisations and systems to be able to leverage all the things associated with “continuous everything”. We argue for solutions tailored to individual situations, and more connected to software craftsmanship than to buzzwords and boxed solutions.
Michael Mahlberg is a method-agnostic method consultant since the 1980s – In the beginning more in the areas of analysis, design and architecture, nowadays more in the area of processes and change. Mantra: Accept Reality.
Vortrag Teilen
YAML seems to be the predominant way to describe our Kubernetes workloads. For each and every microservice we have to declare pods, deployments, services and a lot more. Now multiply this by several environments and deployment variants. The result often is excessive YAML bloat that leads to insufficient dev-prod parity, frustration and low developer productivity. So make sure to join this talk if you want to learn how to continuously deliver quality software and have happy Cloud-native developers on your team again.
Target Audience: Developers, Architects, Tech Leads, SREs
Prerequisites: Basic knowledge and experience with tools and practices of Cloud-native DevOps
Level: Advanced
Extended Abstract:
In this session we will have a closer look at several developer focused tools like Buildpacks, Helm, Kustomize, Skaffold and Tilt. These tools aim to improve and optimize the inner development loop by reducing the amount of YAML and the required steps from source to deployment significantly.
Mario-Leander Reimer ist passionierter Entwickler, stolzer Vater und #CloudNativeNerd. Er arbeitet als Principal Software Architect bei der QAware GmbH und beschäftigt sich intensiv mit den Innovationen und Technologien rund um den Cloud Native Stack und deren Einsatzmöglichkeiten im Unternehmensumfeld. Außerdem unterrichtet er Software-Qualitätssicherung an der TH Rosenheim.
Mehr Inhalte dieses Speakers? Schaut doch mal bei sigs.de vorbei: https://www.sigs.de/autor/Mario_Leander_Reimer
Vortrag Teilen
In Zeiten von No-Code und Low-Code wird Tempo immer wichtiger. Mit SaaS-Diensten aus dem Netz kann man in kurzer Zeit eine funktionale Web-Anwendung bauen. Content-Management, Payment, Deployment in der Cloud – alles integriert in nur einer Woche.
Dank des Static-Site-Generators Gridsome sind trotzdem Security, Hochverfügbarkeit und Performance von Anfang mit an Bord. Das Backend besteht aus ein paar Cloud Functions und das Deployment erfolgt nach GitOps-Prinzipien.
Wir geben einen Einblick in die Architektur und die wichtigsten Bausteine.
Zielpublikum: Architekt:innen, Entwickler:innen, Projektleiter:innen, Management
Voraussetzungen: Keine
Schwierigkeitsgrad: Fortgeschritten
Extended Abstract:
Entwickler schreiben gerne Software, so gerne, dass oft das Rad neu erfunden wird. Wir haben im Rahmen der Entwicklung eines Prototyps auch für uns neue Wege beschritten und so wenig wie möglich Software geschrieben. Stattdessen haben wir konsequent SaaS-Dienstleister angebunden. In dem Talk möchten wir mit dem Mittel des Storytellings am Beispiel von lauffähigem Code von dieser auch für uns spannenden Reise erzählen.
Neben der Story möchten wir auch die wichtigsten Building Blocks kurz vorstellen: Gridsome, GraphCMS, Snipcart und Google Firebase.
Vortrag Teilen
Introducing SRE is a challenging endeavor. Not only does it involve technological choices and practices but also processes, organization and culture. This talk will walk through the evolution of operations/SRE at Instana. Starting in the early days with just a handful of well-meaning family-and-friends customers over platform re-architectures and team growth to the present day with customers all around the world and 365/24/7 operations. It will touch the key challenges we had to face in each of these phases and how we approached them.
Target Audience: Developers, Operators, DevOps, Project Leads, Managers
Prerequisites: None
Level: Basic
DevOps as a software engineering practice unifies software development (Dev) and software operation (Ops). To assist with quality delivery in with DevOps you need to provide a “Quality Delivery Pipeline” to assure the delivery meets the requirements and proper validation and checks are done before releasing into full production. This talk will focus on the “Quality Delivery Pipeline” as a practice that can help sustain delivering with confidence by addressing important qualities in the pipeline.
Target Audience: English, Developers, Architects, QAs, Testers, Product Owners
Prerequisites: Basic Understanding of architecture and microservices and familiarity with DevOps
Level: Advanced
Extended Abstract:
Many software development processes such as Agile and Lean focus on the delivery of working software that meets the needs of the end-users. Many of these development processes help teams respond to unpredictability through incremental, iterative work cadences, and through empirical feedback. There is a commitment to quickly deliver reliable working software that has the highest value to those using or benefiting from the software. DevOps has become a common practice to assist with quality delivery in these practices, specifically when developing using the microservices architectural style. DevOps as a software engineering practice unifies software development (Dev) and software operation (Ops). To assist with quality delivery in these practices you need to provide a “Quality Delivery Pipeline” to help assure the delivery meets the requirements and proper validation and checks are done before releasing into full production. At the end of the pipeline the validated system will be deployed into production. There are various deployment techniques to help successfully and reliably deploy more quickly. The goal is to give confidence by providing "reliable, working software" to the user (making the user confident in the system). Also, the teams will have more confidence the system is working. This talk will focus on the “Quality Delivery Pipeline” as a practice that can help sustain delivering with confidence by addressing important qualities in the pipeline.
Joseph (Joe) Yoder is president of the Hillside Group and principal of The Refactory. He is best known as an author of the Big Ball of Mud pattern, illuminating fallacies in software architecture. Joe teaches and mentors developers on agile and lean practices, architecture, flexible systems, clean design, patterns, refactoring, and testing. Joe has presented many tutorials and talks, arranged workshops, given keynotes, and help organized leading international agile and technical conferences.
Vortrag Teilen
Agile Software-Entwicklung und kontinuierliches Threat Modeling: Geht das? Ja, und zwar ganz getreu dem DevSecOps-Sinne mittels “Threat-Model-as-Code”!
Sehen Sie in dem Talk die Ideen hinter diesem Ansatz: Entwicklerfreundliches Bedrohungsmodellieren direkt aus der IDE heraus, ganz stilecht mit einer Live-Demo mittels Open-Source-Werkzeugen: In IDEs editierbare und in Git diffbare Modelle, interaktive Modellerstellung, automatisch regel-basiert abgeleitete Risiken sowie grafische Diagramm- und Reportgenerierung inkl. Mitigationsmaßnahmen.
Zielpublikum: Architekt:innen, Entwickler:innen, Security Consultants
Voraussetzungen: Architekturerfahrung & Security-Interesse
Schwierigkeitsgrad: Fortgeschrittee
Extended Abstract:
Nachdem die Herausforderung, Security in agile Projektmethoden und DevOps-Verfahren zu integrieren, mittels DevSecOps angegangen wurde, steht direkt das nächste Integrationsproblem vor der Tür: Bedrohungsmodellierung!
Wenn wir durch Pipeline-as-Code zuverlässig, reproduzierbar und jederzeit schnell unsere Software bauen können und nun auch durch passende Werkzeuge Securityscans automatisiert haben, wie können wir dann die Risikolandschaft unserer Projekte ebenfalls schnell erfassen?
Eigentlich geschieht so etwas in aufwendigen Workshops mit viel Diskussion sowie Modellarbeit am Whiteboard mit Kästchen, Pfeilen & Wölkchen. Diese Veranstaltungen sind durchaus sinnvoll und wichtig, da nur mit dieser Tiefe manche Bedrohungen in einer Architektur rechtzeitig erkannt werden. Schade nur, dass es meistens dann auch aufhört: Anstelle eines lebenden Modells entsteht ein langsam aber sicher erodierendes Artefakt.
Um diesem Verfallsprozess entgegenzuwirken, muss etwas Kontinuierliches her, etwas wie "Threat-Model-as-Code" im DevSecOps-Sinne. Sehen Sie in diesem Talk die Ideen hinter diesem Ansatz: Agiles und entwicklerfreundliches Bedrohungsmodellieren direkt aus der IDE heraus — ganz stilecht mit einer Live-Demo mittels Open-Source-Werkzeugen.
Ergebnis? In Entwickler-IDEs editierbare und in Git diffbare Modelle, automatisch regel-basiert abgeleitete Risiken inklusive grafischer Diagramm- und Reportgenerierung mit Mitigationsmaßnahmen. Die Architektur ändert sich? Ein erneuter Lauf liefert die aktuelle Risikosicht …
Vortrag Teilen