Überblick Datenanalysen mit AWS

Autor / Redakteur: Thomas Joos / Nico Litzel

AWS ist die Cloud-Infrastruktur mit dem größten Marktanteil. Das liegt unter anderem auch daran, dass es in der Cloudplattform umfassende Möglichkeiten zur Analyse von Daten gibt. Wir geben in diesem Beitrag einen Überblick.

Firmen zum Thema

Amazon Web Services (AWS) bietet verwaltete Dienste im Pay-as-you-go-Modell. Es müssen also nur die Dienstleistungen bezahlt werden, die Unternehmen auch verbrauchen.
Amazon Web Services (AWS) bietet verwaltete Dienste im Pay-as-you-go-Modell. Es müssen also nur die Dienstleistungen bezahlt werden, die Unternehmen auch verbrauchen.
(Bild: gemeinfrei / Pixabay )

Amazon Web Services (AWS) bietet verschiedene, verwaltete Dienste, mit denen sich Daten in die Cloud übertragen und anschließend analysieren lassen. Der Vorteil der Dienste besteht vor allem darin, dass keine eigene Hard- und Software notwendig ist. Das erleichtert deutlich die Skalierbarkeit und ermöglicht eine optimale Kostenplanung. AWS arbeitet, wie Microsoft Azure auch, mit einem Pay-as-you-go-Modell. Es müssen also nur die Dienstleistungen bezahlt werden, die Unternehmen auch verbrauchen. Nicht notwendige Ressourcen lassen sich pausieren, während andere jederzeit skaliert werden können, um Spitzenlasten abzufangen.

Zahlreiche Möglichkeiten für die Analyse von Daten in AWS

Neben Standarddiensten wie Amazon Simple Storage Service (S3) und AWS Glue zur Speicherung von Daten, Orchestrierung von Aufträgen stehen auch Dienste wie AWS IoT für die Interaktion von verbundenen Geräten mit Cloud-Anwendungen zur Verfügung. AWS hilft daher nicht nur bei der Analyse, sondern unterstützt auch bei der Übertragung von Daten in die Infrastruktur, genauso wie das Speichern großer Datenmengen.

Bildergalerie

AWS Snowball hilft bei der Übertragung von Daten im Petabyte-Bereich, Amazon Kinesis Data Firehose ermöglicht das kontinuierliche Laden von Streaming-Daten. Auch die Migration von Datenbanken in die Cloud ist mit AWS Database Migration Service möglich. Sollen Daten aus dem lokalen Rechenzentrum analysiert werden, stehen skalierbare private Verbindungen über AWS Direct Connect zur Verfügung. AWS Snowball Edge ermöglicht das Verschieben großer Datenmengen in und aus AWS. In diesem Zusammenhang ist es auch interessant zu wissen, dass AWS-Lambda-Code auf Snowball Edge bereitgestellt werden kann, um die Analyse von Daten auch für Streams zu ermöglichen.

Amazon Kinesis – die Plattform für Streaming-Daten auf AWS

Amazon Kinesis ermöglicht vor allem die Analyse von Streaming-Daten in Echtzeit. Dabei kann es sich um Anwendungsprotokolle, Website-Clickstreams, Telemetriedaten und andere Datenquellen handeln. Kinesis kann Daten verarbeiten und analysieren, sobald sie übertragen wurden. Anschließend kann Kinesis in Echtzeit reagieren. Amazon Kinesis Data Streams ermöglicht das Erstellen eigener Anwendungen die Streaming-Daten verarbeiten oder analysieren. Diese Möglichkeit gibt es mit Amazon Kinesis Video Streams auch für Videodaten.

Amazon Kinesis Data Firehose kann Streaming-Daten zu Amazon S3, Amazon Redshift, Amazon Kinesis Analytics und Amazon Elasticsearch Service zur Weiterverarbeitung senden. Mit Amazon Kinesis Data Analytics lassen sich Streaming-Daten mit Standard-SQL analysieren.

AWS Lambda – Code zur Analyse serverlos ausführen

Mit AWS Lambda kann Code ausgeführt werden, ohne Server bereitstellen oder verwalten zu müssen. AWS Lambda unterstützt Code, der in Node.js (JavaScript), Python, Java, C# (.NET Core), Go, PowerShell und Ruby geschrieben ist.

