Cloud Computing

MSIT-SE-M-23 Cloud Computing

Credits: 6

Semester: Summer

Length: half semester


Cloud computing is rapidly becoming the dominant delivery mechanism for computing services.  A thorough understanding of the opportunities it offers and the challenges that need to be addressed is important for all IT and SE roles.  Directors and managers need to be able to decide among architectures and vendors; project managers need to be proactive about the cloud, and developers need to know the background and the details of cloud platform and infrastructure offerings.

This course provides an overview of the essential features of Cloud Computing and puts them into a context of other computing architectures.  It describes the major variants and delivery models of Cloud Computing with their specific strengths, challenges, and the situations for which they might be best suited.  Building on this background, we will then examine many of the quality attributes of software systems to see how well they are supported by the various Cloud architectures.  We will pay particular attention to security and integration.

To build familiarity with the real world use of Cloud Computing students will learn about and then apply a cost model for using traditional “on premise” deployment of a software system vs a Cloud deployment.  Finally, students will build a very simple application on both PaaS and IaaS, starting with analyzing vendor offerings, then selecting a vendor and deploying into their environment.

After completing the course students would:

  • Be able to identify available Cloud platforms (vendors and architectures) for development, maintenance, and deployment of a new application,

  • Be able to identify the major factors that determine the optimal platform choice for an application, identifying and mitigating risks and exploiting the strengths of the architecture,

  • Be able to analyze the major criteria for application location in light of the type of application,

  • Be a rock star at delivery:  beat your deadlines, functionality, performance, and quality metrics.


The student must be able to:

  • Build and deploy a simple application using Ruby, Python, Java or C++, including installing the required development tools;

  • Create a simple persistent data “table” object, store input data in it, and provide reporting access to it;

  • Create a very simple web interface (text input box) and capture the input to their database.


Сайт находится в технической разработке