Gut das ist? Gut das ist? Die umg Die umgek ekehr ehrte Ar te - - PDF document

gut das ist gut das ist
SMART_READER_LITE
LIVE PREVIEW

Gut das ist? Gut das ist? Die umg Die umgek ekehr ehrte Ar te - - PDF document

12.02.15 Gut das ist? Gut das ist? Die umg Die umgek ekehr ehrte Ar te Architekturbe hitekturbewer ertung tung eines Internet-Gig eines Internet-Giganten anten STEFAN ZRNER, EMBARC microXchg 2015 Berlin, 12. Februar 2015 0


slide-1
SLIDE 1

12.02.15 ¡ 1 ¡

Gut das ist? Gut das ist?

Die umg Die umgek ekehr ehrte Ar te Architekturbe hitekturbewer ertung tung eines Internet-Gig eines Internet-Giganten anten

STEFAN ZÖRNER, EMBARC microXchg 2015 Berlin, 12. Februar 2015

2

Umgekehrte Architekturbewertung embarc.de

Gut das ist? Gut das ist?

Netflix - das größte Internet-Business in den USA - zeichnet sich zeitweise für ein Drittel des gesamten Downstream-Traffics des Webs verantwortlich. Die Erfolge der Video-on-Demand Plattform basieren nicht nur auf einer guten Geschäftsidee, sondern auch auf top-modernen, effizienten und robusten Technologien, Frameworks und Architekturansätzen. Was können wir daraus lernen? Ist es an der Zeit unsere Systeme und Architekturen in Microservices zu refactoren, große Datenbanksysteme aufzubrechen, polyglott zu programmieren und reaktive Ansätze zu verwenden? Diese Session hilft Ihnen bei der individuellen Beantwortung dieser Fragen. In einer umgekehrten Architekturbewertung haben wir jene Anforderungen und Rahmenbedingungen herausgearbeitet, die man haben müsste, um die Netflix-Architektur als ideal zu bewerten. Welche Qualitätsaussagen müssten Ihnen wichtig sein? Zu welchen Kompromissaussagen müssten Sie ‚ja‘ sagen? Welche Risiken müssten Sie eingehen und welche Rahmenbedingungen bräuchten Sie?

Die umg Die umgek ekehr ehrte Ar te Architekturbe hitekturbewer ertung tung eines Internet-Gig eines Internet-Giganten anten

slide-2
SLIDE 2

12.02.15 ¡ 2 ¡

3

Umgekehrte Architekturbewertung embarc.de

Stef Stefan Zörner an Zörner

n

Softwareentwickler + -architekt bei embarc in Hamburg

n

Vorher oose, IBM, Mummert + Partner, Bayer AG, … Schwerpunkte:

n

Softwarearchitektur (Entwurf, Bewertung, Dokumentation)

n

Java Technologien Stefan.Zoerner@embarc.de @StefanZoerner xing.to/szr

4

Umgekehrte Architekturbewertung embarc.de

1 Einstieg 2 Was ist Netflix? 3 Lösung im Detail 4 Konsequenzen 5 Weitere Informationen

Ag Agenda enda

slide-3
SLIDE 3

12.02.15 ¡ 3 ¡

5

Umgekehrte Architekturbewertung embarc.de

1 Einstieg 2 Was ist Netflix? 3 Lösung im Detail 4 Ergebnisse zusammengefasst 5 Weitere Informationen

Ag Agenda enda

1

6

Umgekehrte Architekturbewertung embarc.de

Ar Architekturbe hitekturbewer ertung tung

Me Methode thoden: n:

§

ATAM – Architecture Tradeoff Analysis Method

§

CBAM – Cost-Benefit Analysis Method

§

SACAM – Software Architecture Comparison Analysis Method

§

LAAAM – Lightweight Architecture Alternative Assessment Method

§

slide-4
SLIDE 4

12.02.15 ¡ 4 ¡

7

Umgekehrte Architekturbewertung embarc.de

Umg Umgekehr hrte te B Bewertung? tung?

8

Umgekehrte Architekturbewertung embarc.de

Wa Waru rum umge gekehrt bewerten?

Weil die Netflix

Architekturkonzepte „trendig“ sind

  • Cloud
  • Microservices
  • Reactive Extensions
  • NoSQL Datenbanken
  • ...

Weil sich viele fragen: Passt das auch zu uns? Weil ich „kommt drauf an“ zu allgemein finde ...

slide-5
SLIDE 5

12.02.15 ¡ 5 ¡

9

Umgekehrte Architekturbewertung embarc.de

Th ThoughtWorks Technology Ra Radar

