Cloud Computing


This course provides an introduction in the techniques and deployments of the the Cloud infrastructure and platform, and the fundamentals of distributed systems. The course emphasizes on the architecture, the deployment and the scalability of microservices. It consists of independent modules and intensive hands on labs. Students or attendees learn the fundamentals of Cloud Computing and the principles of DevOps and building a Cloud native enterprise. Below, there is a list of some of the modules covered in this course.

Past offerings: Purdue University (2014 and 2015), North Carolina State University (2016) and the University of New Mexico (2017)

Instructor: Ioannis Papapanagiotou, PhD

Topics Covered

  • Introduction to Cloud Computing (standrdization, automation, rapid elasticity, pricing)

  • Architecture (Service and Delivery Models, Virtualization, Hypervisors)

  • IaaS and PaaS Cloud Services and Vendors (Amazon AWS, OpenStack, Google Cloud and Microsoft Azure etc)

  • Anatomy of the Cloud (Cloud tiers, Sharding, CAP Theorem, ACID/Base,  Web Services)

  • Replication, Consistency, 2/3 Phase Commits, and Paxos (Vector Clocks, Byzantine Failures, Chandy/Lamport)

  • PaaS Cloud Storage and Case Studies (The Amazon Dynamo/Cassandra, Google's BigTable and Spanner etc)

  • Data Pipeline (Distributed Queues, Message Brokers, Pub/Sub, Service Decoupling, Exchange Types and Apache Kafka)

  • Microservices, Containers, Container Orchestration (Control Groups, Namespaces, Docker, Kubernetes, Docker Swarm, Meson with Marathon)

  • Network Virtualization (OpenStack Neutron, Software Defined Networks, OpenFlow)

  • Security (security integration model, threats, Economic Denial of Sustainability, threat mitigation and case studies)

  • Serverless (Function As a Service - FaaS)

Hands on Labs

  • OpenStack Deployment

  • Docker and Linux Containers

  • Architecting and Developing on AWS and GCP

  • Big Data on AWS and GCP

  • Developing client web services

Guest Speakers

To give a talk or provide feedback about the course please contact: ipapapa {at} ncsu {dot} edu