Cloud Computing Specialization

Starts Jul 03

Cloud Computing Specialization

Clouds, Distributed Systems, Networking

Learn about and build distributed and networked systems for clouds and big data.

About This Specialization

The Cloud Computing Specialization takes you on a tour through cloud computing systems. We start in in the middle layer with Cloud Computing Concepts covering core distributed systems concepts used inside clouds, move to the upper layer of Cloud Applications and finally to the lower layer of Cloud Networking. We conclude with a project that allows you to apply the skills you've learned throughout the courses. The first four courses in this Specialization form the lecture component of courses in our online Master of Computer Science Degree in Data Science. You can apply to the degree program either before or after you begin the Specialization.

Created by:

courses
6 courses

Follow the suggested order or choose your own.

projects
Projects

Designed to help you practice and apply the skills you learn.

certificates
Certificates

Highlight your new skills on your resume or LinkedIn.

Courses
Intermediate Specialization.
Some related experience required.
  1. COURSE 1

    Cloud Computing Concepts, Part 1

    Upcoming session: Jul 3 — Aug 14.
    Subtitles
    English

    About the Course

    Cloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies—all centered around distributed systems. Learn about such fundamental distributed computing "concepts" for cloud computing. Some of these concepts include: Clouds, MapReduce, key-value stores, Classical precursors, Widely-used algorithms, Classical algorithms, Scalability, Trending areas, And more! Understand how these techniques work inside today’s most widely-used cloud computing systems. Get your hands dirty using these concepts with provided homework exercises. In the programming assignment, implement some of these concepts in template assignments provided in C++ programming language. You will also watch interviews with leading managers and researchers, from both industry and academia.
  2. COURSE 2

    Cloud Computing Concepts: Part 2

    Current session: Jun 26 — Aug 7.
    Subtitles
    English

    About the Course

    Cloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies—all centered around distributed systems. Learn about such fundamental distributed computing "concepts" for cloud computing. Some of these concepts include: Clouds, MapReduce, key-value stores, Classical precursors, Widely-used algorithms, Classical algorithms, Scalability, Trending areas, And more! Understand how these techniques work inside today’s most widely-used cloud computing systems. Get your hands dirty using these concepts with provided homework exercises. In the programming assignment, implement some of these concepts in template assignments provided in C++ programming language. You will also watch interviews with leading managers and researchers, from both industry and academia. This course builds on the material covered in the Cloud Computing Concepts, Part 1 course.
  3. COURSE 3

    Cloud Computing Applications, Part 1: Cloud Systems and Infrastructure

    Current session: Jun 26 — Jul 31.
    Commitment
    4 weeks, 2-3 hours of video lectures per week, a weekly quiz (30 minutes). 3-4 hours for tutorial.
    Subtitles
    English

    About the Course

    Welcome to the Cloud Computing Applications course, the first part of a two-course series designed to give you a comprehensive view on the world of Cloud Computing and Big Data! In this first course we cover a multitude of technologies that comprise the modern concept of cloud computing. Cloud computing is an information technology revolution that has just started to impact many enterprise computing systems in major ways, and it will change the face of computing in the years to come. We start the first week by introducing some major concepts in cloud computing, the economics foundations of it and we introduce the concept of big data. We also cover the concept of software defined architectures, and how virtualization results in cloud infrastructure and how cloud service providers organize their offerings. In week two, we cover virtualization and containers with deeper focus, including lectures on Docker, JVM and Kubernates. We finish up week two by comparing the infrastructure as a service offering by the big three: Amazon, Google and Microsoft. Week three moves to higher level of cloud offering, including platform as a service, mobile backend as a service and even serverless architectures. We also talk about some of the cloud middleware technologies that are fundamental to cloud based applications such as RPC and REST, JSON and load balancing. Week three also covers metal as a service (MaaS), where physical machines are provisioned in a cloud environment. Week four introduces higher level cloud services with special focus on cloud storage services. We introduce Hive, HDFS and Ceph as pure Big Data Storage and file systems, and move on to cloud object storage systems, virtual hard drives and virtual archival storage options. As discussion on Dropbox cloud solution wraps up week 4 and the course.
  4. COURSE 4

    Cloud Computing Applications, Part 2: Big Data and Applications in the Cloud

    Upcoming session: Jul 3 — Aug 7.
    Commitment
    There is about 3-4 hours of video lectures per week. Each week's quiz takes about 30 minutes.
    Subtitles
    English

    About the Course

    Welcome to the Cloud Computing Applications course, the second part of a two-course series designed to give you a comprehensive view on the world of Cloud Computing and Big Data! In this second course we continue Cloud Computing Applications by exploring how the Cloud opens up data analytics of huge volumes of data that are static or streamed at high velocity and represent an enormous variety of information. Cloud applications and data analytics represent a disruptive change in the ways that society is informed by, and uses information. We start the first week by introducing some major systems for data analysis including Spark and the major frameworks and distributions of analytics applications including Hortonworks, Cloudera, and MapR. By the middle of week one we introduce the HDFS distributed and robust file system that is used in many applications like Hadoop and finish week one by exploring the powerful MapReduce programming model and how distributed operating systems like YARN and Mesos support a flexible and scalable environment for Big Data analytics. In week two, our course introduces large scale data storage and the difficulties and problems of consensus in enormous stores that use quantities of processors, memories and disks. We discuss eventual consistency, ACID, and BASE and the consensus algorithms used in data centers including Paxos and Zookeeper. Our course presents Distributed Key-Value Stores and in memory databases like Redis used in data centers for performance. Next we present NOSQL Databases. We visit HBase, the scalable, low latency database that supports database operations in applications that use Hadoop. Then again we show how Spark SQL can program SQL queries on huge data. We finish up week two with a presentation on Distributed Publish/Subscribe systems using Kafka, a distributed log messaging system that is finding wide use in connecting Big Data and streaming applications together to form complex systems. Week three moves to fast data real-time streaming and introduces Storm technology that is used widely in industries such as Yahoo. We continue with Spark Streaming, Lambda and Kappa architectures, and a presentation of the Streaming Ecosystem. Week four focuses on Graph Processing, Machine Learning, and Deep Learning. We introduce the ideas of graph processing and present Pregel, Giraph, and Spark GraphX. Then we move to machine learning with examples from Mahout and Spark. Kmeans, Naive Bayes, and fpm are given as examples. Spark ML and Mllib continue the theme of programmability and application construction. The last topic we cover in week four introduces Deep Learning technologies including Theano, Tensor Flow, CNTK, MXnet, and Caffe on Spark.
  5. COURSE 5

    Cloud Networking

    Upcoming session: Jul 3 — Aug 14.
    Subtitles
    English

    About the Course

    In the cloud networking course, we will see what the network needs to do to enable cloud computing. We will explore current practice by talking to leading industry experts, as well as looking into interesting new research that might shape the cloud network’s future. This course will allow us to explore in-depth the challenges for cloud networking—how do we build a network infrastructure that provides the agility to deploy virtual networks on a shared infrastructure, that enables both efficient transfer of big data and low latency communication, and that enables applications to be federated across countries and continents? Examining how these objectives are met will set the stage for the rest of the course. This course places an emphasis on both operations and design rationale—i.e., how things work and why they were designed this way. We're excited to start the course with you and take a look inside what has become the critical communications infrastructure for many applications today.
  6. COURSE 6

    Cloud Computing Project

    Upcoming session: Jul 24 — Sep 11.
    Subtitles
    English

    About the Capstone Project

    Note: You should complete all the other courses in this Specialization before beginning this course. This six-week long Project course of the Cloud Computing Specialization will allow you to apply the learned theories and techniques for cloud computing from the previous courses in the Specialization, including Cloud Computing Concepts, Part 1, Cloud Computing Concepts, Part 2, Cloud Computing Applications, Part 1, Cloud Computing Concepts, Part 2, and Cloud Networking.

Creators

  • University of Illinois at Urbana-Champaign

    Founded in 1867, the University of Illinois at Urbana-Champaign pioneers innovative research that tackles global problems and expands the human experience.

    The University of Illinois at Urbana-Champaign is a world leader in research, teaching and public engagement, distinguished by the breadth of its programs, broad academic excellence, and internationally renowned faculty and alumni. Illinois serves the world by creating knowledge, preparing students for lives of impact, and finding solutions to critical societal needs.

  • Reza Farivar

    Reza Farivar

    Data Engineering Manager at Capital One, Adjunct Research Assistant Professor of Computer Science
  • Ankit Singla

    Ankit Singla

    Assistant Professor
  • Indranil Gupta

    Indranil Gupta

    Associate Professor
  • P. Brighten Godfrey

    P. Brighten Godfrey

    Associate Professor
  • Roy H. Campbell

    Roy H. Campbell

    Professor of Computer Science

FAQs

More questions? Visit the Learner Help Center.