Netflix - xilften Die umgekehrte Architekturbewertung eines Internet-Giganten. STEFAN TOTH, EMBARC JUG Kaiserslautern, 27.



Ähnliche Dokumente
Umgekehrte Architekturbewertung. Die umgekehrte Architekturbewertung

Gut das ist? Die umgekehrte Architekturbewertung eines Internet-Giganten STEFAN TOTH + STEFAN ZÖRNER

Netflix durch die Archtektenbrille Die umgekehrte Architekturbewertung eines Internet-Giganten. STEFAN TOTH, EMBARC JUG Darmstadt, 09.

Gemeinsam mehr erreichen.

June Automic Hadoop Agent. Data Automation - Hadoop Integration

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS

Deploy Early oder die richtigen. Zutaten für Ihren Relaunch

Erfahrungen mit Hartz IV- Empfängern

E-Business Architekturen

Open Source. Hendrik Ebbers 2015

Open Source als de-facto Standard bei Swisscom Cloud Services

EPO Consulting GmbH. Ihr Partner für HTML5 und SAP UI5 Apps. Stand 2015/04. EPO Consulting GmbH - 1 -

Preisvergleich ProfitBricks - Amazon Web Services M3 Instanz

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

Projektmanagementsoftware: Standard vs. Individual

Leichtgewichtige Web 2.0-Architektur für komplexe Business-Anwendungen Nicolas Moser PRODYNA AG

Cloud-Provider im Vergleich. Markus

Der Begriff Cloud. Eine Spurensuche. Patric Hafner geops

16.4 Wiederverwendung von COTS-Produkten

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Entwicklung des Dentalmarktes in 2010 und Papier versus Plastik.

Infrastruktur entwickeln mit Chef

Installation SQL- Server 2012 Single Node

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Gemeinsam mehr erreichen.

Was versteht man unter Softwaredokumentation?


Webcast-Serie IT Transformation in die Cloud, Teil 1. Public Cloud - mit Best-Practice-Beispiel hetras GmbH - Henning von Kielpinski, ConSol* GmbH

Begeisterung und Leidenschaft im Vertrieb machen erfolgreich. Kurzdarstellung des Dienstleistungsangebots

w3lib - einfach Software entwickeln!

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

Diplomarbeit: GOMMA: Eine Plattform zur flexiblen Verwaltung und Analyse von Ontologie Mappings in der Bio-/Medizininformatik

Vorstellung Studienprojekt. Policy4TOSCA. Umsetzung eines Policy-Frameworks für sicheres und energieeffizientes Cloud Computing

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Free Software Strategy In the Public Administration of South Tyrol. 12. November 2010

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

OpenSource bei PostFinance Einsatz in der Software Entwicklung. informativ

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

SERVICE SUCHE ZUR UNTERSTÜTZUNG

VEDA Managed Services VEDA-SOFTWARE

JEAF Cloud Plattform Der Workspace aus der Cloud

Con.ECT IT-Service & Business Service Management SAM-Outsourcing: Lizenzmanagement als externer Service

Neue Funktionen in Innovator 11 R5

Zugriff auf Unternehmensdaten über Mobilgeräte

RESTful Web. Representational State Transfer

Die TMB Contentstrategie die wichtigste Folie!

AppOcalypse now! Die Zukunft des Intranets ist Mobile Jussi Mori

Anleitung über den Umgang mit Schildern

1 Belastung. 1.1 Standortbestimmung 1.2 Belastungsvorhersage 1.3 Favoriten

Schenkel Personal Partner

Paul Petzold Firmengründer, Verwaltungsratspräsident und Delegierter der Mirus Software AG

MOBILE ON POWER MACHEN SIE IHRE ANWENDUNGEN MOBIL?!

Speicher in der Cloud

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing

Commerce-Anwendungen. Entwicklung von E- Prof. Dr. Susann Kowalski

Orchestrator. IT-Paradigmenwechsel im Zeitalter des Cloud Computing. Mohammad Esad-Djou, Solution Architect OPITZ CONSULTING Deutschland GmbH

Multichannel Challenge: Integration von Vertriebsorganisation und Contact Center in der Versicherung

Java Enterprise Architekturen Willkommen in der Realität

Der Cloud Point of Purchase. EuroCloud Conference, 18. Mai 2011 (Christoph Streit, CTO & Co-Founder ScaleUp)"

Produktionsfähige Applikationen

DIE SICHERE ENTSCHEIDUNG!

Whoop! Bid Management - Anwendungsfall Elektronikbranche

Flexible und mobilfähige Lösung für den Luxusuhren-Marktplatz

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R3: Administration

Installation Wawi SQL in Verbindung mit Microsoft SQL Server 2008 R2 Express with management Tools

Enterprise Architekturmanagement im Spannungsfeld agiler Methoden oder Agiles EAM. BITKOM Software Summit Frankfurt,

IT im Wandel Kommunale Anforderungen - zentrales Clientmanagement versus Standardtechnologie!?

FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER

Zend PHP Cloud Application Platform

«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.»

Installation der SAS Foundation Software auf Windows

Planung für Organisation und Technik

Anforderungsgetriebene Webentwicklung mit Grails:

Projekte für reale Herausforderungen Projektarbeit: Einleitung und Gliederung. Projekte für reale Herausforderungen

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Fragebogen für eine qualitative/quantitative Befragung zur Mediencommunity 2.0 aus Sicht der Lernenden

Lokale Installation von DotNetNuke 4 ohne IIS

DevOps bei den ID Build-Automatisierung statt Silo-Betrieb

Nr. 12-1/Dezember 2005-Januar A 12041