è http://www.thoughtworks.com/radar/

10

Umgekehrte Architekturbewertung embarc.de

1 Einstieg 2 Was ist Netflix? 3 Lösung im Detail 4 Ergebnisse zusammengefasst 5 Weitere Informationen

Ag Agenda enda

2

slide-6
SLIDE 6

12.02.15 ¡ 6 ¡

11

Umgekehrte Architekturbewertung embarc.de

12

Umgekehrte Architekturbewertung embarc.de

Wa Was ist Netflix?

“Netflix is the world’s leading Internet television network with over 57 million members in nearly 50 countries enjoying more than two billion hours of TV shows and movies per month, including original series. For one low monthly price, Netflix members can watch as much as they want, anytime, anywhere, on nearly any Internet-connected

  • screen. Members can play, pause and resume watching, all without

commercials or commitments.” è http://ir.netflix.com

slide-7
SLIDE 7

12.02.15 ¡ 7 ¡

13

Umgekehrte Architekturbewertung embarc.de

Ne Netf tflix – Wie lix – Wie g groß

  • ß ist ‘g

ist ‘groß

  • ß’?

’?

100+ Midtier-Services und Applikationen Milliarden Requests am Tag ~70 Milliarden Events am Tag 10.000s Ec2 Instanzen in mehreren AWS

Regionen/Zonen

Cassandra NoSQL in einem Regionen-

übergreifenden, globalen Ring mit Terabytes an Daten

Zu Spitzenzeiten 1/3 der Internet-

Bandbreite in den USA

14

Umgekehrte Architekturbewertung embarc.de

‚Netflix is the king of online streaming, using more global bandwidth than cat videos and piracy combined.‘

slide-8
SLIDE 8

12.02.15 ¡ 8 ¡

15

Umgekehrte Architekturbewertung embarc.de

Ne Netf tflix lix Ar Architektur hitekturüberb überblic lick

16

Umgekehrte Architekturbewertung embarc.de

1 Einstieg 2 Was ist Netflix? 3 Lösung im Detail 4 Ergebnisse zusammengefasst 5 Weitere Informationen

Ag Agenda enda

3

slide-9
SLIDE 9

12.02.15 ¡ 9 ¡

17

Umgekehrte Architekturbewertung embarc.de

Lösung im Detail (1) Lösung im Detail (1)

Microservices

+

18

Umgekehrte Architekturbewertung embarc.de

Wa Was sind Microservices?

“In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.”

Charakteristische Eigenschaften

Zerlegung in relativ kleine (fachliche) Services Services sehr lose gekoppelt Services einzeln installierbar und upgradebar Dezentrale Datenhaltung Hoher Freiheitsgrad bei Technologieauswahl

(James Lewis, Martin Fowler)

slide-10
SLIDE 10

12.02.15 ¡ 10 ¡

19

Umgekehrte Architekturbewertung embarc.de

Micr Microser

  • services

vices eing eingeor eordnet dnet … …

20

Umgekehrte Architekturbewertung embarc.de

Micr Microser

  • services bei Netf

vices bei Netflix lix

Funktionalität

Netflix-System besteht aus 100+ Services Beispiele für Services („Applications“)

  • Registrierung (Sign-up)
  • Suche (Search)
  • Empfehlungen (Recommendation)
  • Bewertungen (Ratings)
  • Leihhistorie (Rental History)
  • ...
slide-11
SLIDE 11

12.02.15 ¡ 11 ¡

21

Umgekehrte Architekturbewertung embarc.de

Beispiel für eine Ser Beispiel für eine Service-T vice-Trenn ennung ung

22

Umgekehrte Architekturbewertung embarc.de

Micr Microser

  • services

vices bei Netf bei Netflix (or lix (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
slide-12
SLIDE 12

12.02.15 ¡ 12 ¡

23

Umgekehrte Architekturbewertung embarc.de

Ve Verwendete Technologien

Programmiersprachen Java Groovy Scala Python JavaScript Clojure Dart Ruby C++ ... Plattformen Apache HTTP Server Apache Tomcat Bottle (Python) ... Persistenz Cassandra RDBMS (MySQL) in-memory caches Amazon S3 ...

24

Umgekehrte Architekturbewertung embarc.de

Ko Konsequenzen für Netflix

➜ Neue Technologien sind leicht ausprobiert ➜ Technologie-Stack kann nach und nach modernisiert werden (keine langfristige Binding) ➜ Fehler in einer Applikation haben wenig Einfluss auf andere Applikationen ➜ Time-to-Market für neue Funktionalität Herausforderungen

Die Gesamtmenge der verwendeten

Technologien ist sehr heterogen

Abstimmung / Koordination schwierig Jedes Service-Team muss Know-How für

eigentlich querschnittliche Themen haben

slide-13
SLIDE 13

12.02.15 ¡ 13 ¡

25

Umgekehrte Architekturbewertung embarc.de

Lösung im Detail (2) Lösung im Detail (2)

Netflix OSS Komponenten

+

26

Umgekehrte Architekturbewertung embarc.de

Ne Netf tflix C lix Cloud Sta loud Stack

The Netflix Open Source Platform Components fill gaps in Amazon Web

  • Services. The goal is to make cloud infrastructure more robust, flexible and

glitch free.

slide-14
SLIDE 14

12.02.15 ¡ 14 ¡

27

Umgekehrte Architekturbewertung embarc.de

Ne Netf tflix Ope lix Open Sour n Source Se Servic vices s

28

Umgekehrte Architekturbewertung embarc.de

Ne Netf tflix OSS lix OSS eing eingeor eordnet dnet … …

slide-15
SLIDE 15

12.02.15 ¡ 15 ¡

29

Umgekehrte Architekturbewertung embarc.de

Beispielanw Beispielanwendung endung (2 Ser (2 Services) vices)

30

Umgekehrte Architekturbewertung embarc.de

Ko Konsequenzen für Netflix

➜ Anforderungen an Entwickler sinken ➜ Schnelle Time-to-Market für neue Features ➜ Architektur-Prinzipien werden unterstützt (Serviceaufbau, Kommunikation, Verwendung von 3rd Party etc.) ➜ „Open-sourcing“ von Projekten fördert:

Ein Mindestmaß an Dokumentation (Wiki, Techblog) Sauberes Design Bild als interessanter Arbeitgeber

Herausforderungen

Netflix-Spezifika in Entwicklung recht prominent Neues Projekt auf dieser Basis hat Overhead

slide-16
SLIDE 16

12.02.15 ¡ 16 ¡

31

Umgekehrte Architekturbewertung embarc.de

Lösung Lösung im im Detail (3) Detail (3)

Netflix Deployment

+

32

Umgekehrte Architekturbewertung embarc.de

De Deplo ploym yment ent bei bei Ne Netf tflix lix

  • ca. 100 Deployments pro Tag

Teams arbeiten selbstverantwortlich und unabhängig Keine Qualitätssicherungsabteilung Keine Release Engineers Keine Gesamtkoordination von Releases / Deployments

Antwort auf Koordinationsproblem bei Deployments? Antwort auf Komplexität bei Teamabhängigkeiten?

Unterstützte Anarchie

slide-17
SLIDE 17

12.02.15 ¡ 17 ¡

33

Umgekehrte Architekturbewertung embarc.de

Ko Komplette Automatisierung ...

34

Umgekehrte Architekturbewertung embarc.de

Ko Konsequenzen für Netflix

Schnelles Rollback Produktionsfehler, Abhängigkeitsprobleme schlagen

nicht zum Kunden durch

Toolkette abstrahiert und entkoppelt Entwickler von

zentralen Einstellungen und Konfigurationen Herausforderungen

Doppelte Hardware erforderlich Koordinationsprobleme auf First-come-first-

serve heruntergebrochen

Hohe Anforderungen an Logging, Monitoring

in Go-Live-Phase

slide-18
SLIDE 18

12.02.15 ¡ 18 ¡

35

Umgekehrte Architekturbewertung embarc.de

Lösung Lösung im im Detail (4) Detail (4)

Netflix API

+

36

Umgekehrte Architekturbewertung embarc.de

Ne Netf tflix A lix API PI eing eingeor eordnet dnet … …

slide-19
SLIDE 19

12.02.15 ¡ 19 ¡

37

Umgekehrte Architekturbewertung embarc.de

Wie n Wie nutz utzen / k en / kombinier

  • mbinieren Clients

en Clients die Ser die Services? vices?

?

38

Umgekehrte Architekturbewertung embarc.de

API Ga API Gate teway („R y („Rem emote

  • te Fa

Facade“) “)

slide-20
SLIDE 20

12.02.15 ¡ 20 ¡

39

Umgekehrte Architekturbewertung embarc.de

Ne Netf tflix A lix API PI

40

Umgekehrte Architekturbewertung embarc.de

Ko Konsequenzen für Netflix

Exzellente UI Experience / Performance pro Device Kurze Abstimmungswege zwischen Client- und Server-

seitigen Entwicklern

Framework unterstützt schnelle Entwicklung von Client-

spezifischen APIs Herausforderungen

Die UI-Teams müssen auch Server-code

schreiben und verantworten

Mit vielen Geräten entstehen immer mehr

Client-spezifische APIs

slide-21
SLIDE 21

12.02.15 ¡ 21 ¡

41

Umgekehrte Architekturbewertung embarc.de

1 Einstieg 2 Was ist Netflix? 3 Lösung im Detail 4 Ergebnisse zusammengefasst 5 Weitere Informationen

Ag Agenda enda

4

42

Umgekehrte Architekturbewertung embarc.de

Qualitätsanf Qualitätsanfor

  • rder

derung ungen en

Utitlity Tree

slide-22
SLIDE 22

12.02.15 ¡ 22 ¡

43

Umgekehrte Architekturbewertung embarc.de

Zentr Zentrale R ale Randbedingung andbedingungen en

Welche Rahmenbedingungen bräuchte man aus unserer Sicht für die Netflix-Lösung?

  • 1. (Weiter-)Entwicklung eines

langlebigen Produktes

  • 2. Größe des Produktes rechtfertigt

mehrere Teams

  • 3. Teams können selbstbestimmt arbeiten
  • 4. Deployment in Cloud machbar
  • 5. Scheitern im Deployment möglich
  • 6. Einsatz von Open Source-Lösungen OK

44

Umgekehrte Architekturbewertung embarc.de

Zusammenfassende Kompromissaussagen

slide-23
SLIDE 23

12.02.15 ¡ 23 ¡

45

Umgekehrte Architekturbewertung embarc.de

Technologieentscheidungen auf Teamebene und Experimente zur besseren Erreichung qualitativer Ziele sind einer homogenen Landschaft mit hoher Integrität vorzuziehen.

46

Umgekehrte Architekturbewertung embarc.de

Die schnelle Erstellung und Auslieferung von Funktionalität ist wichtiger als gut getestete Lösungen und „Fehlerfreiheit“ in Produktion.

slide-24
SLIDE 24

12.02.15 ¡ 24 ¡

47

Umgekehrte Architekturbewertung embarc.de

Innovationskraft und Wachstum sind sehr wichtige Aspekte der Softwareentwicklung. Kontrolle, Planungsfähigkeit und Status- aussagen gegenüber dem Management sind diesen Aspekten klar untergeordnet.

48

Umgekehrte Architekturbewertung embarc.de

Redundante Entwicklungstätigkeiten und geringere Wiederverwendungs- möglichkeiten sind jederzeit in Ordnung, um herausragende Qualität und entsprechende Marktvorteile zu erzielen.

slide-25
SLIDE 25

12.02.15 ¡ 25 ¡

49

Umgekehrte Architekturbewertung embarc.de

Es ist wichtig auf schwankende Systemlast, sowie Hard- und Software-Fehler zu reagieren ohne Verfügbarkeit einzubüßen. Kosten für Redundanzen und etwaige Inkonsistenzen sind geringe Opfer.

50

Umgekehrte Architekturbewertung embarc.de

Die langfristige Brauchbarkeit und zeitgemäße Ausprägung der Lösung rechtfertigt höhere initiale Aufwände für Framework- und Infrastrukturkomponenten.

slide-26
SLIDE 26

12.02.15 ¡ 26 ¡

51

Umgekehrte Architekturbewertung embarc.de

1 Einstieg 2 Was ist Netflix? 3 Lösung im Detail 4 Ergebnisse zusammengefasst 5 Weitere Informationen

Ag Agenda enda

5

52

Umgekehrte Architekturbewertung embarc.de

Ne Netf tflix T lix Tech B h Blog log

è http://techblog.netflix.com

slide-27
SLIDE 27

12.02.15 ¡ 27 ¡

53

Umgekehrte Architekturbewertung embarc.de

Softw Softwar are Engineering R e Engineering Radio #216 adio #216

è http://www.se-radio.net/2014/12/episode-216-adrian- cockcroft-on-the-modern-cloud-based-platform/

54

Umgekehrte Architekturbewertung embarc.de

Ne Netf tflix Ope lix Open Sour n Source Softw Software

è http://netflix.github.io

slide-28
SLIDE 28

12.02.15 ¡ 28 ¡

Vi Vielen Dank.

Ic Ich fr h freue mic eue mich auf h auf Eur Eure F e Fragen! en!

stefan.zoerner@embarc.de xing.to/szr @StefanZoerner

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

Vi Vielen Dank.

Ic Ich fr h freue mic eue mich auf h auf Ihr Ihre F e Fragen! en!

stefan.toth@embarc.de

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

xing.to/sto @st_toth