Microservice architecture is widely used in the design and development of many real-time, critical, and large-scale online services. This architecture breaks the application into a set of smaller independent services. These services are typically deployed using Docker containers on cloud platforms. Container technology supports the deployment of these services with high portability, scalability, and performance compared to deploying them using virtual machines (i.e. VM-based services). Generally, container-based services give better performance than VM-based services. VM-based services result with an overhead caused by the Hypervisor layer which is responsible for performing virtualizing and managing physical resources. Containers provide a separate space for the processes without the need for a hypervisor to control the machines. It was found that Docker containers are deployed on top of virtual machines, which is against the common practice of containers deployment. Such deployment approach is adopted by the most popular cloud providers, Amazon. However, we show in this research that services deployed using Amazon AWS ECS (EC2 Container Service) surprisingly perform significantly worse when compared with services deployed using Amazon EC2 Virtual Machines. There is an immense need to study and quantify the performance difference.
Date of Award | Dec 2016 |
---|
Original language | American English |
---|
Supervisor | Mohamed Zemerly (Supervisor) |
---|
- Cloud computing
- Docker containers
- Virtual Machines
- Microservices
- Performance Evaluation.
Performance of Cloud-based Microservices
Salah, T. (Author). Dec 2016
Student thesis: Master's Thesis