Skip to main content

CSC 547 Cloud Computing Technology

3 Credit Hours

(Also offered as ECE 547)

Study of cloud computing principles, architectures, and actual implementations. Students will learn how to critically evaluate cloud solutions, how to construct and secure a private cloud computing environment based on open source solutions, and how to federate it with external clouds. Performance, security, cost, usability, and utility of cloud computing solutions will be studied both theoretically and in hands-on exercises. Hardware-, infrastructure-, platform-, software-, security-, – “as-a-service”.

Prerequisites

Networking background (e.g., ECE/CSC570 – Computer Networks, 573 – Internet Protocols or 577). Students not fulfilling this requirement may register with the permission of the instructors. The course requires being comfortable working in a Unix environment.

Course Topics

Details will be supplied in the course moodle page

  • Job roles and skills in the field of cloud computing
  • Datacenter Fundamentals
  • Analyzing cloud computing layers
  • Architecture requirements, process, principles and best practices
  • Design problems for the cloud architect
  • Problems for the cloud automation engineer

Course Objectives

By the end of this course, you should be able to do the following:

(Build a solid foundation)

  • Explain the shift of physical infrastructure towards a virtualized one such as cloud computing.
  • Describe the notion of service and explain the differences between monolithic and (micro)service implementations.
  • Answer critical questions on when and why to migrate services to the cloud.
    Describe the notion of co-tenants and workloads in the cloud.
  • Explain the differences in the ways a cloud is deployed (e.g., private/public, hybrid/multicloud).
  • Analyze the most common cloud platforms (SaaS, IaaS, PaaS, and FaaS) and explain the main differences.

(Propose and validate systematic architectural solutions)

  • Describe the business as well as technical requirements for which an architecture is proposed.
  • Describe the basic design principles and highlight the commonalities of industrial architecture frameworks (e.g., AWS, GCP, etc.)
  • Apply some of the known best practices while designing for specific technical requirements.
  • Analyze existing solutions to some of the fundamental design problems the cloud architect is called to solve (e.g., migrating services, networking for the cloud, load balancing, autoscaling, data at rest, data in transit, etc.)
  • Explain tradeoffs in proposed solutions to these problems.

(Obtain hands-on experience with common tools)

  • Describe the notions of automation and orchestration.
  • Explain and apply in practice state-of-the art tools (e.g., Kubernetes/Openshift, Openstack and Ansible frameworks).
  • Work in diverse teams on a nontrivial, lab-based project.

Course Requirements

  • Lecture Format: In selected lectures, we will provide live demos to better highlight a topic. We plan ten demos.
  • Optional lab sessions: We will schedule lab sessions throughout the semester; the timing will be announced later. These sessions are optional. The lab TA will provide additional demonstrations and help you will your lab homeworks and project topics during these sessions.
  • Examinations: There will be one 75 minute in-class exam; no final exam. An oral presentation will be required in lieu of a missed exam.
  • Homework: Five to six homeworks assignments will be assigned throughout the semester (approximately one per topic). All homework will be submitted online using the “Submit and Grade” link next to each assignment in Moodle. Giving or receiving assistance on assignments is allowed, but you may not share any paper and/or electronic material (source code, data files, reports, charts, photos, screen-shots, etc. There will be no tolerance for cheating. An academic
    integrity violation report (https://studentconduct.dasa.ncsu.edu/wp-
    content/uploads/sites/39/2015/06/RAIV-for-New-Code.pdf) will be filed, in case of cheating.
  • Late Homework: Homework will be due at 11:59pm EST on the due date posted on the course web-site. There will be a 12 hour grace period, after which homework will not be accepted.
  • Project: Students must complete a design project that demonstrates the ideas presented in this class. The requirements for this project will be clarified as the semester progresses. The due date will be announced in class. Students must organize themselves into groups of two.

Textbook

Instructor notes will be available free of charge.

Selected handouts (for which you are responsible come exam time) will be available free of charge.