Moderne Architekten machen erheblich mehr als UML Diagramme zeichnen oder Architekturstile zu katalogisieren. Sie liefern enormen Wert, indem sie die Unternehmensstrategie mit technischen Entscheidungen im Maschinenraum verknüpfen. Dies erfordert Fingerspitzengefühl und die Fähigkeit, komplexe technische Zusammenhänge und Abwägungen auf verschiedenen Ebene zu kommunizieren, ohne die Inhalte zu verwässern oder das Publikum zu verwirren. Dieser Talk hilft Architekten…
Im Zuge der Modernisierung von Software-Landschaften werden Services (und damit die Code-Basis) immer kleiner.
Architekten sind mehr damit beschäftigt, die Kommunikation der Services untereinander in den Griff zu kriegen.
Für die Implementierung der einzelnen Services brauchen man ja (fast) keine Architektur, oder? Schwergewichtige Upfront-Architekturen sind doch meistens eh nur im Weg und verlangsamen den Entwicklungsprozess.
In der Session wollen wir diskutieren,…
Infrastructure as Code ist schon fast ein alter Hut, und gerade in der cloud-basierten Entwicklung im Mainstream angekommen. Mit Werkzeugen wie AWS CDK und Pulumi geht der Trend hierbei zu einem klaren Fokus auf „as Code“ - im Gegensatz zum bisher oft üblichen "as Configuration".
Auf der anderen Seite des * as Code Spektrums etabliert sich „Architecture as Code“. Mit Angeboten wie Structurizr ist es nun auch möglich, System- und Anwendungs-Architektur in Form von Code zu…
Keycloak ist eine Open Source Lösung für Identity und Access Management, die seit vielen Jahren weltweit in großen und kleinen Installationen eingesetzt wird.
Von Anfang an unterstütze es relationalen Datenbanken via JPA/Hibernate. Über die Zeit kamen weitere Speichermöglichkeiten für Caching und ein In-Memory-Grid dazu, außerdem wurden Directory-Dienste wie LDAP integriert. Mit der Zeit verwoben sich die verschiedenen Bereiche, so dass neue Funktionen schwieriger…
Der Sessiontitel ist Leitsatz des Persistenz-Managers JOOQ und Ausdruck der Grundeinstellung, dass SQL ein zu mächtiges Werkzeug ist, um es hinter komplizierten und dennoch einschränkenden Abstraktionen wie JPA zu verbergen. SQL-freies CRUD ist OK, aber ansonsten sollte keine Pseudo-Intelligenz zwischen dem Entwickler und der DB stehen und ein Gefühl von Kontrollverlust verbreiten. Für Web-UIs gibt es Micro-Frameworks, und auch für die Persistenz gibt es durchschaubare…
Der Vortrag stellt aktuelle Ansätze für die Sicherheitsbewertung auf Architekturebene vor. Häufig verwendete Muster für Architekturen werden auf ihre Sicherheitseigenschaften analysiert und grundlegen Prinzipien für sicheres Design vorgestellt. Ein vorgestellter Leitfaden gibt Hinweise für ein systematisches Vorgehen zur Erstellung sicherer Softwarearchitekturen. Als Werkzeuge zum praktischen Einsatz in der Sicherheitsanalyse von Architekturen kommen u.a. SonarQube und…
Architektur: Die soll doch das Stabile sein! Und die Wahl der richtigen Architektur sorgt dafür, dass die Software auch in Zukunft weiterentwickelt werden kann! Was zunächst sinnvoll erscheint, erweist sich in der Realität oft als erster Schritt hin zu einem Architektur-Fehlschlag. Wenn sich die Anforderungen, die Erkenntnisse oder die Technologien ändern, muss sich leider die Architektur auch ändern. Wie kann sie dann zukunftssicher sein? Diese Präsentation zeigt, wie…
Heutzutage führt kein Weg an Single Page Applications vorbei. Ob React, Angular, VueJS oder eines der anderen Frameworks. Die Standardantwort auf die Frage nach der Frontend-Architektur heißt SPA. Doch was kaum jemand bemerkt:
Die SPA Idee ist legacy! Mit AngularJS wurde vor 10 Jahren diese Idee breit umgesetzt.
Ich möchte im Vortrag zeigen, aufgrund welcher Frontend-Probleme man ursprünglich SPAs entwickelt hat und ob es für diese Probleme nicht heutzutage innovativere…
Impulsvortrag: Irre! Führend? —> Softwarearchitekt:in
Guckst du auf Wikipedia, ist es total doof beschrieben. Fragst du Leute auf der Straße, so haben die auch keine Ahnung was es ist. Nutzt du die Metapher Architekt, so trägt sie nicht weit. Was also ist der Softwarearchitekt in der Organisation wert?
Die technische Verantwortung innerhalb der Organisation trägt der CTO. Wie nun kann diese Verantwortung in die Teams und zu den Architekt:innen delegiert werden?
Topics:
Immer mehr Entwicklerinnen schreiben Anwendungen, die später in einem Kubernetes Cluster laufen sollen. Was kann dabei so schwierig sein? Angefangen "Wie strukturiere ich meine Repositories?", "Wo lege ich meinen Code für das Deployment ab (Containerfiles, Helm Charts, Config Values)?", "Was muss bei der Entwicklung der Anwendung beachtet werden?", "Wie bekomme ich den Code lokal getestet?", "Wie bekomme ich mit, was im Test-Cluster passiert?"
Dieser Vortrag geht am…
Machine Learning ist eine spezielle Form der Software-Entwicklung und hat als solche viele Gemeinsamkeiten, aber auch einige Unterschiede zur traditionellen Software-Entwicklung. Während traditionell Software-Entwickler Code von Hand schreiben wird im Machine Learning ein Modell anhand von bestimmten Daten, einer Modell-Architektur und einem Trainings-Script erzeugt.
Anhand eines durchgängigen Beispiels bewegen wir uns in diesem Workshop durch die unterschiedlichen…
Continuous Delivery ist allgegenwärtig. Wirklich? Viele Teams straucheln immer noch dabei regelmäßig gut getestete Produktinkremente zu liefern. Immer mit der gleichen alten Ausrede: die (nicht)-funktionalen Tests seien zu aufwändig und zu teuer umzusetzen. Doch genau das Gegenteil ist der Fall! In diesem Vortrag gehen wir kurz auf die Bedeutung früher und regelmäßiger (nicht)-funktionale Tests von Cloud-nativen Anwendungen ein und erläutern warum monolithische CI…
Die falsche Architekturentscheidung heute kann morgen zu Kosten, Verzögerung und Leid führen. Wir können versuchen, das Problem durch sorgfältige Planung zu lösen - Qualitätsbäume malen, Referenzarchitekturen zücken - und trotzdem können die sich daraus ergebenden Entscheidungen falsch sein. (Oder falsch werden, wenn sich Anforderungen oder Kontext ändern.) Eine bessere Strategie ist, die großen Entscheidungen möglichst spät zu treffen, weil wir dann mehr wissen und sie…
Microservices. APIs. Cloud native. Always on. Near-realtime. And so on. Today's IT landscapes are highly interconnected, massively distributed and need to be responsive 24x7. Downtimes are not an option. Long response times are not an option, either. Thus, time to learn resilient software design.
In this workshop, we will first discuss why we need resilient software design. Then we will build a little essential patterns toolbox for handling timeouts, failures, overload…
CQRS und Event Sourcing werden schon länger als Alternative zu klassischen Schichtenarchitekturen propagiert. Jedoch gab es lange keine Frameworks, die eine umfassende Lösung bieten um diese Patterns auch in der Praxis anwenden zu können. Das Open Source Framework Axon schließt diese Lücke.
Durch die Nutzung des Frameworks wird es für Entwickler ein leichtes, von den Vorteilen von CQRS/ES zu profitieren: Beliebige Skalierung durch Trennung von Schreib- und Lesemodellen…
Cloud-Provider stellen eine große Auswahl an Services zur Verfügung, die es uns ermöglichen, ein breites Spektrum an Systemen zu entwerfen, entwickeln und zu betreiben. Solche Systeme werden schnell sehr komplex und bestehen aus vielen kleinen Bausteinen, die aus verschiedenen Cloud-Diensten zusammengestellt sind. Wie gelingt es uns, einen Überblick zu behalten und die Einhaltung unserer wichtigsten Qualitätsziele sicherzustellen? Aus dem Bereich der evolutionären…