Nashville Software School Small Logo
  • Menu
  • Programs
    • Software Development Jumpstart
    • Analytics Jumpstart
    • Full-Time Web Developer Bootcamp
    • Part-Time Web Developer Bootcamp
    • Full-Time Data Analytics Bootcamp
    • Part-Time Data Analytics Bootcamp
    • Statistics For Data Science
    • Data Science Bootcamp
    • Data Engineering Bootcamp
    • Professional Development
  • Community
    • Shop NSS
    • Our Team
    • Alumni
    • Mentors
    • Employers
    • Veterans' Information
    • Podcast
    • Join Our Team
  • Support NSS
    • Donate
    • Corporate Giving
    • Become A Volunteer
    • Community Impact Report
  • Calendar
    • Information Sessions
    • Upcoming Programs
  • Blog

Cloud Deployment Fundamentals

  • ↑ Return to Top
  • Overview
  • Curriculum
  • Schedule
  • Requirements

Applications for this class are closed.

Please visit our homepage for open professional development classes and subscribe to our email list for all the latest news and programs at NSS.

This class will be live online (i.e. synchronous).

This course is a part of ProTech. Please review eligibility requirements below before applying.

Deploy and Scale Web Applications with AWS and DevOps Practices

As a software developer, your job doesn’t end at the last commit. This continuing education course is designed for those who want to gain hands-on experience with modern cloud infrastructure and the deployment pipelines that power today’s tech world.

To help you navigate the complexities of the modern cloud, we have expanded this curriculum into a comprehensive, three-part series. This structured pathway ensures you build a solid foundation before moving into advanced engineering.

By participating in this series, you won’t just be writing code—you’ll gain the “systems thinking” skills required to design, deploy, and debug production-grade environments. You will move from manual configurations to automated, cloud-native architectures using the same tools—like AWS, Docker, and Terraform—used by engineering teams across the industry, providing you with a foundational understanding of cloud deployment principles that apply to any tech stack. This series provides the practical experience needed to manage the full lifecycle of an application, giving you the confidence to contribute to production infrastructure with professional maturity.

Is this course for you?

  • Are you a software developer looking to add cloud deployment to your skill set?
  • Are you a software developer who knows how to build applications but wants to learn how to put them into production?
  • Are you a tech professional aiming to better understand the infrastructure behind containerized web applications?

This course is designed for software developers who have experience building applications and are ready to learn how to deploy and manage them in a modern cloud environment. It’s a great fit for:

  • Junior to Mid-Level Software Developers looking to expand their skills beyond application code into cloud infrastructure and DevOps.
  • Software Developers who want to understand and manage the full lifecycle of their applications, from a local machine to a production server.
  • Software Developers on teams that are adopting cloud-native practices and who need hands-on experience with tools like AWS, Docker, and CI/CD pipelines.
Who is this course not designed for?
  • Experienced DevOps professionals. This is a fundamentals course and will likely cover concepts you already know.

What will the course cover?

Part 1

In part 1 of this course, students will focus on the core DevOps practices required to manage the full application lifecycle on the cloud. You’ll work directly with essential AWS services, use Docker to create and manage containers, and implement CI/CD pipelines with GitHub Actions to automate the release process. You will finish the section by deploying a complete end-to-end application, giving you the practical experience to apply these concepts to other major public cloud platforms, like Azure or GCP, and contribute to production infrastructure with confidence.

  • Cloud Infrastructure with AWS
    Provision and configure core AWS services, including EC2 for virtual servers and S3 for object storage. Learn how these services work together to form the backbone of a modern web application.
  • Containerization with Docker
    Package your application and its dependencies into a portable Docker image by writing your own Dockerfile. You'll learn to build, run, and manage containers both locally and in the cloud.
  • Automated CI/CD Pipelines
    Build, test, and deploy your application automatically using GitHub Actions. Create a complete workflow that pushes code changes from your repository directly to your AWS environment.
  • Cloud-Based Databases
    Set up and manage a relational database in the cloud using Amazon RDS. Learn how to securely connect your deployed application to a managed database instance.

Part 2

In part 2 of this course, students take a major step toward thinking like real-world cloud engineers by learning how to define and manage infrastructure using Terraform. Instead of manually configuring services, students will build and deploy a full AWS architecture using Infrastructure as Code, gaining a deeper understanding of how modern cloud systems are designed, secured, and scaled. We’ll also introduce key concepts like serverless services and event-driven architecture, laying the foundation for transitioning into fully cloud-native systems in the next phase of the course.

  • Terraform Fundamentals
    Learn how to define, plan, and deploy cloud infrastructure using Terraform, including providers, resources, variables, outputs, and state.
  • Infrastructure as Code
    Rebuild a complete AWS architecture (EC2, S3, CloudFront, RDS) entirely in Terraform and integrate it into a CI/CD pipeline.
  • Cloud Networking & Security
    Understand how VPCs, subnets, and Security Groups control traffic flow — and why misconfigurations are the number 1 cause of broken deployments.
  • IAM & Permissions
    Learn how roles and policies control access between services, and how to debug common “access denied” issues.
  • Scalability & Load Balancing
    Explore how applications scale using load balancers and multiple instances, and how Terraform manages these relationships.
  • Intro to Serverless & Event-Driven Design
    Get hands-on with Lambda and learn how modern systems respond to events, setting the stage for building fully cloud-native architectures in the next workshop.

