|Open to||:||High School or College Level|
|Prerequisites||:||Java Programming (JA 101)|
|Course Format||:||Individually Paced|
|Prerequisites||:||Typically 3 months|
|Course Code||:||CC 101|
Cloud Computing opens the possibility of highly elastic scalability in the delivery of enterprise applications and software as a service (SaaS). Amazon Elastic Cloud, Microsoft’s Azure, Google App Engine, and many other Cloud offerings give mature software vendors and new start-ups the option to deploy their applications to systems of infinite computational power with practically no initial capital investment and with modest operating costs proportional to the actual use. The course examines the most important APIs used in the Amazon and Microsoft Cloud, including the techniques for building, deploying, and maintaining machine images and applications. We will learn how to use Cloud as the infrastructure for existing and new services. We will use open source implementations of highly available clustering computational environments, as well as RESTFul Web services, to build very powerful and efficient applications. We also learn how to deal with not trivial issues in the Cloud, such as load balancing, caching, distributed transactions, and identity and authorization management. In the process, we will also become very familiar with Linux operating system.
DETAILED COURSE INFORMATION
- Cloud computing General Benefits and Architecture Business Drivers Main players in the Field Overview of Security Issues XaaS Cloud-Based Service Offerings. Key Amazon offerings EC2 SimpleDB S3 Simple Queue Simple Relational Database Elastic MapReduce Virtual Amazon Cloud S3 Command Line tool.
- Bundling Amazon InstancesLearn how to create and manipulate Amazon instances with command line tools, transfer application software to instances and bundle them into new AMI-s that could be offered to the public.
- Amazon’s Elastic Block Storage (EBS) provides persistence storage in the cloud. You will learn how to move application code and data from non-EBS instance into EBS volumes, and create our own EBS based AMI-s
- Amazon’s AWS Identity Management and Security in the Cloud
- Amazon’s Virtual Private Cloud (VPC) and Directory Service
- Java AWS SDK, S3 API, Relational Database Service, SimpleDB Service, NoSQL Databases
- Amazon’s Messaging in the Cloud We will review details of AWS Simple Notification and Simple Queuing Service
- Amazon’s RESTFul web services AWS APIs are sufficiently rich to allow you easy interaction with AWS service. However, in order to establish connectivity between your own modules in the Cloud, you should use RESTFul Web Services
- Elastic Load Balancing and Auto Scaling allow automation of resource manipulation
- Introduction to Microsoft Cloud Microsoft offers a set of resources and features that are of great utility to those who are restricted to programming in .Net Environment
- MapReduce performs largely distributed computation as a set of distributed operations on data sets composed of key-value pairs producing a reduced set of key-value pairs. You will learn the basics of Hadoop, an open source implementation of MapReduce, and its Java API. Hadoop Distributed File System (HDFS) features.
- HIVE is a convenient SQL like language that allows us to write scripts that run atop of HDFS.
- OPSWorks is an application management service that provides an integrated experience for overseeing the complete application lifecycle. With AWS OpsWorks, we can provision AWS resources, supervise their configuration, deploy applications to those resources, and monitor their health.
- Presentations of selected final projects
During the tutorials or seminars, the student will work on case studies and discuss various strategies and techniques.
This course requires a properly maintained computer with high-speed internet access and an up-to-date web browser (such as Chrome or Firefox). The student must be able to communicate with the instructor via email. Visit the Technical Requirements and Support page for more details.
This course uses an asynchronous mode and students are provided with tiered video and self-guided learning modules. Live online interaction with the instructor can be arranged. The “on-site” classroom works on standard computers and instructor-led exercises. Detailed handouts with references to material on the Web will be provided. There is no required textbook.
Most course lectures may be viewed on mobile devices, but in some cases, assignments and quizzes must be completed on a desktop or laptop computer.
END OF COURSE REQUIREMENTS
In fulfillment of the course, students are required to take the final examination, as well as an end-of-course project or research paper.