No Bullshit - embarc...- Henrik Kniberg (about Spotify) ... want, any time, everywhere, on every...
Transcript of No Bullshit - embarc...- Henrik Kniberg (about Spotify) ... want, any time, everywhere, on every...
No Bullshit Architekturarbeit neu gedacht STEFAN TOTH
München
22. Oktober 2015
0
2 No Bullshit – Architekturarbeit neu gedacht embarc.de
Stefan Toth
xing.to/sto www.embarc.de www.swamuster.de
@st_toth
3 No Bullshit – Architekturarbeit neu gedacht embarc.de
Abstract Klassische Architekturarbeit hat mit Modellen, Dokumenten und Richtlinien zu tun. Vielleicht werden auch Standards oder Metamodelle erarbeitet, Zielarchitekturen entworfen und größere Bewertungsworkshops geplant. Die Methoden dafür sind teilweise über 20 Jahre alt und gut verstanden. Szenenwechsel: Moderne Internet-Frimen bauen große, komplizierte Applikationen in verteilten Projekten mit dutzenden Mitarbeitern - und von klassischer Architekturarbeit ist wenig zu sehen. Die Architekturdisziplin verwischt mit der Umsetzung, verliert ihre herausgehobene Stellung. Haben Spotify, Automattic (WordPress), Netflix oder Facebook einfach andere Voraussetzungen? Haben sie bessere Entwickler? Brauchen Web-Applikationen weniger Architektur? In dieser Session wird mit einigen Vorurteilen und Mythen aufgeräumt und gezeigt, wie die Big Player des Internets Architektur gestalten und umsetzen. Dabei tauchen alt bekannte Architekturpraktiken in neuem Gewand auf, andere Praktiken werden neu gedacht oder auch verworfen. Konkrete Beispiele illustrieren den Wandel und zeigen Potenziale auf.
4 No Bullshit – Architekturarbeit neu gedacht embarc.de
Architektur-Arbeit Architekturen entwerfen und weiterentwickeln
Über was ich heute spreche…
5 No Bullshit – Architekturarbeit neu gedacht embarc.de
Klassiche Softwarearchitektur
…in 10 Minuten
6 No Bullshit – Architekturarbeit neu gedacht embarc.de
Klassiche Softwarearchitektur
Modellierung und Sichten
7 No Bullshit – Architekturarbeit neu gedacht embarc.de
Die UML
8 No Bullshit – Architekturarbeit neu gedacht embarc.de
9 No Bullshit – Architekturarbeit neu gedacht embarc.de
Zachman Framework
10 No Bullshit – Architekturarbeit neu gedacht embarc.de
DoDAF Sichten
11 No Bullshit – Architekturarbeit neu gedacht embarc.de
12 No Bullshit – Architekturarbeit neu gedacht embarc.de
Klassiche Softwarearchitektur
Architektur als Phase
13 No Bullshit – Architekturarbeit neu gedacht embarc.de
14 No Bullshit – Architekturarbeit neu gedacht embarc.de
15 No Bullshit – Architekturarbeit neu gedacht embarc.de
16 No Bullshit – Architekturarbeit neu gedacht embarc.de
Klassiche Softwarearchitektur
Der Architekt
17 No Bullshit – Architekturarbeit neu gedacht embarc.de
Der Architekt im Überblick
18 No Bullshit – Architekturarbeit neu gedacht embarc.de
Klassiche Softwarearchitektur
Dokumente
19 No Bullshit – Architekturarbeit neu gedacht embarc.de
Software Architecture Description
20 No Bullshit – Architekturarbeit neu gedacht embarc.de
Webseite zum Template
21 No Bullshit – Architekturarbeit neu gedacht embarc.de
22 No Bullshit – Architekturarbeit neu gedacht embarc.de
1972 David Parnas “On the Criteria To Be Used in Decomposing Systems into Modules“
1996 Scenario-Based Analysis of Software Architecture
Klassische Softwarearchitektur
1970
1985
1990
1995
2000
2005
1987 Zachman Framework
1991 Rumbaugh et.al. „Object-Oriented Modeling and Design“
2000 IEEE 1471-2000
1995 TOGAF 1.0
1995 UML 0.8
1994 TAFIM - Technical Architecture Framework for Information Management
1995 IEEE Architecture Planning Group – „incorporating architectural thinking into IEEE standards“
1998 P. Kruchten Rational Unified Process
2000 ATAM
23 No Bullshit – Architekturarbeit neu gedacht embarc.de
Und was machen…
24 No Bullshit – Architekturarbeit neu gedacht embarc.de
Softwarearchitektur unwichtig?
25 No Bullshit – Architekturarbeit neu gedacht embarc.de
Microservices bei Netflix (org.)
Keine klassische Management-Steuerung
Keine Beeinflussung durch andere Teams oder eine zentrale Instanz
• Wenige technologische Vorgaben • Release nach Belieben
“Freedom & Responsibility”
Teams vollumfänglich für ihre Services verantwortlich • Entwicklung • Release und Deployment • Betrieb
26 No Bullshit – Architekturarbeit neu gedacht embarc.de
Spotify engineering culture è https://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-1/
27 No Bullshit – Architekturarbeit neu gedacht embarc.de
Conway …
The technical architecture is hugely important for the way we are organized. The organizational structure must play in harmony with the technical architecture. Many companies can’t use our way of working because their architecture won’t allow it.
- Henrik Kniberg (about Spotify)
““
28 No Bullshit – Architekturarbeit neu gedacht embarc.de
Autonome Systemteile
Schichten Vertikalen
29 No Bullshit – Architekturarbeit neu gedacht embarc.de
Amazon, Netflix, Spotify, Gilt, ...
Softwarearchitektur ist diesen Firmen
sehr wichtig
Aber sie haben keine Modelle, Modellierungstools, große Dokumente, Metamodelle, Repositories, klassischen Architekten, ...
30 No Bullshit – Architekturarbeit neu gedacht embarc.de
Mickey-Maus Systeme?
31 No Bullshit – Architekturarbeit neu gedacht embarc.de
„Moderne“ Softwarearchitektur
32 No Bullshit – Architekturarbeit neu gedacht embarc.de
„Moderne“ Softwarearchitektur
Architekturüberblick
33 No Bullshit – Architekturarbeit neu gedacht embarc.de
Architekturüberblick 2.0
Eine gemeinsame Sicht auf:
§ Die wichtigsten Treiber des Architekturdesigns
§ Und die Kernkonzepte bzw. Ansätze der Architektur.
Dieser schlanke Architekturüberblick sollte allen Entwicklern und wichtigen Stakeholdern des Systems
kommuniziert
34 No Bullshit – Architekturarbeit neu gedacht embarc.de
Artefakte einer Architekturvision
35 No Bullshit – Architekturarbeit neu gedacht embarc.de
Inhalt #1 – Architektur-Stil
Big Ball of Mud
Layers
Verticals / Microservices
Pipes and Filters
Blackboard / Shared Repository
Event-Driven Architecture
36 No Bullshit – Architekturarbeit neu gedacht embarc.de
Inhalt #2 – Architekturüberblick
http://tech.gilt.com/
37 No Bullshit – Architekturarbeit neu gedacht embarc.de
“Freeform” Architekturüberblick
…
38 No Bullshit – Architekturarbeit neu gedacht embarc.de
Inhalt #3 – Qualitätsziele / Treiber
“Amazon is customer obsessed! If only one customer complains, we take the feedback and improve the system”
“Netflix-Members are able to watch tv series and films – as much as they want, any time, everywhere, on every internet-connected device out there.”
“Available everywhere, Great user experience, More convenient than piracy, Fast, reliable, always available, Scalable for many, many users.”
39 No Bullshit – Architekturarbeit neu gedacht embarc.de
Der Standard dazu…
40 No Bullshit – Architekturarbeit neu gedacht embarc.de
„Moderne“ Softwarearchitektur
Gemeinsame Architekturarbeit > Architekt
41 No Bullshit – Architekturarbeit neu gedacht embarc.de
Eigenschaften, Wissen, Aufgaben
42 No Bullshit – Architekturarbeit neu gedacht embarc.de
Generell…
Man hat bessere Chancen eine Gruppe an Menschen zu finden die einer Architektenrolle gerecht werden können
Man ist schneller wenn mehrere Leute auf
Anforderungsänderungen oder technische Probleme reagieren können.
Man wird ein besseres System bauen, wenn die Entwickler annehmen, dass Architektur ihr Problem ist
: “Nobody takes care of a problem like the owner does”
43 No Bullshit – Architekturarbeit neu gedacht embarc.de
Cross-funktional
Analyst (RE)
Architekt Designer
Entwickler Build Engineer
Ops
Problem Lösung
44 No Bullshit – Architekturarbeit neu gedacht embarc.de
Keine Firma arbeitet völlig anarchisch
Kein Architekt
Architektur Agent
Architektur Owner
Klassischer Architekt
45 No Bullshit – Architekturarbeit neu gedacht embarc.de
Beispiel von Gilt.com
Kein Architekturteam – Architektur ist eine “Zutat” in jedem Team
Jedes Quartal wird ein “Architecture Council” abgehalten:
§ Brainstorming von Lösungen zu Architekturproblemen
§ Best Practices aus allen Teams teilen
§ Redundante Aufwände identifizieren und minimieren
§ Standards für Teamübergreifende Kommunikation schaffen
§ Schwierige technische Probleme lösen (einfach und skalierbar)
§ Spezifische Technologien evaluieren - verwendete und neue!
46 No Bullshit – Architekturarbeit neu gedacht embarc.de
Gilt.com – Architektur-Board
Hat die gleichen Ziele wie das council
Ist grundsätzlich der Ansatz eines Architektur Owners auf fünf Schultern verteilt
Vier Board-Mitglieder rotieren, einer ist ein gewählter, klassischer Architekt und Tie-braker
Rotierende Board-Mitglieder sind weiterhin in
Entwicklungsteams - als Hauptaufgabe (75%)
47 No Bullshit – Architekturarbeit neu gedacht embarc.de
Spotify – Autonomie von Teams
Henrik Kniberg (Spotify Labs Blog)
48 No Bullshit – Architekturarbeit neu gedacht embarc.de
„Moderne“ Softwarearchitektur
Prinzipien
49 No Bullshit – Architekturarbeit neu gedacht embarc.de
Nicht Mit Fremden sprechen
50 No Bullshit – Architekturarbeit neu gedacht embarc.de
Einige Beispiele...
§ Do not standardize on the internals of services. Standardize the „arcs“ of the network, not the internal nodes.
§ Self service infrastructure – All infrastructure that is needed should be available as a self service entity. That way, there is no need to wait for another team to get hardware, setup a storage cluster or do configuration changes.
§ Create a Separate Data Store for Each Microservice Do not use the same back-end data store across microservices. Choose the database that best suits the service. No share database structures!
51 No Bullshit – Architekturarbeit neu gedacht embarc.de
„Moderne“ Softwarearchitektur
Dokumentation & Kommunikation
52 No Bullshit – Architekturarbeit neu gedacht embarc.de
Tech-Blogs
53 No Bullshit – Architekturarbeit neu gedacht embarc.de
1 2
3 4
Tech-Blogposts analysiert
Warum? Motivation, Problem, Zweck
Was? Terminologie, Hintergrund, Detail,
Wie? Beispiele, Anwendung, Tutorials
Wohin noch? Weitere Optionen, Verwandte Themen Pläne & Ausblick
54 No Bullshit – Architekturarbeit neu gedacht embarc.de
Communities of Practice Gilt Councils
Netflix Engineering Meetups
Yelp Meetups (2014 approx. 70)
Google Talks
…
55 No Bullshit – Architekturarbeit neu gedacht embarc.de
Communities bei Spotify
Henrik Kniberg (Scaling Agile @ Spotify)
56 No Bullshit – Architekturarbeit neu gedacht embarc.de
Vorteile von Communities of Practice
57 No Bullshit – Architekturarbeit neu gedacht embarc.de
Fazit & Ausblick
58 No Bullshit – Architekturarbeit neu gedacht embarc.de
Architekturarbeit ist noch immer da
Aber sie wird mit anderen Medien betrieben und ist
mehr ein Entwickler-Skill als in den 90ern
Die Philosophie von Architekturarbeit bewegt sich von Architektur als
Vorgabe zu evolutionärer Architektur
59 No Bullshit – Architekturarbeit neu gedacht embarc.de
Was wurde eigentlich aus...
§ Architektur Governance: Gibt es auf Makro-Ebene noch immer Stützt sich mehr auf Feedback aus der Produktionsumgebung und Communities
§ Architektur Dokumentation: Um einiges schlanker und fokussierter aber noch immer vorhanden: Blogs, Videos, Release Statements,… und: in hoher Qualität
§ Architektur Modelle: Hier gibt es große Verluste. Eher Skizzen und Freeform-Diagramme, weniger UML
§ Architektur Entscheidungen: Mehr Prinzipien, eher grobgranular, generell flexibler
60 No Bullshit – Architekturarbeit neu gedacht embarc.de
Ein aktuelles Set an Praktiken
61 No Bullshit – Architekturarbeit neu gedacht embarc.de
Danke. Jegliche Fragen sind willkommen!
xing.to/sto
@st_toth
DOWNLOAD FOLIEN: http://www.embarc.de/blog/