Instructors

Dr. Yannis Viniotis

Electrical and Computer Engineering

Phone: 919-513-4221
Email: candice@ncsu.edu
Instructor Website

Dr. Ioannis Papapanagiotou

Electrical and Computer Engineering

Email: ipapapa @ncsu.edu
Instructor Website

ECE 792-607 Advanced Cloud Architecture

3 Credit Hours

(also offered as CSC 791)

This course provides an overview of several advanced topics in the area of Cloud Architecture. The course emphasizes on architecture and the development of Cloud services across many different Cloud environments. The students learn how to work with Hybrid and Multi Cloud environments. They learn how to apply Infrastructure as a Code, Service Mesh, Observability practices, Autoscaling and Advanced Security policies. Below we show some of the modules offered in this course. The course will also include guest speakers from industry experts.

Prerequisite

ECE/CSC547, the introductory Cloud Architecture course. Students not fulfilling this requirement may register only with the permission of the instructors. The course requires being comfortable working with a UNIX environment.

Course Objectives

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

 (Build a solid foundation on some advanced concepts)

  • Fundamentals of Distributed Systems
  • Observability vs Monitoring
  • Service bus, service mesh
  • Stateful and stateless considerations

(Propose and validate systematic, advanced architectural solutions)

  • Analyze hybrid and multicloud models
  • Analyze existing solutions to some of the fundamental design problems the cloud architect is called to solve
    • Security
    • Networking
    • Sustainability
    • Web Traffic shaping
    • Selected topics from AWS, Azure, GCP exams
  • Explain tradeoffs in proposed solutions to these problems

(Obtain hands-on experience with advanced orchestration tools)

  • Explain and apply in practice advanced features of state-of-the art tools (e.g., Kubernetes/Openshift and Ansible frameworks)
    • Security
    • Workload management
    • Operators
    • Extensions
  • Work in diverse teams on a nontrivial, lab-based project.

Course Topics

Details are supplied in the Course Objectives below as well as the course moodle page

  • Fundamental concepts of distributed systems
  • Hybrid and multicloud models
  • Advanced design problems for the cloud architect
  • Advanced problems for the cloud automation engineer (e.g., advanced Kubernetes topics such as security, workload management, operators, extensions)

Course Requirements

Lecture Format: In selected lectures, we will provide live demos to better highlight a topic.   

Examinations: There will be two 75 minute in-class exams; no final exam. An oral presentation will be required in lieu of a missed exam.

Homework: We will assign five to six homeworks assignments throughout the semester. All homework must be submitted online. 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 or three, based on class enrollment numbers.

Grading Policy

Your grade will be based upon:

  • two midterm exams (20% each)
  • homework (10%)
  • project (50%)

 

Grading Scale: All assignments will be graded on a 100-point scale. The average of these assignments (using the weights above) will be used to compute your final score. The following scale will then be used to assign your final grade:

 

[97-100] A+ [93-97) A [90-93) A-
[87-90) B+ [83-87) B [80-83) B-
[77-80) C+ [73-77) C [70-73) C-
[60-70) D
<60 F

 

Audit Requirements: Students auditing this course are expected to complete the homework assignments with at least a score of 75. No need to take the midterms or complete the project.

Curving: We will curve if need be. Curving is not linear; lower grades will be curved more generously than higher ones.

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.

Expectations for student participation

We expect students to:

  • communicate with one another in team projects;
  • keep abreast of course announcements;
  • keep instructor informed of class related problems, or problems that may prevent the student from full participation;
  • address technical problems immediately;
  • check their emails once every 24h and course messages once every 48h;

Computer and Software Requirements

Please review minimum computer specifications recommended by NC State University and Engineering Online.

Updated 12/09/2022