Einführung
Cloud-Computing ist ein Konzept, das es ermöglicht, Computerressourcen wie Rechenleistung, Speicherplatz und Softwareanwendungen über das Internet bereitzustellen. Anstatt diese Ressourcen lokal auf einem eigenen Computer oder Server zu haben, können sie in der “Cloud” abgerufen werden, was im Grunde genommen ein Netzwerk von Servern ist, die über das Internet verbunden sind.
Es gibt verschiedene Anbieter von Cloud-Computing-Diensten, darunter grosse Unternehmen wie Amazon mit Amazon Web Services (AWS), Microsoft mit Azure und Google mit Google Cloud. Diese Anbieter stellen eine Vielzahl von Diensten zur Verfügung, darunter virtuelle Maschinen, Speicherplatz, Datenbanken, Analysetools und vieles mehr.
Die Lehrfonds-Projekte RAPP und DAWS laufen auf einem eigenen Server der FHNW, jedoch ist es natürlich auch möglich, über einen Cloud-Anbieter wie AWS, Google Cloud oder Digital Ocean eine virtuelle Maschine zu mieten, R und RStudio zu installieren und die Apps dort zu hosten. Der Anbieter Digital Ocean ist hier als besonders preiswert zu empfehlen.
Falls Sie interessiert sind, so erfahren Sie hier, wie Sie auf Digital Ocean eine eigene virtuelle Maschine mieten, R installieren und ihren ersten Server in der Cloud in Betrieb nehmen - das ist für die weiteren Cloud-Tutorials aber nicht notwendig. Die Kosten belaufen sich hierfür auf minimal 5$ pro Monat, und es muss eine Kreditkarte hinterlegt werden. Der Autor dieser Tutorials verwendet eine Lösung für 10$ pro Monat, und diese Lösung hat für Versuchszwecke genügend Rechenleistung geboten.
Cloud-Computing findet in vielen Bereichen Anwendung. Unternehmen können beispielsweise ihre Daten in der Cloud speichern, um auf sie von überall und von verschiedenen Geräten aus zugreifen zu können. Dies ermöglicht eine erhöhte Flexibilität und Zusammenarbeit innerhalb des Unternehmens. Darüber hinaus können Unternehmen ihre Rechenleistung in der Cloud skalieren, um die Anforderungen ihrer Anwendungen zu erfüllen, ohne in teure Hardware investieren zu müssen.
Eine weitere Anwendung von Cloud-Computing sind Software-as-a-Service (SaaS)-Anwendungen. Hierbei werden Softwareanwendungen über das Internet bereitgestellt und können von den Benutzern abonniert oder auf Bedarf genutzt werden. Beispiele hierfür sind E-Mail-Dienste wie Gmail, Projektmanagement-Tools wie Trello oder Customer Relationship Management (CRM)-Systeme wie Salesforce.
Cloud-Computing bietet viele Chancen. Es ermöglicht Unternehmen, ihre IT-Infrastruktur flexibel anzupassen und Kosten zu sparen, da sie nur die Ressourcen bezahlen müssen, die sie tatsächlich nutzen. Es erleichtert auch die Skalierbarkeit von Anwendungen, da Unternehmen bei Bedarf schnell zusätzliche Ressourcen hinzufügen können. Darüber hinaus bietet die Cloud die Möglichkeit zur globalen Zusammenarbeit, da Daten und Anwendungen von verschiedenen Standorten aus zugänglich sind.
Es gibt jedoch auch einige Gefahren und Herausforderungen im Zusammenhang mit Cloud-Computing. Eine wichtige Frage ist die Sicherheit der Daten. Da die Daten in der Cloud gespeichert werden, müssen Unternehmen sicherstellen, dass angemessene Sicherheitsmassnahmen getroffen werden, um einen unbefugten Zugriff auf ihre Daten zu verhindern. Auch die Abhängigkeit von einem Cloud-Anbieter kann ein Risiko darstellen, da Ausfälle oder Probleme beim Anbieter die Verfügbarkeit der Dienste beeinträchtigen können.
Die Stärken von Cloud-Computing liegen in seiner Flexibilität, Skalierbarkeit und Kosteneffizienz (wobei dies nicht immer der Fall ist!). Unternehmen können schnell auf veränderte Anforderungen reagieren und haben die Möglichkeit, ihre Ressourcen je nach Bedarf anzupassen. Darüber hinaus ermöglicht es Cloud-Computing kleinen und mittleren Unternehmen den Zugang zu hochwertiger IT-Infrastruktur, ohne grosse Investitionen tätigen zu müssen.
Auf der anderen Seite hat Cloud-Computing auch Schwächen. Eine davon ist die Abhängigkeit von einer stabilen und schnellen Internetverbindung. Ohne eine zuverlässige Internetverbindung können Anwender nicht auf ihre in der Cloud gespeicherten Daten oder Anwendungen zugreifen. Auch die Datenschutz- und Compliance-Anforderungen können eine Herausforderung sein, insbesondere in regulierten Branchen oder Ländern.
Insgesamt bietet Cloud-Computing viele Vorteile und hat das Potenzial, die Art und Weise, wie Unternehmen IT-Infrastruktur und Software nutzen, zu transformieren. Es ist jedoch wichtig, die Chancen, Gefahren, Stärken und Schwächen zu verstehen und angemessene Massnahmen zu ergreifen, um die Vorteile von Cloud-Computing bestmöglich zu nutzen und die potenziellen Risiken zu minimieren.
Warum Cloud-Computing?
Was wir brauchen…
Für Cloud-Computing Anwendungen mit Amazon-Web-Services (AWS), Google-Cloud oder Digital-Ocean und ähnliche Anbieter benötigen Sie auf jeden Fall eine gültige Kreditkarte. Wir versuchen, für die dargestellten Anwendungen entstehende Kosten anzugeben, diese sind aber nicht als absolutes Kostendach zu verstehen und haben somit keine Verbindlichkeit.
Als Nutzer der Tutorials sind Sie selbst verantwortlich, die relevanten Konti in der Cloud abzumelden und die bezogenen Services zu löschen resp. zu deaktivieren!
Ferner benötigen Sie natürlich eine Installation von R und R-Studio. Falls Sie die Software noch nicht installiert haben, so erfahren Sie hier, wie die Installation funktioniert.
Für eine kurze Einführung sei das Tutorial leaRn empfohlen, hierzu benötigen Sie einen FHNW-Account mit VPN. Das leaRn-Tutorial finden Sie hier.
Und wieso soll ich etwas von Cloud-Computing verstehen?
Als Fachhochschul-Studentin kann das Verständnis von Cloud-Computing für Sie in mehrfacher Hinsicht von Vorteil sein:
Relevanz in der Industrie: Cloud-Computing ist eine zentrale Technologie, die in vielen Branchen und Unternehmen weit verbreitet ist. Es ist wichtig, die Grundlagen des Cloud-Computings zu verstehen, da viele Organisationen ihre IT-Infrastruktur in die Cloud verlagern oder cloud-basierte Dienste nutzen. Indem man Kenntnisse im Bereich Cloud-Computing erwirbt, bereitet man sich auf die Anforderungen und Entwicklungen in der Arbeitswelt vor.
Flexibilität und Skalierbarkeit: Cloud-Plattformen bieten die Möglichkeit, Ressourcen flexibel und bedarfsgerecht bereitzustellen. Das Verständnis von Cloud-Computing ermöglicht es Ihnen, Konzepte wie elastisches Computing und automatische Skalierung zu nutzen. Dies ist wichtig, um in der Lage zu sein, IT-Infrastrukturen effizient zu verwalten und auf sich ändernde Anforderungen schnell zu reagieren.
Zusammenarbeit und Vernetzung: Cloud-Computing ermöglicht die nahtlose Zusammenarbeit und den Austausch von Ressourcen in verteilten Teams. Durch das Verständnis von Cloud-Technologien können Sie mit anderen Fachleuten zusammenarbeiten, Daten und Anwendungen gemeinsam nutzen und den Workflow optimieren.
Innovationspotential: Cloud-Computing ist ein Bereich, der sich kontinuierlich weiterentwickelt und viele neue Möglichkeiten bietet. Das Verständnis von Cloud-Technologien kann Ihnen dabei helfen, innovative Lösungen zu entwickeln, neue Geschäftsideen zu realisieren und technologische Trends wie Künstliche Intelligenz, Big Data und das Internet der Dinge in Verbindung mit Cloud-Infrastrukturen zu nutzen.
Karrierechancen: Da Cloud-Computing eine wichtige Rolle in der IT-Branche spielt, kann ein fundiertes Wissen darüber Ihre Karrierechancen verbessern. Unternehmen suchen häufig nach Fachkräften mit Kenntnissen im Bereich Cloud-Computing, sei es für Cloud-Architektur, Cloud-Sicherheit, Cloud-Management oder Cloud-basierte Anwendungsentwicklung.
Insgesamt bietet das Verständnis von Cloud-Computing Fachhochschul-Studentinnen eine breitere Wissensbasis, ermöglicht den Erwerb relevanter Fähigkeiten und kann sich positiv auf die zukünftigen Karriereaussichten auswirken, insbesondere in Bereichen wie Informatik, Informationstechnologie, Wirtschaftsinformatik und verwandten Disziplinen wie Betriebswirtschaft und Management.
Das Data-Science Projekt und notwendige Fähigkeiten
Ein Data-Science-Projekt umfasst mehrere wichtige Teilschritte, die dazu dienen, Daten in verwertbare Erkenntnisse umzuwandeln. Hier sind die Teilschritte und wie Cloud-Computing dabei unterstützen kann:

