
Bridge the gap between university training and industry needs by equipping you with the knowledge and skills to execute scalable production devops projects in large companies.
Create an automated lambda function to shut off an RDS instance in the evening, turn it back on in the morning, and use EventBridge and Terraform to scale across regions.
Create a Python-based AWS Lambda function, use boto3 to stop a database instance, and adjust the execution role permissions to allow stopping the DB, then deploy and test the code.
Explore how to use the boto3 library to interact with AWS resources via an RDS client, enabling code-driven database management and Lambda-driven automation across services.
Create a lambda that starts or stops a database instance via a switch in the event JSON, and implement morning on / evening off schedules to reduce costs.
Learn how to schedule an AWS Lambda with EventBridge to automatically turn off databases on a daily cron-based schedule, using payloads and recurring events.
Apply least privilege to the Lambda role by granting only describe, start, and stop DB instances, and rely on default CloudWatch logging permissions for logs.
Improve a lambda-based poc by applying Python coding guidelines to productionize, including clean imports, snake_case naming, optional type hints, and optimized logic to start or stop db instances using get_attribute.
Test a lambda function using turn on and turn off events, validate JSON handling by wrapping numbers as strings, and observe DB instances stopping and starting.
Test enhanced aws lambda code that turns on and off instances and handles errors gracefully when an instance is already off or transitioning.
Master robust error handling in python for aws lambda with outer and nested try-except blocks, cloudwatch logging, and handling db instance not present and state-change exceptions.
Deploy and reproduce a lambda function across regions and accounts using terraform as infrastructure as code, leveraging a single code snippet with configurable variables to enable scalable deployments.
Create an IAM user for Terraform, attach admin policies, generate and save access keys, install and configure AWS CLI, and set up Visual Studio Code to manage AWS resources.
Configure the AWS CLI and write Terraform configurations to initialize, plan, and apply a VPC, using a remote S3 backend with DynamoDB state locking for team collaboration in ap-south-1.
Learn to use Terraform as the backbone for AWS Lambda deployments, pull snippets from registry.terraform.io, create IAM policy and role, and package a Python 3.12 lambda_function.py.
Debug a Terraform-created AWS Lambda by aligning the handler with the file name, fixing missing or malformed handler errors, and ensuring the runtime recognizes the entry point.
Debug IAM issue by updating the lambda IAM role with permissions to describe DB instances and manage logs (log group/stream) via a Terraform inline policy.
Increase the AWS Lambda timeout in the Terraform code, using plan and apply, set timeout to ten seconds, and discuss making the code readable and scalable for multi-region deployments.
Reorganize Terraform code to improve readability by moving provider configuration, backend settings, and data blocks into dedicated files (provider.tf, backend.tf, data.tf), leaving main.tf with two AWS resources.
Refactor terraform code by moving lambda function.py into a src folder, update data.tf, and declare resource name and region variables with locals to simplify plans and improve scalability.
Reuse region and account number variables in Terraform to deploy AWS lambda across multiple regions and production accounts, ensuring policies and permissions scale correctly.
Import an AWS CloudWatch log group created by a Lambda function into Terraform state and update its retention to 30 days to control costs with Terraform-managed logs.
Learn to modularize a lambda deployment with terraform modules, organize dev and prod environments across AP South 1 and US East 1, and manage multi-region state backends.
Learn to debug a live Terraform misconfiguration across regions by separating back-end tfstate files to avoid global resource collisions, enabling region-aware AWS Lambda deployments.
Terragrunt automates remote state and back end configuration for multiple environments, generating back end files at runtime to keep Terraform configurations dry and reduce manual errors.
Terragrunt continued demonstrates migrating state to a new region with Terraform, automating backend setup. It shows deploying Lambda infrastructure in US East 2 with minimal code changes, emphasizing scalable IaC.
Learn to implement EventBridge scheduling with Terraform by creating a scheduler, an assume role, and a Lambda invocation policy, then configure a cron-based schedule for a region.
Learn how DevOps solutions are implemented at scale with a focus on scalability and reproducibility across multiple AWS accounts and regions, avoiding manual resource creation.
Are you ready to immerse yourself in a hands-on, production-level project that mirrors real-world cloud solution implementations? Welcome to our project, where we'll guide you through the process of building a scalable and resilient cloud solution using AWS Lambda, Python, and Terraform.
In this project, you'll dive deep into the following key phases:
1. Architecting Scalable Solutions with AWS Lambda: Begin by understanding the requirements and designing a scalable solution architecture using AWS Lambda. Learn how to leverage serverless computing to build efficient and cost-effective backend services.
2. Implementing Robust Error Handling and Code Optimization: Elevate your solution by implementing robust error handling mechanisms and optimizing code for performance and efficiency. Ensure your solution can handle errors gracefully and operate seamlessly in production environments.
3. Automating Workflows with Event-Driven Architecture: Explore the power of event-driven architecture and utilize Amazon EventBridge to automate workflows and streamline processes. Schedule and trigger Lambda functions based on various events, enhancing the agility and responsiveness of your solution.
4. Infrastructure Deployment and Management with Terraform: Take control of your infrastructure deployment process using Terraform, a leading Infrastructure as Code (IaC) tool. Define and provision AWS resources using Terraform's declarative syntax, ensuring consistency and reproducibility across environments.
5. Optimizing Terraform for Scalability and Reliability: Learn advanced techniques for optimizing Terraform code to ensure scalability, reliability, and maintainability across deployments. Explore strategies for managing infrastructure configurations and implementing best practices for long-term solution sustainability.
Throughout this project, you'll tackle real-world challenges and scenarios commonly encountered in production environments. By the end, you'll not only have a comprehensive understanding of AWS Lambda, Python, and Terraform but also gain practical experience in building cloud solutions that meet the stringent demands of modern businesses.
Join us on this immersive journey and equip yourself with the skills and confidence to tackle real-world cloud solution implementations with ease.
Technologies used in this course:
AWS Lambda, Eventbridge, RDS, IAM, Cloudwatch, S3, DynamoDB, Terraform, Terragrunt