Weiter zum Inhalt

Cloud Computing und Architektur für Data Scientists

Erfahre, wie Data Scientists die Cloud nutzen, um Lösungen in Produktion zu bringen oder Rechenleistung zu skalieren.
Aktualisiert 18. Sept. 2026  · 13 Min. lesen

Mit KI erkunden

ChatGPTClaudePerplexity

Skalierbare Data Science jenseits des eigenen Rechners

Data Science steht für die Schnittmenge vieler wichtiger Disziplinen.

Aus meiner Sicht gibt es zentrale Säulen der Data-Science-Expertise:

  • Business-Domäne
  • Wahrscheinlichkeitsrechnung und Statistik
  • Informatik und Softwareprogrammierung
  • Schriftliche und mündliche Kommunikation

Die dritte Säule dreht sich um ein solides Verständnis von Informatik und Softwareentwicklung.

Auch wenn es angehenden Data Scientists nicht sofort auffällt, umfasst dieser Bereich oft Themen wie DevOps, Cloud Computing, Datenpipelines, Data Engineering, das Abfragen unterschiedlicher Datenbanksysteme, das Bauen und Ausrollen produktiver Softwaresysteme und mehr.

Data Scientists brauchen starke Programmierkompetenzen, sind aber nicht zwangsläufig so tief in Informatik, Programmierparadigmen oder produktionsreifer Softwarearchitektur und -infrastruktur ausgebildet oder erfahren wie Softwareingenieurinnen und -ingenieure. Wer in Data Science startet, installiert meist Python und/oder R lokal und schreibt Code in einer lokalen Entwicklungsumgebung (IDE) wie Jupyter Notebook oder RStudio.

Da fortgeschrittene Analytik immer verbreiteter wird und Data-Science-Teams wachsen, steigt der Bedarf an kollaborativen Lösungen, um Insights, Predictive Analytics, Empfehlungssysteme und mehr auszuliefern. Reproduzierbare Forschung und Notebook-Tools in Kombination mit Versionsverwaltung sind ein Teil der Lösung; der andere sind kollaborative, cloudbasierte Tools und Plattformen.

Kollaboration betrifft auch Stakeholder außerhalb des Data-Science-Teams, denn Data Science dient in erster Linie Geschäftsziele zu erreichen. Zu den Stakeholdern eines Projekts zählen daher Geschäftsführung, Bereichsleitungen und weitere Datenteams wie Architektinnen, Data Engineers, Analystinnen und andere.

Dieser Artikel soll Data Scientists zeigen, was jenseits des eigenen Laptops oder Desktops liegt – speziell, wenn es darum geht, Lösungen in Produktion zu bringen oder Rechenleistung und Fähigkeiten zu erweitern. Je nach Vorwissen sind die Inhalte für alle Erfahrungsstufen relevant.

Los geht’s!

Was genau ist die Cloud?

Ach ja, die berüchtigte und immer noch oft missverstandene Cloud. So abstrakt sie klingt, ist sie in ihrer Bedeutung sehr konkret. Bevor wir zur Cloud kommen, klären wir ein paar Grundlagen.

Verbinden sich Rechner, um Ressourcen zu teilen, entsteht ein Netzwerk – das bekannteste Beispiel ist das Internet. Heimnetzwerke wie ein Local Area Network (LAN) oder ein WLAN mit einer bestimmten Service Set Identifier (SSID) sind weitere, kleinere Beispiele. Geteilte Ressourcen können Webseiten, Medien, Datenspeicher, App-Server, Drucker usw. sein.

Rechner in einem Netzwerk heißen üblicherweise Knoten und kommunizieren über definierte Protokolle wie HyperText Transfer Protocol (HTTP) oder Transmission Control Protocol (TCP)/Internet Protocol (IP). Diese Kommunikation dient etwa Statusupdates, Monitoring, Request/Response und vielen weiteren Zwecken.