- Problem: In diesem Schritt wird das Ziel des Data-Science-Projekts definiert, zum Beispiel die Vorhersage von Kundennachfrage oder die Identifizierung von Betrugsmustern.
- Data: Die Datenbeschaffung ist ein entscheidender Schritt. Cloud-Computing kann hier helfen, da es eine skalierbare und flexible Infrastruktur bietet, um grosse Mengen an Daten aus verschiedenen Quellen wie Datenbanken, Sensoren oder sozialen Medien zu sammeln und zu speichern.
- Preparation: Die Daten müssen gereinigt, transformiert und für die Analyse vorbereitet werden. Cloud-Computing ermöglicht eine parallele Verarbeitung und beschleunigt so den Datenvorbereitungsprozess, der oft zeitaufwändig sein kann, besonders bei grossen Datensätzen.
- Explore: In diesem Schritt werden die Daten visualisiert und untersucht, um Muster und Zusammenhänge zu entdecken. Cloud-Computing bietet leistungsfähige Datenvisualisierungstools und Rechenressourcen, um komplexe Analysen und Visualisierungen durchzuführen.
- Analyze: In dieser Phase werden statistische Methoden, maschinelles Lernen oder künstliche Intelligenz angewendet, um Einblicke in die Daten zu gewinnen. Cloud-Computing ermöglicht die Nutzung von leistungsstarken Algorithmen und die schnelle Berechnung, was die Analyse von grossen Datenmengen effizienter macht.
- Implement: Die Erkenntnisse aus der Analyse müssen in praktische Anwendungen oder Modelle umgesetzt werden. Cloud-Computing bietet eine ideale Umgebung, um Modelle in produktive Systeme zu integrieren und skalierbar bereitzustellen.
- Transfer: In dieser Phase werden die entwickelten Modelle oder Ergebnisse in die operative Umgebung übertragen, um Geschäftsprozesse zu verbessern. Cloud-Computing ermöglicht eine nahtlose Integration der entwickelten Modelle in vorhandene Systeme und Anwendungen.
- Evaluate: Die Leistung der entwickelten Modelle oder Lösungen muss bewertet werden. Cloud-Computing kann dabei helfen, die Modelle in einer Vielzahl von Szenarien zu testen und die Ergebnisse zu überwachen, um ihre Genauigkeit und Effektivität zu überprüfen.
Zusammenfassend kann Cloud-Computing Data-Science-Projekte in fast allen Phasen unterstützen, indem es leistungsfähige Rechenressourcen, skalierbare Speicherung und eine breite Palette von Datenanalyse-Tools bietet. Es ermöglicht auch eine bessere Zusammenarbeit in verteilten Teams, da alle Projektbeteiligten auf eine gemeinsame Plattform zugreifen können.
Notwendige Fähigkeiten

