Die großen Public-Cloud-Anbieter locken inzwischen mit vielversprechenden Platform-as-a-Service-Angeboten um Daten jeglicher Art performant und kosteneffizient zu speichern und zu verarbeiten. Neben unterschiedlichen Datenbanken gibt es dazu Dienste für Batch- und Realtime-Processing. In diesem Vortrag werden einige der wichtigen Data Driven Services anhand eines typischen IoT-Szenarios aus der Praxis beleuchtet. Dazu gehen drei Schwergewichte des Cloud Business ins Rennen: Microsoft Azure vs. Amazon Web Services vs. Google Cloud Platform.
Event: inovex Meetup: "Let's talk about the Cloud!", 22.06.2016
Speaker: Thomas Neureuther, Stefan Kirner, inovex GmbH
Mehr Technologie-Vorträge: https://www.inovex.de/de/content-pool/vortraege/
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Cloud Wars – what‘s the smartest data platform? Vergleich Microsoft Azure, Amazon Web Services und Google Cloud Platform
1. Cloud Wars – what‘s the smartest
data platform
Vergleich Microsoft Azure, Amazon Web
Services und Google Cloud Platform
Stefan Kirner & Thomas Neureuther Karlsruhe, 22.6.2016
2. • Teamleiter BI Solutions bei der inovex GmbH
• Langjährige Erfahrung mit dem Microsoft BI Stack
• Data Management Lösungen in der Cloud
2
• inovex Lab für den Researchim Cloud Bereich
• Spezialist für die Implementierung vondata-driven-business
Lösungen
• Erfahrungen im Microsoft SQLServer BI Stack.
Stefan Kirner
Teamleiter BI Solutions bei der inovex GmbH
Werkstudent bei der inovex GmbH
Thomas Neureuther
3. 3NIST
Was ist Cloud Computing?
“Cloud computing is a model for
enabling ubiquitous, convenient, on-
demand network access to a shared
pool of configurable computing
resources (e.g., networks, servers,
storage, applications, and services) that
can be rapidly provisioned and released
with minimal management effort or
service provider interaction”
8. 10Amazon Web Services
Public Cloud Anbieter
• Seit 2006
• Iaas Marktführer
• Dogfood für viele eigene Dienste (Amazon
Store, Video…)
• “PaaS like services with the option of IaaS-
like control in some cases”
- Dan Sullivan - Tom's IT Pro
10. Public Cloud Anbieter
• Seit 2010
• Als PaaS gestartet wurde seit 2013
sukzessive erweitert mit IaaS-
Komponenten
• Starke SaaS Komponenten
• Dogfood für viele SaaS Dienste (Skype,
XBox etc)
Microsoft Azure
13
14. 14Forrester- https://d0.awsstatic.com/analyst-
Marktsituation
“The cloud wars betweenAmazon, 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
20. 20
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!
21. • Web Interface und Bedienung
• SDK‘s und Programmiersprachen
• Tooling und Integration in
Entwicklungsumgebung
• Dokumentation
21
Web Interface & Handhabung
Vergleich der Cloud Provider Services
22. 22
Web Interface & Handhabung
• Ü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)
AWS Management Console
23. 23Azure Portal
Web Interface & Handhabung
• Web Portal mit sehr verschachtelter
Kacheloptik
• Altes und neues Portal
• Tooling
• Befehlszeilentools über
Power Shell
• CLI auch für Linux & Mac
• Azure SDK -Mit passendem
Toolkit für Visual Studio
• Azure Explorer
Azure Portal
24. 24GCP Console
Web Interface & Handhabung
• Schlichtes Web Interface
• Tooling
• gcloud Tool - CLI für
GCP Produkte und
Services
• Cloud SDK
• Wenig IDE
Unterstützung
30. 30
Big Data /Analytics Use-Case
Data Presentation
Visualisierung und Dashboard
Analytics and Computation
Aggregation und Analyse
Collection and Storage
Event Broker und Stream Prozessor
Data Generation / Extraction
App, IoT oder Sensordaten
31. 31http://lambda-architecture.net/
Lambda Architecture
1. Weiterleitender ankommenden
Daten zu Speed und Batch Layer
2. Batch-Layer
1. Berechnen der Batch Views
2. Rohdaten aufbewahren
3. Serving Layer indexiert die Batch
Views
4. Speed-Layer erlaubt Echtzeit
Views
5. Querys auf Batch und Echtzeit
Views möglich
33. 33
Big Data /Analytics Use-Case
• Startup ULTRA TENDENCY
aus Japan
• Sensorwerte erfassen und
Strahlenwerte analysieren
• Umsetzung mittels Cloud
basierterAnalyse in Azure
34. 34
Big Data /Analytics Use-Case
• ≈5000 Wetterstationen in
Baden-Württemberg
• Weather Underground API
• Temperatur, Niederschlag,
Luftdruck,
Windgeschwindigkeit
• Aktualisierung ≈ 5 min
35. 35
Pub/Sub Dataflow
Big Query Data
Studio 360
Kinesis
Firehose
S3 Elastic Map
Reduce
Data
Pipeline
Quick Sight
Event
Hub
Stream
Analytics
Data
Factory
PowerBI
Data
Generation
Collection
and Storage
Analytics and
Computation
Data
Presentation
Data Lake
Store
Redshift
Data Lake
Analytics
Data Lake
Store
37. • Kontinuierlicher Strom von Daten empfangen
und verarbeiten
• Mehrere Publisher/Subscriber
• Skalierbar
• Hoch Verfügbar
• Niedrige Latenzen
• Echtzeit Verarbeitung und Analyse
37
Streaming Dienste
Vergleich der Cloud Provider Services
38. 38
Pub/Sub, Message Broker - Streaming
Dienst Kinesis Event Hub Pub/Sub
Beschreibung • 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
39. 39
Dienste zur Stream Verarbeitung
Dienst Kinesis Firehose
Kinesis Analytics(Beta)
Kinesis & Lambda
Stream Analytics Dataflow
Beschreibung • Echtzeitverarbeitung von Streams
• Kinesis mit SQL basierte
Anfragen
• Lambda Funktionen um
Events zu verarbeiten
• Firehose persistiert
Stream nach S3, ES
(1.5), Redshift
• SQL basierte Abfragen
• Windowing
• Echtzeitdashboards und
Warnungen
• Programmierung von
Dataflows in Java
• Damit Windowing und
quasi jeder Output
möglich
40. 40AWS Kinesis
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
• KinesisAnalytics(Beta)
42. 42Google DataFlow
Streaming Dienste
• Programmiermodell
– Batch und Stream
Workload
– Pipelineing als DAG
– Arbeiten auf Collections
• Google Dataflow als Runner
für das Dataflow
Programmiermodell
Google Dataflow
43. 43
Dienste zur Stream Verarbeitung
Dienst Amazon Kinesis Stream Analytics Dataflow
Bewertung 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)
Bedienung:☆☆☆
Lifecycle Management:
☆
Möglichkeiten: ☆☆☆
+ Simple Bedienung
+ Hohe Funktionalität mit
geringem Aufwand
+ SQL Syntax für Abfrage
- Schlecht zu versionieren oder zu
Managen
Bedienung:☆☆
Lifecycle
Management: ☆☆
Möglichkeiten:
☆☆☆
Programmcode mit allen Vor- und
Nachteilen
+ Sehr gute Skalierbarkeit und Big
Data Fähigkeit
- Höherer Einarbeitungsaufwand
44. 44
Kosten Message Broker /Stream Verarbeitung
Dienst Amazon Kinesis Stream Analytics Dataflow
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
Unit Stunde 3,1ct
Nutzlast 0,1ct pro GB
Beispiel: 2 Events a 35KB
pro Sekunde
≈20€ Stream
Analytics/Monat
≈9€ Event Hub/Monat
Pub/Sub
1 Milion Operationen
40ct
Halbiert sich ab 250M
Operationen
Batch 1ct GCEU/h
Stream 1,5ct GCEU/h
51. • 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
OrchestrierungsDienste
52. 52
Orchestrierungs Dienste
• 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
Data Pipeline
53. 53
Orchestrierungs Dienste – Data Pipeline
• Hive in Data Pipeline
• Ressource Anlegen
• Skript schreiben und
verknüpfen
54. 54
Orchestrierungs Dienste
• Factory Dashboard
• Werkzeuge für das Erstellen
der Factory
• Zustandsüberwachung
• Manuelles Starten von
Vorgängen
• Auslastung und Diagnosen
Data Factory
55. 55
Orchestrierungs Dienste
• 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
Data Factory
56. 56
Orchestrierungs Dienste
Dienst Data Pipeline Data Factory
Bewertung 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)
Bedienung:☆+
Lifecycle Management:
☆☆
Möglichkeiten: ☆☆
+ Templates und Visual Studio
Unterstützung
- Kein Designer sondern
zusammenfügen von JSON
Dokumenten
SSIS weit
voraus
62. 62
Analytische Datenspeicher
• Schnelle Skalierung der Cluster
Instanzen über API Aufrufe
• Postgres-Fork nutzt
spaltenbasierte Datenbank und
massive parallele Verarbeitung
Redshift
63. 63
Analytische Datenspeicher
•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
Data Factory - Data LakeAnalytics (Beta)
64. 64
Analytische Datenspeicher
• Unabhängige Skalierung von
Compute- und
Speicherressourcen innerhalb
von Sekunden
• Vielfältige SQL Server-
Funktionalität mit T-SQL
Abfragen
SQL Data Warehouse (Beta)
65. 65
Analytische Datenspeicher
•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
Google Big Query
66. 66
Analytische Datenspeicher
Dienst AWS Redshift Azure Data Lake Big Query
Beschreibung • Postgres Fork
• Massiv Parallel
• Store und Analytics
• U-SQL als Mischung
von C# und T-SQL
• Serverless
• Pay per Query
Preise • $0.25 pro Stunde für
dc1.large
• $0.85 pro Stunde für
ds2.xlarge
• Analytics Einheit
0,017$/Minute
• Abgeschlossener Auftrag
0,025$
SQL-DWH: ab 0,70$/h
• $5 pro queryed TB
• $0.02 per GB Speicher
• $0.01 per 200 MB Insert
67. Dienst Amazon Redshift Azure Data Lake Big Query
Bewertung Bedienung:☆+
Lifecycle Management:
☆☆
Möglichkeiten: ☆☆
- Keine Entwicklungsunterstützung
im Web Interface oder
Entwicklungsumgebung
Bedienung:☆☆☆
Lifecycle Management:
☆☆
Möglichkeiten: ☆☆☆
+ Visual Studio Unterstützung
+ Strukturierte und
Semistrukturierte Daten
Bedienung:☆☆+
Lifecycle Management:
☆☆
Möglichkeiten: ☆☆
+ Web Tooling
67
Analytische Datenspeicher
73. • Daten Präsentieren
• Umfangreiche Visualisierungen
• Dashboards und Reports über Web
• SaaS
• Anbindung an Datenbanken
• Real-Time Anbindung
73
Datenvisualisierung
74. 74
Datenvisualisierung
Dienst Amazon Quick Sight Microsoft Power Bi
(kein Teil von Azure aber gut integrierbar)
Google Data Studio 360
(beta)
Beschreibung • Beta (nur für
ausgewählte
Kunden)
• Echtzeit BI mit Stream
Analytics möglich
• Anbindung an
Datenbanken und
andere Datenspeicher
• Beta (nur für
ausgewählte Kunden)
• Alternativ gute Integration von BI Tools wie Tableau, Qlik und einigen
anderen
75. Dienst Amazon Quick Sight Microsoft Power Bi
(kein Teil von Azure aber gut integrierbar)
Google Data Studio 360
(beta)
Bewertung Bedienung:☆+
Möglichkeiten: ☆+
- Closed Beta
Bedienung:☆☆☆
Möglichkeiten: ☆☆☆
+ Viele Datenquellen
+ On-Prem Entwicklung möglich
Bedienung:☆+
Möglichkeiten: ☆+
- Beta
75
Datenvisualisierung
80. 80
Vergleich der Cloud Provider
Amazon Web Services Microsoft Azure Google Cloud Platform
Stream ☆☆ ☆☆☆ ☆☆
Orchestration ☆☆+ ☆☆ -
MPP ☆☆ ☆☆+ ☆☆+
Datenvisualisierung ☆+ ☆☆☆ ☆+
Für diesen Use Case hat Microsoft die Nase vorn
81. 81
Demnächst auch als Artikelserie auf:
blog.inovex.de
Regelmäßige Beiträge zu den aktuellsten Technologie-
Themen rund um Web, Mobile, Analytics, Data Center & Co.
82. Vielen Dank
Stefan Kirner &
Thomas Neureuther
inovex GmbH
Ludwig-Erhard-Allee 6
76131 Karlsruhe
stefan.kirner@inovex.de
tneureuther@inovex.de
Solche Projekte und
Technologien sind für dich
interessant?
Wir suchen
Cloud Solution
Architects
und Werkstudenten
für Data Management & Analytics
Und viele andere Jobs auf
https://www.inovex.de/de/karriere
/stellenangebote