The data center is increasingly virtual. In this class, students will explore “cloud”-based services, ranging from specific, internet-based software suites such as Google Docs or Salesforce.com (“Software as a Service,” or SaaS), through platform-based systems (PaaS) such as Microsoft’s Azure environment, to cloud-based infrastructure (IaaS) such as Amazon’s Web Services.
While cloud-based services are especially well-suited to Agile development, and to exploring new SaaS products and services without committing to Enterprise installations, there is virtually no part of the Enterprise not affected by these new paradigms.
We will explore a wide variety of services, focusing on where they are familiar, where they differ from the familiar, and how to work in a heterogeneous world with both. We will talk not just about how new ways of working are enabled, but how some valued current ways of handling security, not to mention version control, backup, security, and disaster recovery are changed—usually, but not always—for the better. Finally, we will look at how the cloud enables us to work with more data than ever before, “Big Data”—NoSQL databases and scalable infrastructure (e.g., Hadoop).
Students will learn how to evaluate the various cloud-based services and how to communicate that evaluation to decision-makers in the organization.
There will also be a hands on practicum using Amazon Web Services (AWS) and exploring the most common features of Infrastructure as a Service (IaaS), and how IaaS, overall, differs from older paradigms of systems management and program architecture.
At the end of the course, students will be able to:
• Describe the major categories of cloud-based services and the major trends in cloud computing and be able to explain the impact of cloud computing on the role of corporate IT;
• Assess specific services, evaluate whether or not they are appropriate to specific challenges, and plan their implementation, where relevant;
• Evaluate security challenges (and affordances), and understand current best practices;
• Successfully address identity and access management in the cloud;
• Describe how new Cloud-dependent services such as NoSQL databases and scalable infrastructure such as Hadoop fit in to the Cloud;
• Meet the challenges in replicating, scaling up, monitoring and maintaining cloud services;
• Successfully carry out backup, system imaging, disaster recovery;
• Successfully set up a reasonably complex web-based service on Amazon Web Services (the course practicum).
• Students must know how to install software and to deploy a website from the command line.
• Students must either understand web programming in PHP (the language in which the sample code is written), or be comfortable translating sample code into another environment. Students may use use either Linux or Windows for programming assignments.
• Exceptions to the above requirements are allowed at the discretion of the instructor.