Instructor Information

Karthik Shyamsunder

Madhu Joshi

Cell Phone: 703-402-6105

Course Information

Course Description

Cloud computing helps organizations realize cost savings and efficiencies without spending capital resources up front, while modernizing and expanding their IT capabilities. Cloud-based infrastructure is rapidly scalable, secure, and accessible over the Internet—you pay only for what you use. So, enterprises worldwide, big and small, are moving toward cloud-computing solutions for meeting their computing needs, including the use of Infrastructure as a Service (IaaS) and Platform as a Service (PaaS). We have also seen a fundamental shift from shrinkwrapped software to Software as a Service (SaaS) in data centers across the globe. Moreover, providers such as Amazon, Google, and Microsoft have opened their datacenters to third parties by providing low-level services such as storage, computation, and bandwidth. This trend is creating the need for a new kind of enterprise architect, developer, QA, and operational professional—someone who understands and can effectively use cloud-computing technologies and solutions. In this course, we discuss critical cloud topics such as cloud service models (IaaS, PaaS, SaaS); virtualization and how it relates to cloud; elastic computing; cloud storage; cloud networking; cloud databases; cloud security; and architecting, developing, and deploying apps in the cloud. The format of this course will be a mix of lectures, and hands-on demos. Upon completing this course, students will have a deeper understanding of what cloud computing is and the various technologies that make up cloud computing, along with hands-on experience working with a major cloud provider. Prerequisite(s): 605.202 Data Structures.

Course Goal

To explore the principles of Cloud computing both from a theoretical perspective and apply the principles and skills acquired using a major public cloud provider.

Course Objectives

  • By the end of this course, you will be able to:
    • Compare and Contrast the various cloud service models, cloud delivery models, key cloud characteristics, roles and boundaries and important terminology 
    • Explain how virtualization technology has enabled cloud computing.
    • Demonstrate how various cloud providers such as AWS, Google Compute and Microsoft Azure implement and offer IaaS, PaaS and SaaS services.
    • Outline, Classify and categorize how infrastructure components (compute, storage, network, load balancers, DNS) are delivered as Infrastructure as a Service 
    • Develop, deploy, manage and scale applications running in platforms such as Java, Python Platform (PaaS).
    • Consume, integrate and extend software services such as Productivity and business applications and other services like database services.
    • Describe how cloud can be used to perform Big Data Analytics using distributed computing technologies like Hadoop.
    • Cite cloud security concerns and illustrate how to build implement security across all layers.
    • Explain the cloud automation concepts such as DevOps practices, Continuous Integration and Deployment and how it automates cloud deployment.
    • Demonstrate implementing private cloud using OpenStack components and services.
    • Identify key architectural principles while designing cloud applications including SLAs, pricing and preventing single-point-of-failures. related to cloud.
    • Most importantly, hands on experience launching IaaS services such compute, storage and network services, PasS services, SaaS services, Security and Database services using Amazon Web Services

When This Course is Typically Offered

Fall

Syllabus

  • Cloud Computing Overview
  • DataCenter and Virtualization
  • IaaS Compute
  • IaaS Storage
  • IaaS Networking
  • Cloud Databases
  • PaaS
  • SaaS
  • Big Data and Cloud
  • Security
  • DevOps and the Cloud
  • Miscellaneous Topic in the Cloud
  • Project Demo

Student Assessment Criteria

Weekly discussion activities 15%
Graded quizzes 20%
Graded Assignments 40%
Group Project 25%

A grade of A indicates achievement of consistent excellence and distinction throughout the course—that is, conspicuous excellence in all aspects of assignments and discussion in every week.

A grade of B indicates work that meets all course requirements on a level appropriate for graduate academic work. These criteria apply to both undergraduates and graduate students taking the course.

100-90 = A

89-80 = B

79-70 = C

<70 = F

Computer and Technical Requirements

Since we will be launching Unix machines, some background and experience navigating the Unix command line is required.

The project requires building a simple application that can be deployed in the cloud with all the infrastructure in the cloud.  So, programming in one of several web programming languages such as PHP, Java/Servlets, JavaScript/Node.js, Python, Ruby/Rails would be desireable, otherwise you may have to partner with someone who has that background.

Participation Expectations

A typical module week would involve the students watching videos, take part in a class discussion using an online forum, doing some lab assignments using Amazon AWS. 

Textbooks

Textbook information for this course is available online through the MBS Direct Virtual Bookstore.

Course Notes

There are no notes for this course.

Final Words from the Instructor

In this class, you will be using Amazon Web Services to do lab assignments and project. This requires the student to get an account on Amazon Web Services. In order to register for the AWS account, a credit card and phone is required. The credit card will be used for incidental expenses and the phone number will be used to verify your account. Most of the assignments will be done using the free tier that you get as part of opening the account at AWS.But there may be some light costs incurred during the course of the semester that would amount to approcimately $50.00. Since there is no textbook purchase required for this class, this amount should outweigh textbook expenditure. Students however are expected to be careful with their AWS account in terms of shutting down services once used, so no unnecessary cost is encountered. Johns Hopkins University will not be responsible for any of the charges incurred.

(Last Modified: 07/01/2015 10:37:47 AM)