Performance of Cloud-based Microservices

  • Tasneem Salah

Student thesis: Master's Thesis

Abstract

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 AwardDec 2016
Original languageAmerican English
SupervisorMohamed Zemerly (Supervisor)

Keywords

  • Cloud computing
  • Docker containers
  • Virtual Machines
  • Microservices
  • Performance Evaluation.

Cite this

'