Häufig stehen die Rechner nicht vor Ort, sondern Anwendungen und Daten liegen auf Rechnern in Rechenzentren. Diese stellen Strom, Kühlung, Sicherheit, Katastrophenschutz usw. bereit, um viele Rechner zuverlässig zu betreiben, die für Unternehmen oder die Öffentlichkeit zugänglich sind.

Da Rechenleistung und Speicher günstiger geworden sind, setzen viele Lösungen heute auf mehrere zusammenarbeitende Rechner, die sich kostengünstig skalieren lassen – statt auf eine einzelne, extrem leistungsstarke und teure Maschine. Teil dieses „Zusammenarbeitens“ ist, dass die Lösung auch bei Ausfall einzelner Rechner automatisch weiterläuft und Lastspitzen selbsttätig abfedern kann.

Twitter, Facebook, Instagram, Snapchat, Netflix und YouTube sind Paradebeispiele cloudbasierter Anwendungen, die in beide Richtungen skalieren müssen. Komplettausfälle sind selten, gleichzeitig bewältigen sie täglich Millionen Nutzende.

Wenn mehrere Rechner im selben Netzwerk verbunden sind und gemeinsam dieselbe Aufgabe oder Aufgabenmenge erfüllen, spricht man von einem Cluster. Ein Cluster lässt sich wie ein einzelner Rechner denken, bietet aber enorme Vorteile bei Leistung, Verfügbarkeit und Skalierbarkeit gegenüber einer Einzelmaschine. Diese Punkte greifen wir später noch auf.

Unter verteiltem Rechnen bzw. verteilten Systemen versteht man Software und Systeme, die Cluster nutzen, um Aufgaben auszuführen – etwa Hadoop, Spark oder MapReduce.

Kommen wir zur Cloud-Definition. Neben den genannten geteilten Ressourcen gehören dazu Server, Services, Microservices, Netzwerke und mehr. Eine Cloud beschreibt eine Umgebung, in der eine Partei eine Gruppe vernetzter Rechner und geteilte Ressourcen besitzt, betreibt und verwaltet, um in der Regel softwarebasierte Lösungen bereitzustellen. Nach dieser Definition ist das Internet zwar ein Netzwerk, aber keine Cloud, da es keiner einzigen Partei gehört.

Für einen tieferen Einstieg in Cloud Computing sowie zentrale Konzepte skalierbarer Software- und Big-Data-Architekturen findest du hier meine dreiteilige Deep-Dive-Serie zu diesem Thema.

Data Science in der Cloud

Wir haben Cloud Computing und verwandte Konzepte nun so weit beleuchtet, dass die Grundidee klar wird. Wenn du bisher nur lokal entwickelst, fragst du dich vielleicht, warum das für Data Scientists relevant ist. Genau das klären wir jetzt.

Wenn du den Data-Science-Prozess kennst, weißt du: Ein Großteil der Arbeit läuft oft auf dem lokalen Rechner ab. Darauf sind Sprachen wie Python und R sowie die bevorzugte IDE installiert. Zusätzlich richtet man die Umgebung ein, etwa mit einem Paketmanager wie Anaconda oder per manueller Paketinstallation.

Ist die Entwicklungsumgebung startklar, beginnt der typische Data-Science-Workflow – im Kern braucht es dafür nur noch Daten. Die iterativen Schritte sind meist:

  • Datenbeschaffung
  • Parsen, Bereinigen, Aufbereiten, Transformieren und Validieren von Daten
  • Analyse und Exploration, z. B. Exploratory Data Analysis (EDA), Kennzahlen usw.
  • Erstellen, Validieren und Testen von Modellen, z. B. Vorhersagen, Empfehlungen, ...
    • Hinweis: Wenn keine Modelle gebaut werden, geht es um Mustererkennung, Trendanalysen, umsetzbare Insights, Informationsgewinnung, Reportings usw. In diesem Tutorial fassen wir beides unter „ein Ergebnis liefern“ zusammen.
  • Feintuning und Optimierung von Modellen oder Ergebnissen

