Git Product home page Git Product logo

cloud-computing-hill-climbing's Introduction

Project Overview

The HillClimbing@Cloud project for the Cloud Computing and Virtualization course at MEIC / METI - IST - ULisboa endeavors to architect and construct an elastic cluster of web servers. Its core function involves utilizing hill-climbing algorithms to ascertain peak values on height-maps, addressing incoming web requests with precision and agility. The project's central tenets revolve around scalability, performance enhancement, and adept management of task intricacies.

Implementation Details

This endeavor encompasses a suite of system components, including web servers, a load balancer, an auto-scaler, and a metrics storage system. Integral to the project's success is the meticulous instrumentation of code for real-time performance metric collection. Moreover, students are tasked with devising algorithms for load balancing and auto-scaling, each meticulously designed to optimize system throughput and resource allocation. The final submission should showcase seamless integration between web server instrumentation and the metrics storage system, alongside the implementation of efficient auto-scaling and load balancing algorithms, leveraging comprehensive metrics data analysis.

Initial Notes

The primary endeavor of this project was to craft a distributed system adept at processing graph coordinates to deduce heights utilizing a spectrum of algorithms including Astar, BFS, and DFS. The project achieved a commendable grade of 17.8/20 following rigorous evaluation by Professor Luís Veiga and Nuno Anselmo.

Modules

  • The ./Enunciado directory houses the project's statement.
  • The Auto Scaler module orchestrates dynamic provisioning and termination of Web Servers.
  • The Load Balancer acts as the system's gateway, proficiently distributing incoming requests among Web Servers.
  • Web Servers dutifully process requests, furnish results to the Load Balancer, and persist pertinent metrics in DynamoDB.
  • The Load Balancer aggregates results, facilitating their prompt return to the client.
  • System configurations are meticulously housed in the rc.local file.

Group 11

  • 82069 - José Brás - MEIC-T (Final grade: 16/20) GitHub
  • 84609 - Marco Coelho - MEIC-T (Final grade: 16/20) GitHub
  • 84897 - Dário Sá - MEIC-T (Final grade: 15/20) GitHub

cloud-computing-hill-climbing's People

Contributors

ist182069 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.