Cloud Wars – what`s the smartest data platform

Werbung
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
Herunterladen