The purpose of this repo is to provide a list of micro-projects to help people with their #100DaysOfCloud Challenge.
- If you want to take the challenge go to: https://100daysofcloud.com
- The #100DaysOfCloud Challenge Template is here: https://github.com/100DaysOfCloud/100DaysOfCloud
- You can propose a cloud project by opening a ticket 🎟️
- You need to use our Project Template and submit it as a pull request.
When you open a ticket it will have a Github Issue ID eg. 23
You should reference this number both in your branch name and your PR's commit message.
Including this number will keep track of your commits in the project idea's Github Issue.
eg. Branch Name
git checkout -b 23-COM01-AWS100
eg. Commit Message
#23 — Launching an EC2 instance
When you submit a Pull Request (PR) we may edit the following without notice:
- Typos
- Markdown formatting
- Difficulty Level
We do this to expedite the review process so your project is quickly accepted into the Ideas repository.
Projects covered could be for:
- Microsoft Azure
- Amazon Web Services
- Google Cloud Platform
We aren't limited to the big three, but thats where you'll see the most examples since IaaS have the most cloud offerings.
We may be weary of third-party cloud services since the goal of these projects is to learn a concept first and a product last.
Projects are labeled based these four levels:
- Level 100 (Introductory)
- Level 200 (Intermediate)
- Level 300 (Advanced)
- Level 400 (Expert)
The goal is to provide micro-projects that can be completed in minutes to hours and worst case a day. The difficulty generally indicates greater time commitment. For more difficult projects more instruction can be provided to reduce the time commitment. Projects may suggest the time it takes to complete the project
- UNI — Unicorn Projects
- SEC — Cloud Security
- COM — Cloud Computing
- NET — Cloud Networking
- BIL — Cloud Billing and Pricing
- GLU — Application Integration
- LES — Serverless
- ARC — Solution Architecting
- MLS — Machine Learning
- IOT — Internet of Things
- STR — Cloud Storage
- DBS — Databases
- DEV — Developer Tools
- OPS — DevOps
- BIG — Big Data and Analytics
- GOV — Management and Governance
- MLT — Multi-Cloud
- HYR — Hybrid-Cloud
- BOT — Robots
- LOW — Low/No Code
These are larger projects that use multiple cloud services.
- UNI01 — Hosting your Dev Blog [First Project Recommendations]
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
SEC01-AWS200 | Create a new CMK in KMS and encrypt an object | Level 200 | AWS | Andrew Brown |
SEC01-AZ200 | Configure and manage secrets in Azure Key Vault | Level 200 | Azure | Gwyneth Peña S. |
SEC01-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
SEC02-AWS100 | Use a managed rule from AWS Config | Level 100 | AWS | Andrew Brown |
SEC02-AZ100 | Create an Azure Policy | Level 100 | Azure | Gwyneth Peña S. |
SEC02-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
SEC03-AWS100 | Level 100 | AWS | ||
SEC03-AZ100 | Secure development best practices on Azure | Level 100 | Azure | Gwyneth Peña S. |
SEC03-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
SEC04-AWS100 | Create an IAM user | Level 100 | AWS | Syed Auther |
SEC04-AZ100 | Create a user in Azure AD | Level 100 | Azure | Gwyneth Peña S. |
SEC04-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
SEC05-AWS100 | Level 100 | AWS | ||
SEC05-AZ100 | Azure AD federation | Level 100 | Azure | Gwyneth Peña S. |
SEC05-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
COM01-AWS100 | Level 100 | AWS | ||
COM01-AZ200 | Azure VMware Solution | Level 100 | Azure | Gwyneth Peña S. |
COM01-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
COM02-AWS100 | Level 100 | AWS | ||
COM02-AZ200 | Deploy VMs to dedicated hosts using the portal | Level 200 | Azure | Gwyneth Peña S. |
COM02-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
COM03-AWS100 | Launch a Hello World website on the internet | Level 100 | AWS | Syed Auther |
COM03-AWS200 | Create an Auto Scaling Group | Level 200 | AWS | Chris Nagy |
COM03-AZ100 | Introduction to Azure virtual machines | Level 100 | Azure | Gwyneth Peña S. |
COM03-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
COM04-AWS100 | Push a Docker image to Amazon ECR repository | Level 100 | AWS | Johan Rin |
COM04-AWS200 | Deploy a Docker container image on AWS Fargate | Level 200 | AWS | Johan Rin |
COM04-AWS400 | Create a cluster of virtual machines using docker swarm | Level 400 | AWS | Karan Gauswami |
COM04-AZ100 | Level 100 | Azure | ||
COM04-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
NET01-AWS100 | Level 100 | AWS | ||
NET01-AZ200 | Plan your Virtual Network | Level 100 | Azure | Gwyneth Peña S. |
NET01-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
NET02-AWS100 | Level 100 | AWS | ||
NET02-AZ100 | Connect VNets with VNet peering | Level 100 | Azure | Gwyneth Peña S. |
NET02-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
NET03-AWS100 | Level 100 | AWS | ||
NET03-AZ100 | Level 100 | Azure | ||
NET03-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
NET04-AWS100 | Host a simple static webpage with S3 and CloudFront | Level 100 | AWS | Antonio Lo Fiego |
NET04-AZ100 | Azure CDN and Blob Services | Level 200 | Azure | Gwyneth Peña S. |
NET04-GCP100 | Level 100 | GCP |
This micro-project is all about avoiding overbilling due to misconfiguration.
⭐ BIL01 is recommended as a good first-time project
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
BIL01-AWS100 | Create three Billing Alarms | Level 100 | AWS | Chris Nagy |
BIL01-AZ100 | Create two types of Cost Alerts | Level 100 | Azure | Gwyneth Peña S. |
BIL01-GCP100 | Create three Budget Alerts | Level 100 | GCP | Andrew Brown |
This micro-project is all about controlling your spending.
⭐ BIL02 is recommended as a good first-time project
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
BIL02-AWS100 | Create a Cost Budget | Level 100 | AWS | Ariela |
BIL02-AZ100 | Create budgets | Level 100 | Azure | Gwyneth Peña S. |
BIL02-GCP100 | Level 100 | GCP |
Application Integration are cloud services that are used to help other services or apps talk to each other. Messaging Systems are commonly used for Application Integration.
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
GLU01-AWS100 | Level 100 | AWS | ||
GLU01-AZ100 | Create an Azure Queue in the Portal | Level 100 | Azure | Gwyneth Pena S. |
GLU01-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
GLU02-AWS100 | Introduction to SNS (Simple Notification Service) | Level 100 | AWS | Edward Allen Mercado |
GLU02-AZ200 | Introduction to Azure Service Bus | Level 200 | Azure | Gwyneth Pena S. |
GLU02-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
GLU03-AWS100 | Level 100 | AWS | ||
GLU03-AZ100 | Level 100 | Azure | ||
GLU03-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
GLU04-AWS100 | Level 100 | AWS | ||
GLU04-AZ100 | Level 100 | Azure | ||
GLU04-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
GLU05-AWS100 | Level 100 | AWS | ||
GLU05-AZ100 | Level 100 | Azure | ||
GLU05-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
GLU06-AWS100 | Level 100 | AWS | ||
GLU06-AZ100 | Level 100 | Azure | ||
GLU06-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
GLU07-AWS200 | Setup a simple state machine with at least 2 steps | Level 200 | AWS | Syed Auther |
GLU07-AZ100 | Level 100 | Azure | ||
GLU07-GCP100 | Level 100 | GCP |
Serverless tech abstracts the need to care for the underlying infrastructure, giving you more time to focus on logic.
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
LES01-AWS100 | Create a Lambda to add 2 numbers | Level 100 | AWS | Syed Auther |
LES01-AWS200 | Create a simple serverless API | Level 200 | AWS | Syed Auther |
LES01-AZ200 | Create an Azure Function in the Azure Portal | Level 200 | Azure | Gwyneth Pena S. |
LES01-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
LES02-AWS100 | Level 100 | AWS | ||
LES02-AZ100 | Level 100 | Azure | ||
LES02-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
LES03-AWS100 | Level 100 | AWS | ||
LES03-AZ100 | Level 100 | Azure | ||
LES03-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
LES04-AWS100 | Level 100 | AWS | ||
LES04-AZ100 | Level 100 | Azure | ||
LES04-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
LES05-AWS100 | Level 100 | AWS | ||
LES05-AZ100 | Level 100 | Azure | ||
LES05-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
ARC01-AWS100 | Level 100 | AWS | ||
ARC01-AZ100 | Level 100 | Azure | ||
ARC01-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
ARC02-AWS100 | Level 100 | AWS | ||
ARC02-AZ100 | Level 100 | Azure | ||
ARC02-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
MLS01-AWS100 | Level 100 | AWS | ||
MLS01-AZ100 | Level 100 | Azure | ||
MLS01-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
MLS02-AWS100 | Level 100 | AWS | ||
MLS02-AZ100 | Level 100 | Azure | ||
MLS02-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
MLS03-AWS100 | Level 100 | AWS | ||
MLS03-AZ100 | Level 100 | Azure | ||
MLS03-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
MLS04-AWS100 | Level 100 | AWS | ||
MLS04-AZ100 | Level 100 | Azure | ||
MLS04-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
IOT01-AWS100 | Level 100 | AWS | ||
IOT01-AZ100 | Level 100 | Azure | ||
IOT01-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
STR01-AWS100 | Level 100 | AWS | ||
STR01-AZ100 | Level 100 | Azure | ||
STR01-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
STR02-AWS100 | Level 100 | AWS | ||
STR02-AZ100 | Level 100 | Azure | ||
STR02-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
STR03-AWS200 | Create an EFS shared file system | Level 200 | AWS | Chris Nagy |
STR03-AZ100 | Create a FileShare | Level 100 | Azure | Gwyneth Peña S. |
STR03-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
STR04-AWS100 | Create an S3 Bucket and store an object in it | Level 100 | AWS | Syed Auther |
STR04-AZ100 | Level 100 | Azure | ||
STR04-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
STR05-AWS100 | Level 100 | AWS | ||
STR05-AZ100 | Level 100 | Azure | ||
STR05-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
DBS01-AWS100 | Level 100 | AWS | ||
DBS01-AZ100 | Level 100 | Azure | ||
DBS01-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
DBS02-AWS100 | Level 100 | AWS | ||
DBS02-AZ100 | Level 100 | Azure | ||
DBS02-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
DBS03-AWS100 | Create an Amazon RDS DB Instance (MS SQL Server) | Level 100 | AWS | Jagan |
DBS03-AWS200 | Create an Amazon Aurora Database | Level 200 | AWS | Nathan Cho |
DBS03-AWS201 | SQLServer Native Backup and Restore on RDS | Level 200 | AWS | Jagan |
DBS03-AZ100 | Level 100 | Azure | ||
DBS03-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
DBS04-AWS100 | Level 100 | AWS | ||
DBS04-AZ100 | Level 100 | Azure | ||
DBS04-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
DBS05-AWS100 | Create a DynamoDB table | Level 100 | AWS | Chris Nagy |
DBS05-AZ100 | Creating a Microsoft Azure Cosmos Db (SQL API) | Level 100 | Azure | Edward Haigh |
DBS05-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
DBS06-AWS100 | Level 100 | AWS | ||
DBS06-AZ100 | Level 100 | Azure | ||
DBS06-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
DBS07-AWS100 | Level 100 | AWS | ||
DBS07-AZ100 | Level 100 | Azure | ||
DBS07-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
DEV01-AWS100 | Level 100 | AWS | ||
DEV01-AZ100 | Level 100 | Azure | ||
DEV01-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
DEV02-AWS100 | Level 100 | AWS | ||
DEV02-AZ100 | Level 100 | Azure | ||
DEV02-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
DEV03-AWS100 | Install & Configure AWS CLI then create an S3 Bucket | Level 100 | AWS | Ariela |
DEV03-AZ100 | Level 100 | Azure | ||
DEV03-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
DEV04-AWS100 | Level 100 | AWS | ||
DEV04-AZ100 | Level 100 | Azure | ||
DEV04-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
OPS01-AWS100 | Deploy a CloudFormation template from the AWS Console | Level 100 | AWS | Syed Auther Chris Nagy |
OPS01-AWS300 | Deploy a VPC with Terraform | Level 300 | AWS | Markus Mabson |
OPS01-AZ100 | Deploy an ARM template | Level 100 | Azure | Gwyneth Peña S. |
OPS01-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
OPS02-AWS100 | Level 100 | AWS | ||
OPS02-AZ100 | Level 100 | Azure | ||
OPS02-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
OPS03-AWS100 | Level 100 | AWS | ||
OPS03-AZ100 | Level 100 | Azure | ||
OPS03-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
OPS04-AWS200 | Create a CloudWatch Alarm | Level 200 | AWS | Andrew Brown |
OPS04-AZ100 | Level 100 | Azure | ||
OPS04-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
BIG01-AWS100 | Level 100 | AWS | ||
BIG01-AZ100 | Level 100 | Azure | ||
BIG01-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
BIG02-AWS100 | Level 100 | AWS | ||
BIG02-AZ100 | Level 100 | Azure | ||
BIG02-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
BIG03-AWS100 | Level 100 | AWS | ||
BIG03-AZ100 | Level 100 | Azure | ||
BIG03-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
GOV01-AWS100 | Level 100 | AWS | ||
GOV01-AZ100 | Level 100 | Azure | ||
GOV01-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
MLT01-AWS100 | Level 100 | AWS | ||
MLT01-AZ100 | Level 100 | Azure | ||
MLT01-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
HYR01-AWS100 | Level 100 | AWS | ||
HYR01-AZ100 | Level 100 | Azure | ||
HYR01-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
BOT01-AWS100 | Level 100 | AWS | ||
BOT01-AZ100 | Level 100 | Azure | ||
BOT01-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
BOT02-AWS100 | Level 100 | AWS | ||
BOT02-AZ100 | Level 100 | Azure | ||
BOT02-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
BOT03-AWS100 | Level 100 | AWS | ||
BOT03-AZ100 | Level 100 | Azure | ||
BOT03-GCP100 | Level 100 | GCP |
Project Code | Project Details | Difficulty | CSP | Author(s) |
---|---|---|---|---|
LOW01-AWS100 | Create an app with Honeycode | Level 100 | AWS | |
LOW01-AZ100 | Create an app with PowerApps | Level 100 | Azure | |
LOW01-GCP100 | Create an app with AppSheet | Level 100 | GCP |
- Andrew Brown @andrewbrown
- Gwyneth Peña S. @madebygps
- Antonio Lo Fiego @antonio_lofiego
- Syed Auther Abbas @syedauther
- Chris Nagy @chris_the_nagy
- Johan Rin @johanrin
- Ariela @ari_hacks
- Edward Allen Mercado @edwardmercado_
- Jagan @JAG2wt
- Nathan Cho @hatchcanon
- Contribute a project to see your name added to the list!