Course Description
CSE-291 (Cloud Computing) is an advanced graduate course in cloud
computing. It is both a paper-based, discussion-oriented course, and one
with a significant project component. It takes a vertically oriented view
of cloud computing, covering the full stack from data center architecture
through application frameworks. The course highlights the key challenges
and approaches at each level of designing and building a cloud computing
infrastructure.
Learning Objectives
At the completion of this course, students will have demonstrated the
ability to describe the challenges and other considerations and common
tools and techniques, as well as analyze and evaluate potential solutions,
in each of the following aspects of cloud computing infrastructure.
- Data Center Networking
- Distributed File Storage
- Distributed Key-Value storage, including NoSQL Databases
- Virtualization, and the management thereof
- Resource Scheduling and Elasticity
- Software Frameworks
- Analysis, synthesis, and communication about associated technical
matters
Learning Objectives In Detail
1. Data Center Networking
At the completion of this section of the course, students will be able
to...
- Describe the differences in the environment and requirements
associated with data center networking in support of cloud
computing, as compared to those associated with each of long-haul
networking and networking for conventional data centers.
- Explain the traffic patterns and associated impacts of
cloud computing upon traditional 3-tier data center architectures
- Describe and evaluate the techniques employed, to address the
demands of cloud computing at both the architectural (link and
network) and transport layers.
- Use simulation as a tool for the evaluation of cloud computing
data center network architrectures.
2. Distributed File Storage
At the completion of this section of the course, students will be able
to...
- Describe common requirements associated with file and non-file
storage in support of cloud computing
- Describe and analyze common techniques for addressing the challenges
- Design and implement special purpose distributed file systems
in support of cloud computing
3. Distributed Key-Value Storage
At the completion of this section of the course, students will be able
to...
- Describe the role of key-value storage in cloud computing
- Differentiate general key-value storage from file storage
- Discuss and analyze the design of exemplar key-value stores
designed or used in suppot of cloud computing
- Describe the concept of NoSQL databases, their role in cloud
computing, and their benefits and limits as compared to
traditional SQL databases, as well as discuss and analyze
the design of common exemplar solutions.
- Describe the role of, importance of, and techniques for
in-memory storage, e.g. memcached and redis, in cloud computing,
as well as design and analyze the role of the same in cloud-based
solutions.
4. Virtualization
At the completion of this section of the course, students will be able
to...
- Describe the role virtualization playsn in the management
of cloud computing infrastructures, with an emphasis on the
key benefits and challenges
- Describe and analyze common techniques employed to implement
and manage virtualization, including migration. in support of
cloud computing, including, but not limited to, lighter weight
containers.
5. Scheduling and Elasticity
At the completion of this section of the course, students will be able
to...
- Describe the challenges associated with allocating resoures
to applications in cloud computing, especially with respect
to resource scheduling and elasticity
- Describe common scheduling techniques and techniques to
support elasticity, as well as analyze their capbilities and
weaknesses.
- Evaluate the applicability of applicable techniques to real-world
challenges
6. Frameworks
At the completion of this section of the course, students will be able
to...
- Describe the motivation for, application of, and architecture of,
common cloud computing software frameworks
- Implement an application using a common cloud computing framework
7. Analysis, Synthesis, and Communication
At the completion of this section of the course, students will be able
to...
- Read, understand, analyze, and discuss research papers and other
technical publications.
- Compare and contrast the applicability, benefits, and limitations
of techniques and approaches described by different sources in
different contexts.
- Synthesize solutions through the adaptation and incorporation of
techniques and approaches described by different sources in
different contexts.
- Learn through discussion
- Help others to learn through discussion
- Work within a team to achieve the other goals of this course.
|