Part 3

In part 3 of this course, students move beyond foundational infrastructure and begin working with cloud systems the way modern engineering teams do in production. They will evolve their application into a scalable, cloud-native architecture by migrating to ECS and developing a brand new feature powered by a serverless, event-driven microservice using AWS Lambda and S3. All infrastructure and deployments are managed through Terraform within fully integrated CI/CD pipelines, using remote state and automated workflows. As complexity increases, students will learn to think in systems — tracing behavior across services, debugging with observability tools, and making real architectural decisions to improve reliability, scalability, and design.

  • Containerized Workloads with ECS
    Deploy and manage your API using ECS and Fargate, and understand how modern systems handle scaling and orchestration without managing servers directly.
  • Designing Event-Driven Systems
    Introduce a Lambda microservice triggered by S3 events, and learn how asynchronous workflows enable more flexible, decoupled architectures.
  • Production-Style Terraform Workflows
    Manage infrastructure across multiple repositories with remote state (S3 + DynamoDB) and deploy changes through automated CI/CD pipelines.
  • End-to-End System Integration
    Work across a distributed architecture spanning frontend, API, database, and event-driven services — and understand how data flows between them.
  • Observability in Practice
    Use CloudWatch logs to monitor behavior, investigate failures, and validate system functionality across multiple services.
  • Systems Thinking for Debugging
    Diagnose incomplete or broken features by tracing requests through the system, identifying gaps, and reasoning about how services interact.

How will you learn the material?

Hands-on Learning
Students actively engage in hands-on exercises and projects as opposed to being passively lectured to. Students leave with a deeper understanding of the subject matter and are ready to apply their new skills on the job.
Live Online Learning
Students have the opportunity to interact as a class, in smaller working groups and one-on-one with the instructor in a live virtual classroom.
Real-World Project
You will practice the skills you learn by exploring data to answer real-world questions.
  • Schedule

    Mondays & Wednesdays (Plus 1-2 classes on a Fridays.) 1PM - 3PM CT
  • Location

    This class is live online (i.e. synchronous).
  • Dates

    April 20 - July 15, 2026 (Note: there will be a break between Part 2 & 3 from June 8 - June 19)

  • Tuition

    FREE

    This course is a part of ProTech. Please review eligibility requirements below before applying.

What is required?
  • Personal Laptop
  • Must be 18+ years old
  • Must understand the basic syntax of JavaScript and Python
  • Must be familiar with basic Git and Bash commands
  • Familiarity with testing API endpoints is helpful, but not required
ProTech Eligibility
  • Must reside in Middle Tennessee
  • Graduate of NSS, another coding bootcamp, or college/university with tech-related degree AND searching for your first job in tech.
  • Tech professional who is unemployed after being laid off from a tech job

Attendance Information

Our policy regarding absences is based on making sure you get the most out of your professional development. Attendance is tracked for this course. Excused absences should be arranged with your instructor before they occur. Due to the short duration of this course we recommend that you not miss multiple days of this course. Absence due to emergencies are always excused as long as the instructor is notified as soon as possible.

Have questions?
Email Us

Nashville Software School is authorized for operation as a postsecondary educational institution by the Tennessee Higher Education Commission. In order to view detailed job placement and graduation information on the programs offered by Nashville Software School, please visit tn.gov/thec or our policies and regulations page.

Stay Informed
  • NSS
    • About
    • Press
    • Contact
    • Virtual Tour
    • FAQ
    • Blog
    • Policies & Regulations
  • Programs
    • Software Development Jumpstart
    • Analytics Jumpstart
    • Full-Time Web Developer Bootcamp
    • Part-Time Web Developer Bootcamp
    • Full-Time Data Analytics Bootcamp
    • Part-Time Data Analytics Bootcamp
    • Statistics For Data Science
    • Data Science Bootcamp
    • Data Engineering Bootcamp
    • Professional Development
  • Community
    • Shop NSS
    • Our Team
    • Alumni
    • Mentors
    • Employers
    • Veterans' Information
    • Podcast
    • Join Our Team
  • Support NSS
    • Donate
    • Corporate Giving
    • Become a Volunteer
    • Community Impact Report
    • Information Sessions
  • Nashville Business Journal Leaders In Diversity Honoree
  • Nashville Business Journal Best In Business Winner
  • Nashville Scene Names NSS as Best Way To Ditch Your Crappy Job 2016
  • NACC Member
  • NTC Member