Das ist bei der Analyse hilfreich, da auch hier nur die verbrauchte Rechenzeit berechnet wird. Mit Lambda kann Code für nahezu alle Arten von Anwendungen ausführen. Der Code von Lambda kann auch automatisiert von anderen Diensten gestartet werden, um zum Beispiel Analysen zu starten. Der Code kann in Lambda zum Beispiel auf Basis von Änderungen in Daten durch Amazon S3, DynamoDB, Amazon Kinesis Data Streams, Amazon Simple Notification Service (Amazon SNS), und anderen Diensten ausgelöst werden.

Amazon EMR – Apache Hadoop zur Analyse einbinden

Amazon EMR ist ein verteiltes Computing-Framework zur Verarbeitung und Speicherung von Daten. Der verwendet Apache Hadoop auf Basis von Amazon EC2-VMs. Dadurch besteht die Möglichkeit Hadoop-Tools wie Hive, Pig, Spark und andere Werkzeuge für die Analyse in AWS zu nutzen.

Dazu übernimmt Amazon EMR alle Aufgaben, die mit der Bereitstellung, Verwaltung und Wartung der Infrastruktur und Software eines Hadoop-Clusters notwendig sind. EMR kann über diesen Weg große Datenmengen in kleinere Aufträge aufteilen und auf verschiedene Rechenknoten in einem Hadoop-Cluster verteilen. Amazon EMR kann einen persistenten Hadoop-Cluster starten, der beliebig lange aktiv bleiben kann. Auch das Erstellen von temporären Clustern, die EMR nach der Analyse wieder beendet ist möglich.

Amazon EMR nutzt dazu Amazon EC2-Instanzen und kann auch auf zahlreiche Typen setzen. Das ermöglicht die optimale Skalierung des Clusters und das Festlegen der notwendigen Konfiguration für den optimalen Betrieb mit Hadoop. Bei der Konfiguration von EMR kann auch gezielt festgelegt werden, welche Amazon EC2-Instanzen EMR nutzen soll, um den Hadoop-Cluster aufzubauen.

Amazon EMR ist fehlertolerant gegenüber Ausfällen und setzt die Auftragsausführung fort, wenn ein Slave-Knoten ausfällt. Amazon EMR ist auch in der Lage neue Core-Knoten zu erstellen, wenn einzelne Knoten ausfallen. Im laufenden Betrieb lassen sich jederzeit neue Knoten hinzufügen, die auf das Hadoop Distributed File System (HDFS) setzen. Dadurch ist der Cluster im laufenden Betrieb skalierbar. Zusätzlich kann EMR den Speicherdienst Amazon S3 nativ oder mit EMRFS anstelle von lokalem HDFS verwenden.

AWS Glue – Extrahieren, Transformieren und Laden

AWS Glue ist ein weiterer, vollständig verwalteter Dienst in AWS. Er bietet einen verwalteten ETL-Service, der in einer serverlosen Apache Spark-Umgebung läuft. Der Dienst kann Daten extrahieren, transformieren und laden (ETL-Dienst). Dadurch ist es möglich Daten zu katalogisieren, zu bereinigen, anzureichern und zu verschieben. Wenn ETL-Aufträge zur Analyse notwendig sind, macht es Sinn auf Glue zu setzen, wenn die Analyse ohnehin in AWS erfolgt.

AWS Glue ist ein komplett serverloser Dienst. Es ist auch keine Erstellung und Verwaltung von virtuellen Servern in EC2 notwendig, sondern der Dienst kann sofort mit seiner Arbeit beginnen. Das Gute an AWS Glue ist, dass der Dienst auch mit den anderen Analyse-Diensten in AWS zusammenarbeitet. Glue kann zum Beispiel Daten auch für Amazon Athena, Amazon EMR und Amazon Redshift aufbereiten. Glue erstellt dazu einen ETL-Code, der anpassbar, wiederverwendbar und portabel ist.

Datenwissenschaftler und Administratoren können die Anzahl der Data Processing Units (DPUs) angeben, die ein ETL-Auftrag erhalten soll. AWS Glue stellt eine Verbindung nahezu jeder Datenquelle her. Dabei kann es sich auch um Dateien in Amazon S3 oder Tabellen in Amazon RDS handeln.

(ID:47538579)

Über den Autor

 Thomas Joos

Thomas Joos

Freiberuflicher Autor und Journalist