Abstract:
With the microservices architectural model, complex systems are built as a set of small loosely-coupled independent components. Deployment of microservice-based applications takes advantageof cloud computing platforms to provide scalability, high availability, and to simplify the deploymentand operation of applications. Improving the performance of microservices running on containerizedand serverless cloud computing platforms is important for many applications with requirements likereal-time, low latency, responsive auto-scaling and to increase user engagement.This thesis aims to improve the performance of these applications through smart task schedul-ing and request routing decisions. We started our work enhancing function latency on serverlessplatforms by increasing code locality, and assessing conflicting goals for the scheduling process. Wethen studied the benefits of performance-aware scheduling decisions for containerized platforms, toimprove microservices performance. We demonstrated that our affinity scheduling approach hasimportant applicability beyond the microservices domain by increasing the use of the cache layerto reduce the access time to the data stored in a data lake. Finally, we also addressed the use ofserverless-based microservices to support the dynamic implementation of self-adaptive cloud services.