Skip to content

Latest commit

 

History

History
116 lines (95 loc) · 6.06 KB

README.md

File metadata and controls

116 lines (95 loc) · 6.06 KB

header

💙 Theme Color: Bluish

AI-Based Cloud Resource Auto-Scheduler

Overview

The AI-Based Cloud Resource Auto-Scheduler is an intelligent system that automatically scales cloud resources up or down based on predicted demand. Using AI-driven algorithms, it analyzes historical data and real-time user activity to make precise predictions, ensuring optimal resource allocation and minimizing costs and idle time.

This project enables businesses to efficiently manage their cloud infrastructure, prevent resource over-provisioning or under-provisioning, and save on cloud costs through dynamic, automated scaling.

Features

  • Demand Prediction: Predicts cloud resource demand using AI models based on historical and real-time user data.
  • Auto-Scaling: Automatically adjusts cloud resources to meet predicted demand.
  • Cost Optimization: Minimizes cloud infrastructure costs by preventing unnecessary resource allocation.
  • Real-Time Monitoring: Continuously tracks system performance and adjusts scaling in real-time.
  • Cloud Provider Integration: Supports integration with major cloud platforms like AWS, Google Cloud, and Microsoft Azure.

Architecture

The system is composed of the following key components:

  • Data Collector: Gathers historical usage data and real-time user activity.
  • AI Prediction Engine: Utilizes machine learning algorithms (e.g., time-series forecasting, reinforcement learning) to predict future resource needs.
  • Cloud Resource Manager: Interfaces with cloud providers to automatically scale resources.
  • Monitoring Module: Tracks system performance and provides feedback for improving prediction accuracy.

Project Structure

ai-cloud-auto-scheduler/
│
├── app.py
├── train_model.py
├── autoscaler.py
├── config.yaml
├── requirements.txt
├── data/
│   └── historical_data.csv
├── model/
│   └── prediction_model.h5
└── README.md

Prerequisites

  • Python 3.8+ ( For Backend and AI Models )
  • HTML, CSS, Bootstrap, JS ( for Web Interface )
  • Cloud account with AWS, GCP, or Azure (with autoscaling enabled)
  • Libraries:
    • TensorFlow/PyTorch for AI model
    • Pandas, NumPy (for data processing)
    • Boto3 (for AWS) or equivalent for cloud integration
    • Flask (for web hosting & backend linkage)
    • SQLAlchemy ( for backend database storage )
  • Dataset

Overall Tech Stack

Python 3.8+ Flask SQAlchemy HTML5 CSS3 Bootstrap JavaScipt Bootstrap

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/ai-cloud-auto-scheduler.git
    cd ai-cloud-auto-scheduler
  2. Install dependencies:

    pip install -r requirements.txt
  3. Configure cloud provider credentials:

    • For AWS: Set up your AWS credentials in ~/.aws/credentials.
    • For GCP/Azure: Follow the respective setup guides to integrate API keys.
  4. Run the project:

    python app.py

Usage

  1. Collect Data: Ensure that historical usage data and real-time user activity are being fed into the system.
  2. Train Model: Use the provided script to train the AI model on historical data:
    python train_model.py
  3. Auto-Scaling: Deploy the auto-scaling service and let it handle resource management based on AI predictions. Configuration
  • Scaling thresholds: Define thresholds for resource scaling in config.yaml.
  • Cloud Provider API: Update API configurations in the config.yaml file based on your cloud provider.

Future Improvements

  • Support for multi-cloud integration (AWS, GCP, Azure).
  • Enhanced prediction models incorporating additional metrics like network traffic and storage demand.
  • Predictive maintenance to auto-detect resource failures.

Contributing Contributions are welcome! Please open an issue or submit a pull request for any bug fixes or new features.

License

This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International Public License. See the LICENSE file for details.

🐈‍⬛ GitHub Profiles of Creators:

GitHub Ishaan Rastogi GitHub Jai Tiwari GitHub Sainava Modak GitHub Srujal Sau GitHub Gourav Garg

✍️ Random Dev Quote