In Data-Science-Projekten sind drei Hauptfähigkeiten von entscheidender Bedeutung:
Domain Knowledge (Fachwissen):
Das Verständnis der spezifischen Domäne, in der das Data-Science-Projekt durchgeführt wird, ist unerlässlich. Data Scientists sollten über Kenntnisse und Einblicke in das Geschäftsfeld, die Industrie oder das Problem verfügen, das sie lösen möchten. Ohne dieses Fachwissen könnte es schwierig sein, die richtigen Fragen zu stellen, relevante Daten zu identifizieren und die Ergebnisse korrekt zu interpretieren.
Beispiel: Wenn ein Data Scientist ein Projekt im Gesundheitswesen durchführt, ist ein grundlegendes Verständnis der medizinischen Begriffe und Prozesse wichtig, um aussagekräftige Analysen durchzuführen.
Computer Science (Informatik): Data-Science-Projekte erfordern umfassende Kenntnisse in der Programmierung, um Daten zu sammeln, zu speichern, zu verarbeiten und zu analysieren. Programmierkenntnisse sind auch für die Entwicklung von Modellen und Algorithmen unerlässlich. Data Scientists müssen in der Lage sein, effizient mit grossen Datensätzen umzugehen und die richtigen Werkzeuge und Technologien auszuwählen.
Beispiel: Um ein maschinelles Lernmodell zu entwickeln, ist fundiertes Wissen in Programmiersprachen wie Python oder R erforderlich.
Mathematics and Statistics (Mathematik und Statistik):
Data Science basiert stark auf mathematischen Konzepten und statistischen Methoden. Data Scientists sollten in der Lage sein, mathematische Modelle zu verstehen und statistische Analysen durchzuführen, um aussagekräftige Erkenntnisse aus den Daten zu gewinnen. Kenntnisse in Wahrscheinlichkeitsrechnung, lineare Algebra, Differentialrechnung, inferenzieller Statistik und multivariater Statistik sind von grosser Bedeutung.
Beispiel: Bei der Entwicklung von Vorhersagemodellen ist ein Verständnis von Regressionsanalysen und statistischen Tests entscheidend, um die Genauigkeit und Zuverlässigkeit des Modells zu bewerten.
Das Zusammenspiel dieser drei Hauptfähigkeiten – Domain Knowledge, Computer Science und Mathematics and Statistics – ermöglicht es Data Scientists, Daten effektiv zu analysieren, aussagekräftige Modelle zu entwickeln und wertvolle Erkenntnisse zu gewinnen, die zur Lösung komplexer Probleme beitragen.
Das Rad nicht neu erfinden (Beispiele)…
Stellen Sie sich vor, sie wollen die Mietpreise von Wohnungen mit Hilfe der Attribute der Wohnung erklären. Dann kann es hilfreich sein, meht über die Mikrolage des Objektes zu wissen, wofür wiederum die Koordinaten benötigt werden. Mit Google-Cloud oder AWS ist es relativ einfach, die Koordinaten aus Adressen zu bekommen (Geo-Coding). Es ist nicht zielführend, das Problem des Geo-Coding hier selbst zu lösen, sondern es soll bewusst auf einen Cloud-Service zugegriffen werden.
Computer-Vision: Sie haben ein Foto mit Personen und möchten zum Beispiel die Stimmung (Sentiment) aus den Gesichtern ablesen (zufrieden, unzufrieden etc.) oder auch das Geschlecht der abgebildeten Personen bestimmen. Um einen Algorithmus zu kalibrieren, der dies zuverlässig macht, wären Millionen von Bild-Daten notwendig, und auch wenn Sie diese hätten, so würden Sie den Algorithmus wohl kaum genauer als Google oder AWS hinbekommen. Daher macht es auch für solche Aufgaben sicher Sinn, einen bestehenden Service zu nutzen.
Wir beginnen…
Kehren Sie nun zurück zur Hauptseite und wir starten unser erstes Cloud-Projekt Geocoding mit Google-Cloud.