This repository focuses on cloud computing and demonstrates how to set up virtual machines, S3, and other services using LocalStack. It provides a comprehensive guide to simulating AWS services locally for development and testing purposes.
1. AWS CLI
AWS Command Line Interface (CLI) is a powerful tool that allows users to interact with AWS services directly from the terminal. It simplifies managing cloud resources by providing commands for a wide range of AWS services, enabling tasks such as provisioning, managing, and automating workflows with ease.
2. LocalStack
LocalStack is a fully functional, local testing environment for AWS services. It enables developers to simulate AWS services on their local machines, facilitating the development and testing of cloud-based applications without needing access to an actual AWS account.
3. Docker
Docker is a containerization platform that allows developers to build, share, and run applications in isolated environments called containers. It ensures consistent environments across development, testing, and production by packaging the application and its dependencies together.
4. Boto3
Boto3 is the official AWS SDK for Python, enabling developers to interact with AWS services programmatically. It provides a high-level, easy-to-use interface for managing AWS resources like S3, EC2, DynamoDB, and more.
5. Flask
Flask is a lightweight and flexible Python web framework designed for building web applications and APIs. It follows a minimalistic approach, providing essential tools while allowing developers to add extensions as needed.
-
Codes π» (If applicable)
Contains code files used for the data processing and analysis in each experiment. These files are critical for performing the tasks required in the experiment.- e.g.,
main.py
,process_data.py
- e.g.,
-
Documentation π
This folder contains detailed documentation for each experiment, including methodology, analysis, and insights. Documentation is provided in both Markdown (.md
) and PDF formats for easy reference.documentation.md
(Markdown version of the documentation)documentation.pdf
(PDF version of the documentation)
-
Dataset π (If applicable)
Contains the datasets used for analysis in each experiment. Datasets are placed here to ensure easy access and organization.- e.g.,
data.csv
,stream_data.json
- e.g.,
-
Output π
Stores the output generated from each experiment, including visualizations, data analysis results, and any other relevant outputs.Experiment X Output
(where "X" refers to the relevant experiment number)
Cloud-Computing/
β
βββ Experiment 1/
β βββ Documentation/ π
| β βββ Explanation of methods and key observations from Experiment 1.
β βββ Output/ π
β β βββ Contains the results and analysis of Experiment 1.
βββ Experiment 2/
β βββ Codes/ π»
β β βββ Contains the web app code in flask and docker files.
β βββ Documentation/ π
β β βββ Detailed documentation explaining the methodology and analysis for Experiment 2.
β βββ Output/ π
β β βββ Contains the results and analysis of Experiment 2.
.....
-
Codes Folder (π»):
This folder contains the source code for the experiment. It includes all the necessary code files, scripts, and programs required to run the experiment. Additionally, it holds detailed explanations of the command prompt inputs and outputs:- Command Prompt Input and Output Explanation (MD & PDF): Provides an explanation of the inputs and outputs for all commands used in the experiment.
- Command Prompt Input and Output Logs (TXT): Contains the actual input commands and their corresponding outputs in text format for reference.
-
Dataset Folder (π):
This folder stores the dataset used in an experiment. If a dataset is involved (like a.csv
,.json
, or any data file), it will be placed here. -
Output Folder (π):
Stores the outputs/results generated by the experiments. This might include processed data, logs, or result files. Each experimentβs output is stored separately with a relevant name. -
Documentation Folder (π):
Contains the documentation of each experiment, provided in both.md
and.pdf
formats. The Markdown file is converted to PDF using the provided link for Markdown to PDF conversion. -
Commands File (π):
A text file documenting the specific commands or steps used in the experiment, especially useful for command-line operations.
In this experiment, students will learn to understand the basics of cloud computing by setting up and configuring a virtual machine on a cloud platform such as AWS, Google Cloud, or Microsoft Azure or localstack.
This experiment enables students to deploy a basic web application on a cloud server using services like AWS EC2, where they will practice deploying applications on the cloud infrastructure.
This experiment sets up an AWS S3 bucket to upload, verify, and download data. It demonstrates secure and scalable cloud storage management.
This experiment focuses on configuring and managing cloud networking services, such as creating Virtual Private Clouds (VPCs) and subnets. It involves using cloud platforms like AWS, Google Cloud, or Azure to set up and manage cloud networking environments.
In this experiment AWS Lambda deployment, execution, and testing are done using AWS CLI and LocalStack. The runtime image is pulled from Amazon ECR via Docker. This simulates a serverless environment for function invocation and validation.
- Drop a π if you find this repository useful.
- If you have any doubts or suggestions, feel free to reach me.
π« How to reach me: ΒΒ Β
- Contribute and Discuss: Feel free to open issues π, submit pull requests π οΈ, or start discussions π¬ to help improve this repository!