The course will start with a brief overview of cloud computing that focuses on IaaS. Discussions will address the various AWS compute, storage, database, networking, messaging, monitoring, and deployment services as well as APIs including: EC2, Auto-Scaling, EBS, S3, SimpleDB, RDS, ElastiCache, Load Balancing, VPC, SQS, SNS, SES, CloudWatch, and Beanstalk.
Upon completion of this course, you will understand the technologies and tools used to work with the AWS cloud. You will gain hands-on experience through a class project that involves designing, coding, and deploying a cloud-focused tool or application. Students interested in an “IT-centric” project can use scripting languages (e.g. Ruby, Perl, or Python) to set up and manage an AWS cloud. Students interested in a software development approach can use programming languages such as Java, Objective-C, C#, or Ruby-on-Rails to develop and deploy an application that uses AWS Cloud services or resides in the AWS Cloud.
- Review of cloud-computing concepts: scalability, cost, virtualization, IaaS
- Accessing AWS: the AWS console
- Using AWS services: using an AWS programming library
- Compute: EC2, Auto-scaling, regions and availability zones
- Volumes: EBS
- Storage and database: S3, SimpleDB, RDS, ElastiCache
- Networking: Load Balancing, VPC, Direct Connect, Route 53
- Messaging: SQS, SNS, SES
- Monitoring: Cloud Watch
- Application deployment: Beanstalk
Note(s): There will be an additional cost for accessing AWS capabilities for class project. Cost may vary but is generally low.
Skills Needed: Experience developing programs in any of Python, Perl, Java, C# or Ruby.