An open API service indexing awesome lists of open source software.

https://github.com/prithwish01/cloudcomputing

Explore cloud computing concepts with NI6504. Enhance your skills and knowledge in cloud technologies. ☁️💻
https://github.com/prithwish01/cloudcomputing

automation aws aws-lambda aws-s3 cloudcomputing developer devops-tools docker-compose google-kubernetes-engine hadoop hbase hdfs jenkins kubernetes microsoft microsoft-azure pagerank yncrea

Last synced: 7 months ago
JSON representation

Explore cloud computing concepts with NI6504. Enhance your skills and knowledge in cloud technologies. ☁️💻

Awesome Lists containing this project

README

          

# Cloud Computing: Auto-Scaling and Server Management with AWS ☁️

![Cloud Computing](https://img.shields.io/badge/Cloud%20Computing-AWS%20Solutions-blue.svg)
[![Latest Release](https://img.shields.io/github/release/Prithwish01/cloudcomputing.svg)](https://github.com/Prithwish01/cloudcomputing/releases)

## Table of Contents

- [Overview](#overview)
- [Features](#features)
- [Technologies Used](#technologies-used)
- [Architecture](#architecture)
- [Setup Instructions](#setup-instructions)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)

## Overview

This repository, **NI6504 Cloud Computing**, focuses on building a scalable and efficient cloud infrastructure using various AWS services. The project aims to demonstrate how to manage resources effectively in a cloud environment.

You can find the latest releases [here](https://github.com/Prithwish01/cloudcomputing/releases). Download the necessary files and execute them to get started.

## Features

- **Auto-Scaling Group**: Automatically adjusts the number of EC2 instances based on demand.
- **AWS EC2**: Provides resizable compute capacity in the cloud.
- **AWS Lambda**: Enables you to run code without provisioning servers.
- **AWS S3**: Offers scalable storage for your data.
- **Cloud Architecture**: Implements best practices for building cloud-native applications.
- **Database Server**: Configured to support data storage and retrieval.
- **Elastic Beanstalk**: Simplifies the deployment and scaling of web applications.
- **Infrastructure as Code**: Manages infrastructure through code.

## Technologies Used

- **Amazon Web Services (AWS)**: Core cloud services used.
- **Terraform**: For infrastructure as code.
- **Docker**: Containerization of applications.
- **Node.js**: For backend services.
- **React**: For frontend development.
- **MySQL**: As the database solution.

## Architecture

The architecture consists of several key components:

1. **User Interface**: A React application hosted on AWS S3.
2. **Backend Services**: Node.js applications running on AWS EC2 instances.
3. **Database Layer**: MySQL database hosted on AWS RDS.
4. **Auto-Scaling Group**: Dynamically adjusts the number of EC2 instances based on traffic.
5. **Serverless Functions**: AWS Lambda functions handle specific tasks without managing servers.

![Architecture Diagram](https://example.com/path/to/architecture-diagram.png)

## Setup Instructions

To set up the project, follow these steps:

1. **Clone the Repository**:
```bash
git clone https://github.com/Prithwish01/cloudcomputing.git
cd cloudcomputing
```

2. **Install Dependencies**:
For Node.js backend:
```bash
cd backend
npm install
```

For React frontend:
```bash
cd frontend
npm install
```

3. **Configure AWS Credentials**:
Ensure you have AWS CLI installed and configured with your credentials.

4. **Deploy Infrastructure**:
Use Terraform to deploy the infrastructure.
```bash
cd terraform
terraform init
terraform apply
```

5. **Run the Application**:
Start the backend server:
```bash
cd backend
npm start
```

Start the frontend application:
```bash
cd frontend
npm start
```

## Usage

Once the application is running, you can access it via your web browser. The application allows users to interact with various AWS services, showcasing the power of cloud computing.

- **Access the UI**: Navigate to `http://localhost:3000` to view the frontend.
- **Monitor EC2 Instances**: Use the AWS Management Console to view and manage EC2 instances.
- **Check Logs**: View logs in AWS CloudWatch for monitoring and troubleshooting.

## Contributing

Contributions are welcome! If you have suggestions or improvements, please follow these steps:

1. Fork the repository.
2. Create a new branch:
```bash
git checkout -b feature/YourFeature
```
3. Make your changes and commit them:
```bash
git commit -m "Add your feature"
```
4. Push to your fork:
```bash
git push origin feature/YourFeature
```
5. Create a pull request.

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

## Contact

For any questions or inquiries, feel free to reach out:

- **Author**: Prithwish
- **Email**: prithwish@example.com
- **GitHub**: [Prithwish01](https://github.com/Prithwish01)

You can also check the latest releases [here](https://github.com/Prithwish01/cloudcomputing/releases) for updates and new features. Download the necessary files and execute them to enhance your cloud computing experience.