Welcome to the AWS Hands-On Labs Repository β a one-stop resource for learning, exploring, and mastering AWS services through practical, step-by-step labs and CloudFormation guides. This repository is built to serve everyoneβfrom beginners to seasoned professionalsβby providing clear, easy-to-follow examples that cover a wide range of AWS services and infrastructure-as-code tools.
- Overview
- Repository Structure
- Key Components
- AWS Interview Questions
- My Blogs On AWS
- How to Use This Repository
- Contribution Guidelines
- Roadmap
- License
- Contact
This repository is curated to provide a comprehensive collection of hands-on labs for a diverse set of AWS services. Our goal is to support learners, cloud architects, developers, and DevOps engineers by offering practical examples and detailed guides that help you build proficiency in:
- Infrastructure as Code: Dive into AWS CDK, cdk8s, and CloudFormation to learn how to design and deploy robust cloud architectures.
- Service-Specific Labs: From basic VPC and EC2 examples to advanced use cases such as Lambda functions, API Gateways, S3 Buckets, and beyond.
- Step-by-Step Guides: Each lab includes well-commented code, clear instructions, and an explanation of best practices to help you understand the underlying AWS services.
- Hands-On Learning: Experiment with our templates and guides to quickly set up, deploy, and validate your own cloud solutions.
The repository is structured to ensure ease of navigation. Here is an overview of the main directories:
/aws
βββ README.md # This file
βββ cdk # Hands-on labs and CDK constructs for different AWS services
βΒ Β βββ hello-world-l1 # Example 1: Simple AWS CDK application
βΒ Β βββ hello-world-l2 # Example 2: Advanced CDK constructs and patterns
βΒ Β βββ hello-world-l3 # Example 3: Complex multi-stack examples
βΒ Β βββ simple-lambda-apigateway# Single Lambda/API Gateway example
βββ cdk8s # Labs demonstrating Kubernetes infrastructure with cdk8s
βΒ Β βββ basic-app # Example: Define Kubernetes manifests using code
βββ cloudformationtemplates # All CloudFormation templates and solution guides
βΒ Β βββ vpc # VPC and networking-related examples
βΒ Β βββ lambda # Lambda function and serverless app examples
βΒ Β βββ etc.
βββ projects # Additional sample projects for node, Python, and serverless deployments
βΒ Β βββ aws-node-project
βΒ Β βββ lambda
βΒ Β βββ serverless
βββ docs # Documentation, class slides, and additional resources
Each main folder is self-contained, with a README.md
that offers context, instructions, and references to the relevant steps.
- What it is: AWS CDK allows you to define cloud infrastructure in your favorite programming language and deploy it through AWS CloudFormation.
- What Youβll Find: Multiple labs under
cdk
that showcase best practices for using AWS CDKβranging from basic stack creation to constructing multi-tier architectures. - Learn More: Each CDK lab provides a detailed guide on setting up, running, and testing your deployments.
- What it is: cdk8s is an open-source framework that enables you to define Kubernetes applications and generate standard YAML manifests using familiar programming languages.
- What Youβll Find: Under the
cdk8s
folder, you will see sample applications demonstrating how to create and manage Kubernetes resources programmatically. - Learn More: Each lab contains instructions and code samples that walk you through the process of container orchestration and deployment.
- What they are: CloudFormation provides a proven way to model and provision AWS infrastructure using declarative templates.
- What Youβll Find: The
cloudformationtemplates
folder contains a comprehensive collection of templates, from simple networking stacks to complex multi-service deployments. These templates are complemented by step-by-step guides. - Learn More: Our documentation includes usage instructions, parameter explanations, and best practices for organizing and deploying CloudFormation stacks.
- Projects Folder: Explore sample projects that integrate various AWS services. Whether you prefer Node.js, Python, or serverless architectures, you will find hands-on samples that demonstrate real-world scenarios.
- Documentation and Classes: The
docs
folder includes additional resources such as class slides, diagrams, and diagrams to supplement your learning.
- Browse the Directory: Start by navigating to the directory that matches your interest (e.g., CDK labs, CloudFormation templates).
- Follow the Guides: Each sub-folder comes with its own README that provides the context, prerequisites, and step-by-step instructions.
- Run the Code: Clone the repository, set up your environment as per the guide, and run the sample labs.
- Experiment and Expand: Use these examples as a foundation to experiment with your own AWS services and configurations. Feedback and improvements are always welcome!
We welcome contributions from everyone! Whether you are adding new labs, improving existing documentation, or suggesting new service demos, your help is invaluable. To contribute:
- Fork the Repository: Create your own branch for new features or fixes.
- Follow the Coding Standards: Consistency is keyβmaintain the same directory structure and coding style used throughout the repo.
- Document Your Changes: Update or add relevant documentation so users can understand your contribution.
- Submit a Pull Request: Once youβre happy with your changes, submit a pull request with a clear description of your updates.
- Open Issues: If you have questions or suggestions, feel free to open an issue to discuss improvements with the community.
Our roadmap is driven by community needs and the evolving AWS ecosystem:
- Expand Service Labs: We plan to add more hands-on labs for additional AWS services.
- Enhance Guides: Detailed best practices and troubleshooting sections are in the works.
- Interactive Learning: Future updates may include interactive tutorials and video walkthroughs.
- Community Collaboration: We encourage you to share your ideas and contribute to our growing ecosystem!
This project is licensed under the MIT License. See the LICENSE file for details.
For questions, suggestions, or discussions, please reach out:
- GitHub Issues: Use the repositoryβs issue tracker to report bugs or request new features.
Thank you for exploring the AWS Hands-On Labs Repository. Letβs build, learn, and innovate together on the cloud!