no bullshit - embarc...- henrik kniberg (about spotify) ... want, any time, everywhere, on every...

Post on 25-Jun-2020

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

No Bullshit Architekturarbeit neu gedacht STEFAN TOTH

München

22. Oktober 2015

0

2 No Bullshit – Architekturarbeit neu gedacht embarc.de

Stefan Toth

stefan.toth@embarc.de

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!

stefan.toth@embarc.de

xing.to/sto

@st_toth

DOWNLOAD FOLIEN: http://www.embarc.de/blog/

top related