Introduction
In this blog, we'll be discussing three amazing DevOps and Cloud projects that you should have in your resume, and when I say have in your resume, it doesn't mean you add in your resume. It means that you should Implement those projects by yourself, get the learning out of it, create some useful artifacts like blogs or GitHub repositories, and then you should add them to your resume so that the recruiters/hiring managers will know that these projects you have implemented by yourself.
If you prefer watching a 10-minute video with all the details, you can check the below link; else, you can continue with the blog:
What can you expect from this blog?
In addition to sharing project ideas and steps, I will provide a complete end-to-end solution through blog posts, GitHub repositories, and YouTube videos. Anyone interested in implementing the solution can learn how to do so using these resources as guidance.
Project 1: Static website hosting and CICD
Difficulty Level: Beginner
Focus Area: Cloud Storage, CDN and CICD
Host a static website on the cloud of your choice, either AWS, Azure, or GCP, and Implement cicd on that.
Technologies Covered 📚 ( Use either of the below options)
- AWS: Amazon S3, CloudFront, and Route 53
- Azure: Azure Storage, Azure CDN, and DNS Management
- Google Cloud: Cloud Storage, Load Balancing, and Content Delivery Networks (CDN)
Get Started 🚀
- Review the project requirements. ✔️
- Dive into AWS, Azure, or GCP documentation to familiarize yourself with the services mentioned. 📖
- Start building your architecture diagram. 🏗️
- Document your progress and implementation steps in a blog or GitHub Readme. 📝
- Challenges Faced: Discuss any challenges you encountered and how you overcame them. 🤔
- Key Takeaways: Share what you learned from this project. 🧐
- Resources: List any helpful resources or references you used. 📚
Reference resources: ✅
💡 If you are an absolute beginner to the cloud and CICD, get yourself. Familiarize with the concepts, you can refer to the below documentation and study material:
For AWS
https://docs.aws.amazon.com/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.html
https://docs.aws.amazon.com/AmazonS3/latest/userguide/website-hosting-cloudfront-walkthrough.html
For Azure
https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website-how-to?tabs=azure-portal
https://learn.microsoft.com/en-us/azure/storage/blobs/storage-custom-domain-name?tabs=azure-portal
For GCP
https://cloud.google.com/storage/docs/hosting-static-website
https://www.cloudskillsboost.google/focuses/1251?parent=catalog
If you are a visual learner, feel free to check out the video solution
Architecture Diagram for AWS by Ankit
Blog containing step-by-step instructions for AWS
Architecture Diagram for Azure by Nishant
Blog By Nishant containing the step-by-step instructions for Azure
Project #2: 3-tier architecture
Difficulty Level: Intermediate
Focus Area: Cloud Infrastructure, Networking, 3-tier application
For this project, your objective is to design a 3-tier architecture in a cloud platform, such as AWS, Azure, or GCP, with a focus on the following key considerations:
High Availability: Ensure your architecture is highly available, capable of withstanding failures, and can provide uninterrupted service.
Scalability: Design your architecture to be highly scalable, allowing for easy and efficient resource scaling as your application's demands increase.
Fault Tolerance: Implement fault-tolerant mechanisms to minimize downtime and service interruptions during failures.
Custom VPC/VNET: Consider using a custom Virtual Private Cloud (VPC) for AWS or GCP, a Virtual Network (VNET) for Azure, or a similar network customization instead of relying on the default configurations.
Security: Prioritize security by adhering to best practices for Identity and Access Management (IAM) and implementing robust security measures.
Your design should consider these considerations, resulting in a well-structured, efficient, and secure 3-tier architecture.
You can use your chosen cloud platform to implement this architecture effectively.
Reference resources: ✅
💡 To ensure you're ready to take on this challenge, it's essential to have a solid understanding of networking concepts. Check out the following resources for guidance:
👉 AWS: Click Here
👉 Azure: Click Here
👉 GCP: Click Here
🚀IP address calculation/CIDR and Subnet Masks: Click here
If you are a video person, feel free to check out the below video for end to end solution:👇
Architecture Diagram for AWS
Architecture Diagram for Azure
Detailed workshop for AWS with step-by-step instructions:
Detailed blog for Azure for step-by-step instructions
Project 3: Implement a 2-tier architecture in AWS, Azure, or GCP using Terraform 🚀
Difficulty Level: Intermediate
Focus Area: Iac using Terraform, Custom modules, Infrastructure.
This project aims to leverage the best practices of infrastructure as code (IaC) to create a reusable and shareable infrastructure setup. Our focus is on promoting modularity, flexibility, and maintainability.
Key Guidelines
1. Leverage Custom Modules
Build custom modules to break your infrastructure code into reusable and shareable components. This approach organizes your code and allows other team members to incorporate and adapt the components easily for their specific needs.
2. Use Variables and Data Sources
Please implement variables and data sources in your IaC code to enhance flexibility and maintainability. Variables make it easier to adapt and modify configuration settings, while data sources allow you to retrieve information from external sources to inform your infrastructure.
3. Remote State File
You can store your state file remotely. This practice enhances collaboration, security, and version control of your IaC code. Consider using your infrastructure's remote state storage service, such as Terraform Cloud or AWS S3.
4. Security First
Keep security in mind throughout your IaC development. Ensure your infrastructure is configured with appropriate security measures and adhere to best practices for secure and compliant deployments.
If you are a visual learner, feel free to check out the video solution