Introduction
This project provides you with the opportunity to select different aspects of cloud computing to explore:
- Implementation and deployment of cloud computing infrastructures
- Performance evaluation of virtualization approaches
- Installation and deployment of computing services in the cloud
Implementation and Deployment
The CloudLab Openstack default profile contains set up of X compute nodes to to support KVM-based VMs without support for Docker.
- Project Primary Task:
- Augment the CloudLab Openstack default profile to support the inclusion of one additional compute node type that provides support for Docker virtualization using Zun.
- Project Subtasks:
- Understand the installation scripts provided in CloudLab Openstack default profile.
- Able to install Zun manually on an instantiation of this profile.
- Able to convert the installation steps into automated scripts embedded inside the CloudLab Openstack default profile.
- Team requirements: 4 to 5 members.
- Deliverable 1:
- Team description
- Documentation describing the execution flows of CloudLab Openstack Scripts
- Deliverable 2:
- In-class demonstration of Zun/Docker on CloudLab
- Deliverable 3
- Project report and/(or) GitHub repository contains the fully automated profile with Zun included.
Performance Evaluation
- Motivation Paper: An Updated Performance Comparison of Virtual Machines and Linux Containers.
- Project Primary Task:
- Select at least four test benchmarks from the paper and repeat the benchmark performance of either KVM, Docker, Podman, or Singularity on different hardware on CloudLab.
- Project Subtasks:
- Able to automatically install KVM, Docker, Podman, or Singularity on a single CloudLab profile
- Able to automate the install and configure of the selected benchmarks and run the benchmarks.
- Able to automate the entire process within a single CloudLab profile and instantiate/collect results of at least 20 runs.
- Team requirements: 3 to 4 members.
- Deliverable 1:
- Team description
- Documentation describing the selected benchmarks and automated installation of the platform.
- Deliverable 2:
- In-class demonstration of one benchmark on the selected platform, including describing the installation process of the platform.
- Deliverable 3:
- Project report and/(or) GitHub repository contains the fully automated profile(s) for the corresponding benchmarks.
Installation and Deployment of Cloud Services
- Install and deploy a multi-node computing service on CloudLab’s OpenStack Cloud or on Docker’s Kubernetes.
- Project Primary Task:
- Select a computing service consisting of at least two service nodes (i.e., a web server with a backend SQL server OR a Single-Sign-On LDAP server that supports a networked file system server …) and deploy the corresponding VMs/containers inside CloudLab’s Openstack infrastructure or Kubernete infrastructure.
- Project Subtasks:
- Able to setup VM nodes (possibly on local computers) that work together to provide a unified computing service to users.
- Able to move these VM nodes into the Cloud, setup proper network environment, and link them together.
- Able to setup at least 2-3 security groups/Docker subnet (DO NOT use the default security groups Openstack) or Docker default network).
- Team requirements: 2 to 3 members.
- Deliverable 1:
- Team description
- Documentation describing the selected computing service, including network diagram and specific details on what services being installed on which VM.
- Deliverable 2:
- In-class demonstration of the selected computing services on local machines or on CloudLab (may or may not be automated on CloudLab).
- Deliverable 3:
- Project report and/(or) GitHub repository contains the fully automated profile.
Project Report Requirements (for all project categories)
- There are two components required for project report:
- A written technical report.
- An in-class technical presentation.
- A technical report (minimum four pages, 1-inch margin, single-space, font size 11) that provides:
- Detailed descriptions about the project progress,
- Self-assessment about whether the project has met the final deliverable.
- A 10-minute presentation that includes:
- A brief but comprehensive description about the project.
- Live demonstration (if applicable).
- Discussion about technical challenges and potential future work.