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?
-
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
FREEThis 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.