Manchmal ist es jedoch unpraktisch oder unerwünscht, alle Data-Science- oder Big-Data-Aufgaben lokal auszuführen. Hauptgründe sind zum Beispiel:

  • Datensätze sind zu groß und passen nicht in den Arbeitsspeicher (RAM) der Entwicklungsumgebung – etwa fürs Modelltraining oder andere Analysen.
  • Die Rechenleistung (CPU) reicht nicht aus, um Aufgaben in sinnvoller Zeit zu erledigen – oder überhaupt.
  • Das Ergebnis soll in einer produktiven Umgebung laufen und ggf. Teil einer größeren Anwendung werden (z. B. Web-App, SaaS-Plattform, ...).
  • Es ist schlicht angenehmer, auf einer schnelleren, leistungsstärkeren Maschine (CPU, RAM, ...) zu arbeiten und den eigenen Rechner nicht zu belasten.

In solchen Fällen gibt es mehrere Optionen. Statt der lokalen Maschine lagert man die Rechenarbeit auf einen On-Premises-Server oder eine cloudbasierte virtuelle Maschine aus (z. B. AWS EC2, AWS Elastic Beanstalk). Der Vorteil virtueller Maschinen und automatisch skalierender Cluster: Sie lassen sich bei Bedarf hochfahren und wieder abschalten sowie genau auf die benötigte Rechen- und Speicherkapazität zuschneiden.

Soll ein Ergebnis in Produktion gehen und Teil einer größeren Anwendung oder Datenpipeline werden, gibt es zahlreiche Optionen und Herausforderungen. Das sprengt den Rahmen dieses Artikels.

Neben individuell entwickelten, cloudbasierten Lösungen gibt es viele Services großer Anbieter, die oft gut mit Notebook-Tools wie Jupyter harmonieren. Dazu zählen Big-Data-, Machine-Learning- und KI-APIs wie die AWS Artificial Intelligence Platform, Databricks, Google Cloud Platform Datalab und Machine Learning und viele weitere.

Für eine deutlich tiefere Betrachtung von Data Science und Advanced Analytics in Produktion vs. Entwicklung – inklusive Empfehlungen zu Sprachen, Paketen, Frameworks und Plattformen – lies gern meine dreiteilige Serie dazu. Meine Reihe zu skalierbaren Software- und Big-Data-Architekturen ist eine ideale Ergänzung zum Thema Cloud Computing.

Softwarearchitektur und Qualitätsmerkmale

Softwarearchitektur bedeutet, ein in der Regel cloudbasiertes Softwaresystem zu entwerfen, das ein Produkt, einen Service oder ein auf Aufgaben ausgerichtetes System darstellt. Du wirst auch die Begriffe Systemarchitektur oder Softwarearchitektur hören – sie meinen im Wesentlichen dasselbe.

Zum Architekturentwurf gehört die Wahl passender Programmiersprachen und Technologien (Stack), Komponenten, Pakete, Frameworks, Plattformen usw. Das erfordert sorgfältige Abwägungen – vor allem im Hinblick auf den vorgesehenen Zweck und wichtige Trade-offs. Dieses Feld lebt von Fähigkeiten, Wissen und Erfahrung, die etwa eine Softwarearchitektin oder ein -architekt über die Zeit aufbaut.

Ein weiterer entscheidender Bereich von System- und Softwarearchitektur sind sogenannte Qualitätsmerkmale bzw. nicht-funktionale Anforderungen – besonders in produktiven Lösungen.

Nicht-funktionale Anforderungen umfassen typischerweise:

  • Verfügbarkeit
  • Performance
  • Zuverlässigkeit
  • Skalierbarkeit (vertikal und horizontal)
  • Erweiterbarkeit
  • Usability
  • Modularität
  • Wiederverwendbarkeit

