SpecialVFX@Cloud
Welcome to SpecialVFX@Cloud, a scalable cloud solution for special effects processing, developed as part of an IST Cloud Computing project by Miguel Rocha, Lucas Pinto, and Kenneth Brattli.
Project Description:
SpecialVFX@Cloud is a service hosted on Amazon Web Services (AWS), designed to support a hypothetical special effects studio by executing computationally-intensive tasks. The main functionalities include:
- RenderImage: Generate photo-realistic images using ray-tracing.
- BlurImage: Apply a blurring effect to images.
- EnhanceImage: Highlight edges in images to enhance details.
Goals:
The primary goals of this project were to:
- Implement Elastic Scalability: Ensure the system can automatically scale by increasing or decreasing the number of workers based on the number and complexity of user requests.
- Optimize Cost Efficiency: Balance between cost and performance using a mix of EC2 instances and Lambda functions.
- Collect Performance Metrics: Instrument the application to measure the complexity of requests, aiding in load balancing and auto-scaling decisions.
- Utilize Cloud Environment: Deploy the system on Amazon Web Services (AWS), including EC2 instances, Lambda functions, and DynamoDB for metrics storage.
- Automate Deployments: Automate all cloud deployments and ensure resources are efficiently managed and deleted after use.
Overall Workflow:
- Load Balancer (LB): The entry point of the system that receives all web requests and forwards them to either an EC2 instance or a Lambda function based on estimated request complexity.
- Workers: Execute the requested operations. These are of two types:
- VM Workers (EC2 Instances): Handle requests directly and can be instrumented to collect performance metrics.
- FaaS Workers (Lambda Functions): Handle requests with fast startup times but higher cost per request.
- Auto-Scaler (AS): Monitors system performance and adjusts the number of active EC2 instances to balance load and cost.
- Metrics Storage System (MSS): Uses Amazon DynamoDB to store performance metrics, aiding in decision-making for load balancing and auto-scaling.
Milestones:
- May 17th: Project Checkpoint (Optional): Submit your initial implementation and receive feedback on your progress.
- May 31st: Project Submission: Submit your fully functional system along with a final report.
Documentation:
Useful links: