gut das ist gut das ist
play

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


  1. 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 ZÖRNER, EMBARC microXchg 2015 Berlin, 12. Februar 2015 0 Gut das ist? Gut das ist? Die umgek Die umg ekehr ehrte Ar te Architekturbe hitekturbewer ertung tung eines Internet-Giganten eines Internet-Gig anten 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? 2 Umgekehrte Architekturbewertung embarc.de 1 ¡

  2. 12.02.15 ¡ 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 3 Umgekehrte Architekturbewertung embarc.de Agenda Ag enda 1 Einstieg 2 Was ist Netflix? 3 Lösung im Detail 4 Konsequenzen 5 Weitere Informationen 4 Umgekehrte Architekturbewertung embarc.de 2 ¡

  3. 12.02.15 ¡ Ag Agenda enda 1 Einstieg 2 Was ist Netflix? 3 Lösung im Detail 4 Ergebnisse zusammengefasst 1 5 Weitere Informationen 5 Umgekehrte Architekturbewertung embarc.de Architekturbe Ar 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 § … 6 Umgekehrte Architekturbewertung embarc.de 3 ¡

  4. 12.02.15 ¡ Umg Umgekehr hrte te B Bewertung? tung? 7 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 ... 8 Umgekehrte Architekturbewertung embarc.de 4 ¡

  5. 12.02.15 ¡ Th ThoughtWorks Technology Ra Radar è http://www.thoughtworks.com/radar/ 9 Umgekehrte Architekturbewertung embarc.de Ag Agenda enda 1 Einstieg 2 Was ist Netflix? 3 Lösung im Detail 4 Ergebnisse zusammengefasst 2 5 Weitere Informationen 10 Umgekehrte Architekturbewertung embarc.de 5 ¡

  6. 12.02.15 ¡ 11 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 12 Umgekehrte Architekturbewertung embarc.de 6 ¡

  7. 12.02.15 ¡ Ne Netf tflix – Wie lix – Wie g groß oß ist ‘g ist ‘groß oß’? ’? � 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 13 Umgekehrte Architekturbewertung embarc.de ‚Netflix is the king of online streaming, using more global bandwidth than cat videos and piracy combined.‘ 14 Umgekehrte Architekturbewertung embarc.de 7 ¡

  8. 12.02.15 ¡ Netf Ne tflix lix Ar Architektur hitekturüberb überblic lick 15 Umgekehrte Architekturbewertung embarc.de Ag Agenda enda 1 Einstieg 2 Was ist Netflix? 3 Lösung im Detail 4 Ergebnisse zusammengefasst 3 5 Weitere Informationen 16 Umgekehrte Architekturbewertung embarc.de 8 ¡

  9. 12.02.15 ¡ Lösung im Detail (1) Lösung im Detail (1) + Microservices 17 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 .” (James Lewis, Martin Fowler) Charakteristische Eigenschaften � Zerlegung in relativ kleine (fachliche) Services � Services sehr lose gekoppelt � Services einzeln installierbar und upgradebar � Dezentrale Datenhaltung � Hoher Freiheitsgrad bei Technologieauswahl 18 Umgekehrte Architekturbewertung embarc.de 9 ¡

  10. 12.02.15 ¡ Micr Microser oservices vices eing eingeor eordnet dnet … … 19 Umgekehrte Architekturbewertung embarc.de Micr Microser oservices 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) • ... • 20 Umgekehrte Architekturbewertung embarc.de 10 ¡

  11. 12.02.15 ¡ Beispiel für eine Ser Beispiel für eine Service-T vice-Trenn ennung ung 21 Umgekehrte Architekturbewertung embarc.de Microser Micr oservices vices bei Netf bei Netflix (or lix (org.) .) Teams vollumfänglich für ihre Services verantwortlich Entwicklung • Release und Deployment • Betrieb • Keine klassische Management-Steuerung Keine Beeinflussung durch andere Teams oder eine zentrale Instanz Wenige technologische Vorgaben • Release nach Belieben • “Freedom & Responsibility” 22 Umgekehrte Architekturbewertung embarc.de 11 ¡

  12. 12.02.15 ¡ Ve Verwendete Technologien Plattformen Persistenz Apache HTTP Server Cassandra Apache Tomcat RDBMS (MySQL) Bottle (Python) in-memory caches ... Amazon S3 ... Programmiersprachen Java Groovy Scala Python JavaScript Clojure Dart Ruby C++ ... 23 Umgekehrte Architekturbewertung embarc.de Konsequenzen für Netflix Ko ➜ 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 24 Umgekehrte Architekturbewertung embarc.de 12 ¡

  13. 12.02.15 ¡ Lösung im Detail (2) Lösung im Detail (2) + Netflix OSS Komponenten 25 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. 26 Umgekehrte Architekturbewertung embarc.de 13 ¡

  14. 12.02.15 ¡ Ne Netf tflix Ope lix Open Sour n Source Se Servic vices s 27 Umgekehrte Architekturbewertung embarc.de Ne Netf tflix OSS lix OSS eing eingeor eordnet dnet … … 28 Umgekehrte Architekturbewertung embarc.de 14 ¡

  15. 12.02.15 ¡ Beispielanw Beispielanwendung endung (2 Ser (2 Services) vices) 29 Umgekehrte Architekturbewertung embarc.de Konsequenzen für Netflix Ko ➜ 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 30 Umgekehrte Architekturbewertung embarc.de 15 ¡

  16. 12.02.15 ¡ Lösung Lösung im im Detail (3) Detail (3) + Netflix Deployment 31 Umgekehrte Architekturbewertung embarc.de De Deplo ploym yment ent bei bei Ne Netf tflix lix Antwort auf Koordinationsproblem bei Deployments? Antwort auf Komplexität bei Teamabhängigkeiten? Unterstützte Anarchie � ca. 100 Deployments pro Tag � Teams arbeiten selbstverantwortlich und unabhängig � Keine Qualitätssicherungsabteilung � Keine Release Engineers � Keine Gesamtkoordination von Releases / Deployments 32 Umgekehrte Architekturbewertung embarc.de 16 ¡

Recommend


More recommend