Programming for Cloud Computing: AWS and MS Azure | IPDV.801

Programming for Cloud Computing: AWS and MS Azure | IPDV.801

Amazon Web Services (AWS) and Microsoft Azure are the leading Infrastructure-as-a-Service (IaaS) cloud providers. AWS and Azure provide a large suite of services - accessible via APIs - that are used to set up a "virtual" IT infrastructure, run applications in the cloud, and provide services to applications running outside of the cloud. This course focuses on the concepts and programming techniques used by both IT professionals and application developers to setup, configure, and deploy applications into AWS and Azure. The course also covers the use of both cloud services from applications and tools that run outside of the AWS and Azure clouds.

We’ll start with a brief overview of cloud computing focusing on IaaS. Discussions topics will include compute, storage, database, networking, messaging, monitoring, and deployment services in both of the cloud computing platforms. These services encompass AWS EC2, EBS, S3, Lambda, DynamoDB, RDS, VPC, SQS, SNS, IAMand Azure virtual machines, Blob Storage, functions, SQL database, virtual network, queue storage, service bus, and active directory.

You will practice with technologies and tools used to work with both clouds, gaining 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 such as Ruby or Python to set up and manage an AWS or Azure cloud. Students interested in a software development approach can use programming languages such as Java, C#, Ruby, or Go to develop and deploy an application that uses AWS or Azure cloud services or resides in the AWS or Azure cloud.

Learning Outcomes
At the conclusion of the course, you should be able to

  • Describe REST-based APIs.
  • Demonstrate how to setup and configure AWS or Azure services.
  • Explain how to use Amazon's AWS APIs for EC2, S3, Lambda, and other services.
  • Explain how to use Microsoft’s Azure APIs for virtual machines, BLOB storage, functions, and other services.

Topics Include

  • Cloud-computing concepts: scalability, cost, virtualization, IaaS
  • Accessing AWS and Azure: the AWS and Azure consoles
  • Using AWS and Azure services: using a programming library
  • Compute: AWS EC2 & Lambda / Azure Virtual Machines & Functions
  • Storage: AWS EBS, S3 / Azure Blob Storage
  • Database: AWS DynamoDB, RDS / Azure SQL Database
  • Networking: AWS VPC, Load Balancer / Azure Virtual Network, Application Gateway
  • Messaging: AWS SQS, SNS / Azure Queue Storage, Service Bus
  • Security: AWS IAM / Azure Active Directory

Skills Needed
Experience developing programs in any of Python, Java, C#, Ruby or Go.

Notes
There will be an additional cost for accessing AWS and Azure capabilities for class projects. Cost may vary but is generally low.

Have a question about this course?
Speak to a student services representative.
Call (408) 861-3860
FAQ
ENROLL EARLY!
This course is related to the following programs:

Prerequisite(s):

Estimated Cost: TBD

Course Availability Notification

Please use this form to be notified when this course is open for enrollment.

Contact Us
Speak to a student services representative.

Call (408) 861-3860

Envelope extension@ucsc.edu