Dieser Online-Kurs steht Studenten der globalen Standorte von Carnegie Mellon zur Verfügung. Laden Sie eine PDF-Version des Lehrplans herunter.
Diese Klasse wird teilweise durch einen AWS Educate Grant, einen Microsoft Azure Educator Grant Award und einen Google Cloud Platform Grant unterstützt.
Kursübersicht
Titel: Cloud Computing
Einheiten: 15-319: 9 Einheiten; 15-619: 12 Einheiten.
Voraussetzungen für Studenten: Eine Note von „C“ oder besser in 15-213.
Voraussetzungen für Doktoranden: Kenntnisse in Computersystemen, Programmierung und Debugging, mit einer starken Kompetenz in mindestens einer Sprache (z. B. Java / Python) und der Fähigkeit, nach Bedarf andere Sprachen zu erlernen.
Beschreibung:
Dieser projektbasierte Online-Kurs konzentriert sich auf den Aufbau von Fähigkeiten in verschiedenen Aspekten des Cloud Computing. Wir decken konzeptionelle Themen ab und bieten praktische Erfahrungen durch Projekte mit öffentlichen Cloud-Infrastrukturen Amazon Web Services (AWS), Microsoft Azure und Google Cloud Platform (GCP).
Die Schüler werden MapReduce, interaktive Programmierung mit Jupyter Notebooks und Data Science Libraries verwenden, um einen großen Datensatz zu bereinigen, vorzubereiten und zu analysieren. Die Studierenden orchestrieren die Bereitstellung von automatisch skalierten, lastausgeglichenen und fehlertoleranten Anwendungen mithilfe von virtuellen Maschinen (VMs), Docker-Containern und Kubernetes sowie Serverless Computing über Functions as a Service. Die Studierenden erforschen und experimentieren mit verschiedenen verteilten Cloud-Storage-Abstraktionen (verteilte Dateisysteme und Datenbanken) und vergleichen ihre Funktionen, Fähigkeiten, Anwendbarkeit und Konsistenzmodelle. Darüber hinaus entwickeln die Studierenden verschiedene Analyseanwendungen mit Batch-, iterativen und Stream-Processing-Frameworks. Die 15-619 Studierenden nehmen an einem Teamprojekt teil, bei dem eine komplette Web-Service-Lösung für die Abfrage von Big Data entworfen und implementiert wird. Für das Teamprojekt werden die studentischen Teams anhand der Kosten und der Leistung ihres Webservices bewertet.
Konzeptionell führt der Kurs in diesen Bereich ein und behandelt die Themen Cloud-Infrastrukturen, Virtualisierung, softwaredefinierte Netzwerke und Speicher, Cloud-Speicher und Programmiermodelle (Analytics-Frameworks). Als Einführung diskutieren wir die motivierenden Faktoren, Vorteile und Herausforderungen der Cloud sowie Servicemodelle, Service Level Agreements (SLAs), Sicherheit, Beispiel Cloud Service Provider und Anwendungsfälle. Moderne Rechenzentren ermöglichen viele der wirtschaftlichen und technologischen Vorteile der Cloud.; daher werden wir verschiedene Konzepte hinter dem Design und Management von Rechenzentren sowie der Softwarebereitstellung beschreiben. Als nächstes konzentrieren wir uns auf Virtualisierung als wichtige Cloud-Technik für das Angebot von Software-, Berechnungs- und Speicherdiensten. Im Rahmen des gleichen Themas Virtualisierung werden die Studierenden auch in softwaredefinierte Netzwerke und Speicher (SDN und SDS) eingeführt. Anschließend lernen die Studierenden verschiedene Cloud-Speicherkonzepte kennen, darunter Datenverteilung, Haltbarkeit, Konsistenz und Redundanz. Wir werden verteilte Dateisysteme, NoSQL-Datenbanken und Objektspeicher diskutieren. Schließlich lernen die Studierenden die Details des MapReduce-Programmiermodells kennen und erhalten einen umfassenden Überblick über die Programmiermodelle Spark, GraphLab sowie Message Queues (Kafka) und Stream Processing (Samza).
Logistik
Lehrende:
Prof. Majd F. [email protected] , GHC 7006, x8-1161Office stunden: Dienstag, 3-4pm (Pittsburgh)
Büro Stunden: Pittsburgh TAs halten büro stunden meist auf der fünften etage von GHC, büro stunden sind geschrieben auf Piazza und hier.
Rezitationen: Jeden Dienstag um 8 Uhr ET (auf Video) und Donnerstag um 4 Uhr ET:30 Uhr ET Pittsburgh in GHC 4307 (SV Campus, Gebäude 23, Raum 212).
Vorläufiger Zeitplan
Der detaillierte Zeitplan für Inhalte und Tests ist auf OLI. Der detaillierte Zeitplan der Projekte ist auf derProjekt.Zone.