In diesem Artikel bekommst du einen kurzen Überblick über vier der wichtigsten: Verfügbarkeit, Performance, Zuverlässigkeit und Skalierbarkeit. Die Darstellung bleibt bewusst auf hohem Niveau, ohne metrische Definitionen oder harte Anforderungen.

Verfügbarkeit bedeutet, dass das System erreichbar ist – sprich: es läuft ordnungsgemäß. Das kann vieles bedeuten und hängt stark mit Zuverlässigkeit und Skalierbarkeit zusammen. „Läuft ordnungsgemäß“ heißt: Das System funktioniert wie vorgesehen und immer dann, wenn es gebraucht wird – sei es von Endnutzenden wie bei Facebook oder Netflix oder als Satz cloudbasierter Services zur Datenverarbeitung.

Zuverlässigkeit beschreibt, wie gut ein System ohne Ausfälle oder Fehler läuft. Je robuster es unter verschiedenen Bedingungen arbeitet, desto fehlertoleranter ist es. Weil sich nicht alle Anwendungs- und Randfälle vorab bedenken und testen lassen, ist 100% Zuverlässigkeit kaum erreichbar. Ursachen für Ausfälle gibt es viele: Bugs, Umgebungsprobleme oder begrenzte Ressourcen (CPU, RAM, Speicher) sind häufige Gründe.

Performance beschreibt, wie schnell das System Aufgaben erledigt – oder anders gesagt: wie lange es für eine bestimmte Aufgabe braucht. Beispiel YouTube: Du erwartest, dass ein Video zügig lädt und startet. Je performanter Google YouTube macht, desto schneller geht es, desto zufriedener sind Nutzende und desto geringer die Absprungrate. Wäre YouTube extrem langsam, würden die Leute es nicht nutzen. Zum Glück ist meist das Gegenteil der Fall.

Zuletzt ist Skalierbarkeit kritisch für bestimmte Anwendungen. Sie beschreibt die Fähigkeit eines Systems, eine bestimmte Performance auch bei steigender Last zu halten. Last meint die Zahl gleichzeitiger Anfragen.

Ein klassisches Beispiel: Der Vorverkauf für Tickets eines Top-Teams oder eines angesagten Acts startet. Je nach Popularität prasseln bei einem Anbieter wie Ticketmaster zu Beginn Hunderttausende paralleler Kaufanfragen ein. Je nach Skalierungsfähigkeit sinkt dann entweder die Performance drastisch – oder das System bricht komplett zusammen. Beides ist inakzeptabel.

Um das zu vermeiden, skaliert man vertikal oder horizontal. Vertikale Skalierung bedeutet: vorhandene Maschinen durch leistungsstärkere (mehr CPU, mehr Kerne, mehr RAM) ersetzen. Das ist oft teuer.

Horizontale Skalierung setzt stattdessen auf viele günstige Standardmaschinen. Jede für sich ist nicht besonders stark, aber im Verbund tragen sie die Last. Da solche Lösungen mehrere Rechner benötigen, muss das System automatisch mit Ausfällen einzelner Knoten umgehen (Failover) und ähnliche Szenarien abfangen.

Fazit

Hoffentlich hat dieser Artikel wichtige Aspekte von Data Science jenseits der lokalen Entwicklung beleuchtet – vor allem mit Blick auf produktive Lösungen. Konzepte zu Cloud Computing und Architektur sind essenziell, wenn du produktive Datenlösungen baust oder zusätzliche Rechenleistung und Ressourcen brauchst.

Teile gern deine Gedanken in den Kommentaren. Wenn du mehr erfahren möchtest, folge @innoarchitech auf Twitter, abonniere den InnoArchiTech-Newsletter und schau im InnoArchiTech-Blog vorbei. Meine Goal-Driven Artificial Intelligence and Machine Learning Class könnte dich ebenfalls interessieren.

Themen
Cloud