Wie Amazon mit Hilfe von Technologie und Daten erfolgreich ist Startup Firmen in Deutschland und weltweit haben Agilität, Innovation und globale

Installation SelectLine SQL in Verbindung mit Microsoft SQL Server 2012 Express with management tools

Aussage: Das Seminar ist hilfreich für meine berufliche Entwicklung

Die technischen Aspekte von Mapping-Lösungen

REQUIREMENTS ENGINEERING KONSTRUKTIVE QS REQUIREMENTS ENGINEERING 1

BIF/SWE - Übungsbeispiel

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

conuno - WIR GESTALTEN FÜR SIE Development Services

Gambio GX2 FAQ. Inhaltsverzeichnis

Big Data Mythen und Fakten

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Fallbeispiel. Auswahl und Evaluierung eines Software- Lokalisierungstools. Tekom Herbsttagung 2004 Angelika Zerfaß

OSGi-basierte Webapplikationen Ein Erfahrungsbericht

Transkript:

Netflix - xilften Die umgekehrte Architekturbewertung eines Internet-Giganten STEFAN TOTH, EMBARC JUG Kaiserslautern, 27. Mai 2015 0

Stefan Toth stefan.toth@ @st_toth xing.to/sto www. www.swamuster.de 2

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

Architekturbewertung Methoden: ATAM Architecture Tradeoff Analysis Method CBAM Cost-Benefit Analysis Method SACAM Software Architecture Comparison Analysis Method LAAAM Lightweight Architecture Alternative Assessment Method 4

Umgekehrte Bewertung? 5

Warum umgekehrt 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... 6

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

8

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 9

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

Netflix Wie groß ist groß? 600+ Services und Applikationen Milliarden Requests am Tag > 2 Milliarden Stunden Filme und Serien 10.000e Ec2 Instanzen in mehreren AWS Regionen/Zonen Cassandra NoSQL DB in einem Regionen-übergreifenden, globalen Ring mit Terabytes an Daten Zu Spitzenzeiten 1/3 der Internet- Bandbreite in den USA (Downstream) 11

Netflix Architekturüberblick I 12

Netflix Architekturüberblick II 13

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

Lösung im Detail (1) + Microservices 15

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 16

Im Prinzip Schichten Vertikalen 17

Microservices eingeordnet 18

Microservices bei Netflix Funktionalität Netflix-System besteht aus 600+ Services Beispiele für Services ( Applications ) Registrierung (Sign-up) Suche (Search) Empfehlungen (Recommendation) Bewertungen (Ratings) Leihhistorie (Rental History)... 19

Beispiel für eine Service-Trennung 20

Microservices bei Netflix (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 21

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

Konsequenzen für Netflix Neue Technologien sind leicht ausprobiert Technologie-Stack kann nach und nach modernisiert werden (keine langfristige Binding) Fehler in einem Service haben wenig Einfluss auf andere Services (Resilience-Grundlage) Gute 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 23

Lösung im Detail (2) + Netflix OSS Komponenten 24

Netflix Cloud 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. 25

Netflix Open Source Services 26

Netflix OSS eingeordnet 27

Beispielanwendung (2 Services) 28

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 29

Lösung im Detail (3) + Netflix Deployment 30

Deployment bei Netflix 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 31

Komplette Automatisierung... 32

Konsequenzen für Netflix Schnelles Rollback (bzw. Fallback) Billige Tests in Produktionsumgebung statt teurer Testumgebung (die schwer realistisch zu gestalten ist) Toolkette abstrahiert und entkoppelt Entwickler von zentralen Einstellungen und Konfigurationen Herausforderungen Mehrfache Hardware erforderlich Koordinationsprobleme auf First-come-first-serve heruntergebrochen Hohe Grad an Werkzeugunterstützung und Automatisierung notwendig Hohe Anforderungen an Logging und Monitoring 33

Lösung im Detail (4) + Netflix API 34

Netflix API eingeordnet 35

Wie nutzen / kombinieren Clients die Services?? 36

API Gateway ( Remote Facade ) 37

Netflix API 38

Konsequenzen für Netflix Exzellente UI Experience / Performance pro Device Kurze Abstimmungswege zwischen Client- und Serverseitigen Entwicklern Framework unterstützt schnelle Entwicklung von Clientspezifischen APIs Herausforderungen Die UI-Teams müssen auch Server-code schreiben und verantworten Mit vielen Geräten entstehen immer mehr Client-spezifische APIs 39

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

Qualitätsanforderungen 41

Zentrale Randbedingungen 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 42

Das hier! Zusammenfassende Kompromissaussagen ist wichtiger als das hier... 43

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

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

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

Um herausragende Qualität und entsprechende Marktvorteile zu erzielen......sind redundante Entwicklungstätigkeiten und geringere Wiederverwendungsmöglichkeiten jederzeit in Kauf zu nehmen. 47

Höhere initiale Aufwände für Frameworkund Infrastrukturkomponenten sind in Ordnung......um die langfristige Brauchbarkeit und zeitgemäße Ausprägung der Lösung zu garantieren 48

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

Netflix Tech Blog è http://techblog.netflix.com 50

Software Engineering Radio #216 è http://www.se-radio.net/2014/12/episode-216-adriancockcroft-on-the-modern-cloud-based-platform/ 51

Artikel im Javamagazin 5.15 è House of Guts Keine Angst vor Chaos Netflix: Resilience konsequent zu Ende gedacht Stefan Toth Javamagazin 5.15 52

Netflix Open Source Software è http://netflix.github.io 53

Vielen Dank. Ich freue mich auf Eure Fragen! stefan.toth@ @st_toth xing.to/sto DOWNLOAD FOLIEN: http://www./blog/