Cloud Wars – what‘s the smartest data platform Vergleich Microsoft Azure, Amazon Web Services und Google Cloud Platform Stefan Kirner & Thomas Neureuther SQLSaturday #525 - Rheinland, 11.6.2016 Stefan Kirner Teamleiter BI Solutions bei der inovex GmbH • • • Teamleiter BI Solutions bei der inovex GmbH Langjährige Erfahrung mit dem Microsoft BI Stack Data Management Lösungen in der Cloud Thomas Neureuther Werkstudent bei der inovex GmbH • • • inovex Lab für den Research im Cloud Bereich Spezialist für die Implementierung von data-driven-business Lösungen Erfahrungen im Microsoft SQL Server BI Stack. 2 Was ist Cloud Computing? “Cloud computing is a model for enabling ubiquitous, convenient, ondemand network access to a shared pool of configurable computing resources [...] that can be rapidly provisioned and released with minimal management effort or service provider interaction” NIST 3 Warum Cloud Computing? http://cavdar.net/cloud-computing/#/1 4 I/P/S-as-a-Service (On-Premises) HierimFocus Platform Infrastructure (asaService) Applications Data Data (asaService) Runtime Runtime Runtime Middleware Middleware Middleware O/S O/S O/S O/S Virtualization Virtualization Virtualization Servers Servers Storage Storage Networking Networking Middleware Microsoft (Thierry Gasser) You manage Data Servers Virtualization Other Manages Data Other Manages Applications Other Manages Applications Runtime You manage (asaService) You manage Applications Software Servers Storage Storage Networking Networking 5 Analogie der “as a Service“ Schichten Albert Barron (Ibm) https://www.linkedin.com/pulse/20140730172610-9679881-pizza-as-a-service 6 Welche Public Cloud? http://www.adslzone.net/app/uploads/2014/09/cloud.jpg 7 Public Cloud Anbieter • • • • Seit 2006 Iaas Marktführer Dogfood für viele eigene Dienste (Amazon Store, Video…) “PaaS like services with the option of IaaSlike control in some cases” - Dan Sullivan - Tom's IT Pro Amazon Web Services 10 Amazon Web Services Screenshot Console AWS 9 Public Cloud Anbieter Microsoft Azure • • • • Seit 2010 Als PaaS gestartet wurde seit 2013 sukzessive erweitert mit IaaSKomponenten Starke SaaS Komponenten Dogfood für viele SaaS Dienste (Skype, XBox etc) 13 Azure Platform Services „Landscape“ https://i-msdn.sec.s-msft.com/dynimg/IC831231.png 11 Public Cloud Anbieter Google Cloud Platform • • • • Seit 2008– IaaS, PaaS No “Dogfooding“ – Googles Dienste basieren nicht auf GCP CloudSDKund CLI,Console als WebFrontend Go, Java, Python http://www.infoworld.com/article/3051017/cloud-computing/the-importance-of-dogfooding-in-the- 15 Storage and Databases Big Data and Analytics Machine Learinig Cloud ML Cloud Speach API Compute Google Cloud Platform 13 Marktsituation “The cloud wars between Amazon, Google, and Microsoft are heating up, with the three working tirelessly to attract the large business customers that bring in the big bucks. From a technological perspective, though,the three cloud platforms are basically equal, and offer a similar sales pitch.” Business Insider, April 2016 Forrester- https://d0.awsstatic.com/analyst- 14 Marktsituation Gartner: 2015 Magic Quadrant for Cloud Infrastructure as a Service, Worldwide Forrester- https://d0.awsstatic.com/analyst- 15 Marktsituation Gartner: 2016 Magic Quadrant for Enterprise Application Platform as a Service, Worldwide https://www.gartner.com/doc/reprints?id=1-2G45TQU&ct=150519&st=sb 16 Marktsituation Synergy Research Group - https://www.srgresearch.com/ 17 Marktsituation Synergy Research Group - https://www.srgresearch.com/ 18 „The cloud market is evolving quickly, with an ever-changing set of big data services. While this makes cloud vendor comparisons difficult, it's worth the attempt, because the offerings from the top three cloud providers -- Amazon Web Services, Microsoft Azure and Google -aren't created equal.“ Jim O'Reilly http://searchcloudcomputing.techtarget.com/tip/Compare-AWS-vs-Azure-vs-Google-big-data-services 19 Fazit Marktsituation • • • • Einheitliches Bild zu PaaS eher schwierig Unterschiedliche Definitionen Technologien nicht immer vergleichbar/bekannt Qualitative Vergleiche decken nur spezielle Use cases ab Da müssen wir selber ran! 20 Web Interface & Handhabung Vergleich der Cloud Provider Services • Web Interface und Bedienung • SDK‘s und Programmiersprachen • Tooling und Integration in Entwicklungsumgebung • Dokumentation 21 Web Interface & Handhabung AWS Management Console • Übersichtlich und minimalistisches Web Interface mit Übersicht über Dienste • Tooling • • • • Plugins für Eclipse und Visual Studio vorhanden AWS Command Line Interface AWS SDK S3 Browser (Desktopanwendung) 22 Web Interface & Handhabung Azure Portal • • • Web Portal mit sehr verschachtelter Kacheloptik Altes und neues Portal Tooling • • • Azure Portal Befehlszeilentools über Power Shell • CLI auch für Linux & Mac Azure SDK -Mit passendem Toolkit für Visual Studio Azure Explorer 23 Web Interface & Handhabung • Schlichtes Web Interface • Tooling gcloud Tool - CLI für GCP Produkte und Services • Cloud SDK • Wenig IDE Unterstützung • GCP Console 24 DEMO TIME 25 AWS Portal und S3 Bucket 26 Azure Ressourcengruppe und Speicherkonto 27 GCP Storage Bucket 28 Web Interface & Handhabung Vergleich der Cloud Provider Services Dienst Web Console Azure Portal GCP Console Bewertung Portal:☆☆☆ SDK: ☆☆ Tooling: ☆☆ Dokumentation: ☆ CLI: ☆☆☆ Portal:☆☆ SDK: ☆☆ Tooling: ☆☆ Dokumentation: ☆☆☆ CLI: ☆☆ Portal:☆☆ SDK: ☆☆ Tooling: ☆ Dokumentation: ☆☆ CLI: ☆☆ 29 Big Data /Analytics Use-Case DataGeneration/Extraction App,IoT oderSensordaten Collectionand Storage EventBrokerundStreamProzessor Analyticsand Computation AggregationundAnalyse DataPresentation VisualisierungundDashboard 30 Lambda Architecture 1. Weiterleiten der ankommenden Daten zu Speed und Batch Layer 2. Batch-Layer 1. BerechnenderBatchViews 2. Rohdatenaufbewahren 3. Serving Layer indexiert die Batch Views 4. Speed-Layer erlaubt Echtzeit Views 5. Querys auf Batch und Echtzeit Views möglich http://lambda-architecture.net/ 31 Lambda Architektur Viele Möglichkeiten Lambda Architektur mit Cloud Technologien abzubilden -> Architektur nicht an Dienste gebunden LambdaArchitecture onAzure Options for each Layer https://blogs.technet.microsoft.com/msuspartner/2016/01/27/azure-partner-community-big-data-advanced-analytics- 32 Big Data /Analytics Use-Case • Startup ULTRA TENDENCY aus Japan • Sensorwerte erfassen und Strahlenwerte analysieren • Umsetzung mittels Cloud basierter Analyse in Azure 33 Big Data /Analytics Use-Case • ≈5000 Wetterstationen in Baden-Württemberg • Weather Underground API • Temperatur, Niederschlag, Luftdruck, Windgeschwindigkeit • Aktualisierung ≈ 5 min 34 Data Generation Collection and Storage Event Stream Hub Analytics Kinesis Firehose Pub/Sub Dataflow DataLake Store S3 Analyticsand Computation Data Factory Data Pipeline Data Presentation PowerBI DataLake Analytics DataLake Store Elastic Map Reduce Redshift QuickSight BigQuery Data Studio360 35 Collection 36 Streaming Dienste Vergleich der Cloud Provider Services • Kontinuierlicher Strom von Daten empfangen und verarbeiten • Mehrere Publisher/Subscriber • Skalierbar • Hoch Verfügbar • Niedrige Latenzen • Echtzeit Verarbeitung und Analyse 37 Pub/Sub, Message Broker - Streaming Dienst Kinesis Beschreibun g • • • Event Hub Pub/Sub • Nahe Echtzeit • Zeitbasierter Ereignispuffer Datastrom von verschiedenen Prozessen oder Geräten Vereinfacht das empfangen und veröffentlichen von Datenströmen in Echtzeit Datenaufbewahrung bis 7 Tage • Azure Event Hubs ist ein hochgradig skalierbarer Dienst für das Veröffentlichen und Abonnieren von Ereignissen • • Publish/Subscribe Hoch skalierbare Message Queue mit Push/Pull Delivery 38 Dienste zur Stream Verarbeitung Dienst Kinesis Firehose Kinesis Analytics(Beta) Kinesis & Lambda Beschreibung • • • • Kinesis mit SQL basierte Anfragen Lambda Funktionen um Events zu verarbeiten Firehose persistiert Stream nach S3, ES (1.5), Redshift Stream Analytics Dataflow Echtzeitverarbeitung von Streams • • • SQL basierte Abfragen Windowing Echtzeitdashboards und Warnungen • • Programmierung von Dataflows in Java Damit Windowing und quasi jeder Output möglich 39 Streaming Dienste • • • Kinesis Firehose • Schreibt Stream in Blöcken auf den S3 Storage, Elasticsearch oder Redshift • Keine Möglichkeiten der Programmierung Kinesis Streams • Macht es notwendig einen Stream Receiver zu programmieren und diesen zu deployen • AWS Lambda Funktionen Kinesis Analytics (Beta) AWS Kinesis 40 Streaming Dienste Azure Stream Analytics • Leistungsstarkes Modell • • • Eingabe • Event Hub, Blob, IoT Hub • Mehrere Eingaben möglich Abfrage • SA-QL: SQL Ähnliche Syntax • Window Operationen möglich Ausgabe • Blob, SQL, PowerBI .... • Mehrere Ausgaben möglich 41 Streaming Dienste Google Dataflow • Programmiermodell – Batch und Stream Workload – Pipelineing als DAG – Arbeiten auf Collections • Google Dataflow als Runner für das Dataflow Programmiermodell Google DataFlow 42 Dienste zur Stream Verarbeitung Dienst Bewertung Amazon Kinesis Stream Analytics Dataflow Bedienung:☆☆ Lifecycle Management: ☆ Möglichkeiten: ☆☆ Bedienung:☆☆☆ Lifecycle Management: ☆ Möglichkeiten: ☆☆☆ Bedienung:☆☆ Lifecycle Management: ☆☆ Möglichkeiten: ☆☆☆ + Simple Bedienung - Für gleiche Funktionalität wie bei Azure coding erforderlich - Firehose eingeschränkte Funktionsumfang - Kinesis Stream benötigt selbst implementierten und deployten Receiver (z.B: AWS Lambda) + Simple Bedienung + Hohe Funktionalität mit geringem Aufwand + SQL Syntax für Abfrage - Schlecht zu versionieren oder zu Managen Programmcode mit allen Vorund Nachteilen + Sehr gute Skalierbarkeit und Big Data Fähigkeit - Höherer Einarbeitungsaufwand 43 Kosten Message Broker /Stream Verarbeitung Dienst Amazon Kinesis Preise Shard Stunde 1,7ct Put Nutzlast pro 1 Mio Puts (25KB) 1,65ct Verlängerte Datenaufbewahrung 2ct/h Beispiel: 2 Events a 35KB pro Sekunde ≈13€/Monat Stream Analytics Unit Stunde 3,1ct Nutzlast 0,1ct pro GB Beispiel: 2 Events a 35KB pro Sekunde ≈20€ Stream Analytics/Monat ≈9€ Event Hub/Monat Dataflow Pub/Sub 1 Milion Operationen 40ct Halbiert sich ab 250M Operationen Batch 1ct GCEU/h Stream 1,5ct GCEU/h 44 DEMO TIME 45 Azure Stream Analytics 46 AWS Kinesis 47 GCP Pub/Sub 48 GCP Dataflow 49 Analytics and Computation 50 Orchestrierungs Dienste • Daten auslesen, ggf. transformieren und schreiben (Vergleichbar mit ETL) • Transformation eher schwieriger • Orchestrierung Dienste • Zusammenfassen und Orchestrierung von Verarbeitungsschritten • Neue Quellen und Ziele • Cloud und Hybride Szenarien • Big-Data Fähigkeit 51 Orchestrierungs Dienste Data Pipeline • Erstellen in AWS Management Console • • • • • Designer und Vorlagen Properties in Drop-Down Feldern verwalten Recht überschaubarer Funktionsumfang ohne Detailfunktionen Deckt typische ETL-Szenarien gut ab Keine Entwicklungsumgebung und Code Management 52 Orchestrierungs Dienste – Data Pipeline • Hive in Data Pipeline • • Ressource Anlegen Skript schreiben und verknüpfen 53 Orchestrierungs Dienste Data Factory • Factory Dashboard Werkzeuge für das Erstellen der Factory • Zustandsüberwachung • Manuelles Starten von Vorgängen • Auslastung und Diagnosen • 54 Orchestrierungs Dienste Data Factory • Data Factory Projekt • • • Templates erlauben schnelles Erstellen einfacher Anwendungsfälle Deployment aus Visual Studio oder Factory Dashboard JSON-Dokumente ohne Toolunterstützung füllen und verknüpfen • Design by Copy and Paste 55 Orchestrierungs Dienste Dienst Bewertung Data Pipeline SSISweit voraus Data Factory Bedienung:☆☆ Lifecycle Management: ☆ Möglichkeiten: ☆☆ Bedienung:☆+ Lifecycle Management: ☆☆ Möglichkeiten: ☆☆ + Selbsterklärender Designer - Keine Code Completion oder Syntax Highlighting oder Validierung - Code kann lediglich über JSON exportiert und versioniert werden (händisch) + Templates und Visual Studio Unterstützung - Kein Designer sondern zusammenfügen von JSON Dokumenten 56 DEMO TIME 57 Azure Data Factory 58 AWS Data Pipeline 59 Horizontal skalierende analytische Datenspeicher 60 Horizontal skalierende analytische Datenspeiche • Parallel verarbeitende Instanzen • Massively Parallel Processing Architecture • Skalierbarkeit • SQL Querys 61 Analytische Datenspeicher Redshift • Schnelle Skalierung der Cluster Instanzen über API Aufrufe • Postgres-Fork nutzt spaltenbasierte Datenbank und massive parallele Verarbeitung 62 Analytische Datenspeicher Data Factory - Data Lake Analytics (Beta) •Data Lake (Beta) – Store & Analytics •Verteilter Speicher- und Analysedienst großer Daten •U-SQL – TSQL und C# •Visual Studio Unterstützung •Dynamische Skalierung •Verteilte Hardware und Parallelisierung gänzlich abstrahiert 63 Analytische Datenspeicher SQL Data Warehouse (Beta) • Unabhängige Skalierung von Compute- und Speicherressourcen innerhalb von Sekunden • Vielfältige SQL ServerFunktionalität mit T-SQL Abfragen 64 Analytische Datenspeicher Google Big Query •SQL Querys auf Terabyte von Daten •Import/Export Mechanismen •Bezahlung nach Datenmenge der Query •Keine Server •Browsertool vorhanden (sonst REST oder CLI) - SDK für .Net, Java, Python, Go 65 Analytische Datenspeicher Dienst AWS Redshift Beschreibung • Postgres Fork Preise • Massiv Parallel • $0.25 pro Stunde für dc1.large $0.85 pro Stunde für ds2.xlarge • Azure Data Lake Big Query • • Store und Analytics U-SQL als Mischung von C# und T-SQL • • Serverless Pay per Query • Analytics Einheit 0,017$/Minute Abgeschlossener Auftrag 0,025$ • • • $5 pro queryed TB $0.02 per GB Speicher $0.01 per 200 MB Insert • • SQL-DWH: ab 0,70$/h 66 Analytische Datenspeicher Dienst Bewertung Amazon Redshift Bedienung:☆+ Lifecycle Management: ☆☆ Möglichkeiten: ☆☆ - Keine Entwicklungsunterstützung im Web Interface oder Entwicklungsumgebung Azure Data Lake Bedienung:☆☆☆ Lifecycle Management: ☆☆ Möglichkeiten: ☆☆☆ Big Query Bedienung:☆☆+ Lifecycle Management: ☆☆ Möglichkeiten: ☆☆ + Web Tooling + Visual Studio Unterstützung + Strukturierte und Semistrukturierte Daten 67 DEMO TIME 68 AWS Redshift – und Kinesis als Quelle 69 Azure Data Lake Analytics 70 GCP Big Query 71 Data Presentation 72 Datenvisualisierung • Daten Präsentieren • • Umfangreiche Visualisierungen Dashboards und Reports über Web • • • SaaS Anbindung an Datenbanken Real-Time Anbindung 73 Datenvisualisierung Dienst Beschreibun g Amazon Quick Sight • Beta (nur für ausgewählte Kunden) Microsoft Power Bi (kein Teil von Azure aber gut integrierbar) • • • Echtzeit BI mit Stream Analytics möglich Anbindung an Datenbanken und andere Datenspeicher Google Data Studio 360 (beta) • Beta (nur für ausgewählte Kunden) Alternativ gute Integration von BI Tools wie Tableau, Qlik und einigen 74 Datenvisualisierung Dienst Bewertung Amazon Quick Sight Microsoft Power Bi Google Data Studio 360 (beta) Bedienung:☆+ Möglichkeiten: ☆+ Bedienung:☆☆☆ Möglichkeiten: ☆☆☆ Bedienung:☆+ Möglichkeiten: ☆+ Closed Beta + Viele Datenquellen + On-Prem Entwicklung möglich Beta (kein Teil von Azure aber gut integrierbar) 75 DEMO TIME 76 Power Bi – Daten von Stream Analytics 77 Google Data Studio https://datastudio.google.com/#/reporting/0B_U5RNpwhcE6bzVYT2FSNmRBUWc 78 „Unterm Strich lässt sich sagen, dass Microsoft aufgrund seiner PaaS-Historie technologisch in diesem Bereich einen deutlichen Vorsprung hat. Amazon AWS hingegen ist derzeit noch der unumstrittene Innovations- und Marktführer im IaaS-Umfeld.“ René Büst - Senior Analyst und Cloud Practice Lead bei Crisp Research http://www.tecchannel.de/a/amazon-web-services-versus-microsoft-windows-azure,2071501,3 79 Vergleich der Cloud Provider Für diesen Use Case hat Microsoft die Nase vorn Amazon Web Services Microsoft Azure Google Cloud Platform Stream ☆☆ ☆☆☆ ☆☆ Orchestration ☆☆+ ☆☆ - MPP ☆☆ ☆☆+ ☆☆+ Datenvisualisierun g ☆+ ☆☆☆ ☆+ 80 Demnächst auch als Artikelserie auf: blog.inovex.de Regelmäßige Beiträge zu den aktuellsten TechnologieThemen rund um Web, Mobile, Analytics, Data Center & Co. 81 Vielen Dank Stefan Kirner & Thomas Neureuther inovex GmbH Ludwig-Erhard-Allee 6 76131 Karlsruhe [email protected] [email protected] SolcheProjekteund Technologiensindfürdich interessant? Wirsuchen CloudSolution Architects und Werkstudenten fürDataManagement&Analytics UndvieleandereJobsauf https://www.inovex.de/de/karriere /stellenangebote