Recent cloud technologies enable a diverse set of novel applications with capabilities never seen before. Cloud native programming, microservices, serverless architectures are novel paradigms reducing the burden on both software developers and operators while enabling cloud-grade service deployments. Several types of applications fit in well with the new concepts, however, latency sensitive applications with strict delay constraints pose additional challenges on the platforms. Can we run these applications on today's public cloud platforms making use of the brand new tools and techniques? In this paper, we try to answer this question by addressing one of the most widely used and versatile public cloud platforms, namely Amazon's AWS, and we propose a novel mechanism to optimize the software "layout" based on dynamic performance measurements. Our contribution is threefold. First, we define a combined performance and cost model on CaaS/FaaS (Container/Function as a Service) platforms, specifically for AWS, based on a comprehensive performance analysis, and we also provide an application model capturing the performance requirements. Second, we formulate an optimization problem which minimizes the deployment costs on AWS while meeting the latency constraints. A polynomial algorithm finding the optimal solution is also given. Third, we evaluate the model and the algorithm for different scenarios and investigate the performance on today's system.
[1]
Jürgen Cito,et al.
Modelling and Managing Deployment Costs of Microservice-Based Cloud Applications
,
2016,
2016 IEEE/ACM 9th International Conference on Utility and Cloud Computing (UCC).
[2]
Brian W. Kernighan,et al.
Optimal Sequential Partitions of Graphs
,
1971,
J. ACM.
[3]
Robert E. Tarjan,et al.
Optimal Chain Partitions of Trees
,
1975,
Inf. Process. Lett..
[4]
Balázs Sonkoly,et al.
Towards Latency Sensitive Cloud Native Applications: A Performance Study on AWS
,
2019,
2019 IEEE 12th International Conference on Cloud Computing (CLOUD).
[5]
Jörn Kuhlenkamp,et al.
Costradamus: A Cost-Tracing System for Cloud-Based Software Services
,
2017,
ICSOC.
[6]
Shrideep Pallickara,et al.
Serverless Computing: An Investigation of Factors Influencing Microservice Performance
,
2018,
2018 IEEE International Conference on Cloud Engineering (IC2E).
[7]
Tor Sørevik,et al.
Optimal Partitioning of Sequences
,
1995,
J. Algorithms.