CSE 301: Automating Cloud Services

Overview

This hands-on course is the next level of the Cloud Software Engineering track. It gives you an overview of the technologies you can leverage to automate the deployments and configuration of your cloud-based services and applications. At the end of this course, you will be able to implement automated deployment for your cloud-based service, use configuration tools to configure it, scale it out and in as well as implement no-downtime continuous delivery.

This course is well suited for people who have experience in developing cloud-based applications and services and want to improve their software delivery practices. If you have already completed our Developing Cloud Services course or have experience in developing cloud-based applications and services, this is the course for you. Prerequisite for this course is the CSE 201: Developing Cloud Services course or completion of the equivalent assessment. This course is part of the Cloud Software Engineer Learning Path.

Why Cloud Automation?

Automating application deployments are much more important in the cloud where you have no physical access to the actual machines your software is running on. Also, in such an environment you have global scale and elasticity and manual deployments and configuration are not feasible. Your and your employer’s success in the cloud is dependent on your ability to master automation technologies.

Through automation, you can leverage the full power of the cloud and enable your applications and services for auto-scaling, no-downtime (aka blue/green) deployments and global scale.

Learning the concepts and tools for cloud automation is crucial for your success as Cloud Software Engineer.

What Will You Learn?

Throughout this course, you will get foundational knowledge in the following areas:

  • Use cases for automation
    • Dev/Test scenarios
    • Blue/Green deployment
    • Auto-scaling
  • Overview of Open Source automation tools and products
    • Ansible
    • Chef
    • Puppet
    • Salt Stack
  • Continuous Integration and Continuous Delivery (CI/CD) tools
    • Jenkins
  • Vendor specific automation tools
    • AWS CloudFormation
    • Azure Resource Manager (ARM)
  • Deploy cloud infrastructure using vendor specific automation tools
  • Use configuration management in the cloud
  • Use CI/CD pipeline to deploy your service to the cloud

Homework

Homework assignments will be given at the end of each session, and discussed at the beginning of the next session. Assignments will include solving small programming problems, topics research or functionality design.

Assignments need to be completed and submitted for evaluation before the next session starts.

Prerequisites

Successful completion of CSE 201: Developing Cloud Services or completion of acceptance test (see Where to Start?) is required for this course.

This is a bring-your-own-computer course! Please make sure you bring your laptop (Mac or Windows) and have it ready with the following setup:

Computer Requirements

Standard off-the-shelf laptop will be sufficient for this course however here are some requirements and recommendations:

  • 8GB RAM required; more recommended
  • 50GB free disk space; SSD preferred
  • WiFi for access to the Internet (wired connectivity is not provided)
  • Chrome, Firefox or Safari browser

Also, make sure you have Admin/Root access to your machine’s OS if additional software installation is required.

Attendance Policy

No refunds will be issued for this course. Rebooking is possible no less than two weeks in advance.

This course is eligible for a professional certificate. In order to obtain the certificate, 90% attendance and 90% of the available homework points is required.

Arriving on-time, participation in discussions, and demonstration of professional courtesy to others are required.

Course Details

Duration: 50 hours
(weekend and evening schedules available)
Tuition Fee: $1,655

Related Courses

Related Workshops