to see more new vendor-agnostic techniques and tool-
ing being developed to provide similar capabilities of
automated cloud resource allocation. Furthermore,
co-developing tooling for the cloud resource alloca-
tion optimization purpose and tooling for cloud appli-
cation performance monitoring is a possible direction
for tooling advance.
ACKNOWLEDGMENTS
We thank Dr. Zhimin Zeng from Zilian Tech, and
Prof. Longpeng Zhang from University of Electronic
Science and Technology of China, for their construc-
tive discussion on related topics, and their support for
this work. This work is partially supported by Na-
tional Social Science Foundation of China(Grant No.
20CJY009).
REFERENCES
(n.d.). Ansible executable playbooks. https://docs.ansible.
com/ansible/latest/cli/ansible-playbook.html.
(n.d.). Aws database migration service. https://aws.amazon.
com/dms/.
(n.d.). Azure files pricing. https://azure.microsoft.com/
en-us/pricing/details/storage/files/.
(n.d.). Chef infra, a powerful automation platform. https:
//github.com/chef/chef.
(n.d.). Cloud native compute foundation. https://www.cncf.
io/.
(n.d.a). Datadog: Cloud monitoring as a service. https:
//www.datadoghq.com/.
(n.d.). Docker: Empowering app development for develop-
ers. https://www.docker.com/.
(n.d.). Gcp security and identity. https://cloud.google.com/
products/security-and-identity.
(n.d.a). Infrastructure as code: What is it? why is it
important? https://www.hashicorp.com/resources/
what-is-infrastructure-as-code.
(n.d.). Kubernetes: Production-grade container orchestra-
tion. https://kubernetes.io/.
(n.d.). Lightstep - monitor and improve performance. https:
//lightstep.com/.
(n.d.). Linux containers. https://linuxcontainers.org/.
(n.d.b). Migrating workloads to aws with data-
dog. https://www.datadoghq.com/resources/
aws-migration-ebook.
(n.d.). Podman: A tool for managing oci containers and
pods. https://github.com/containers/podman.
(n.d.). Puppet: Powerful infrastructure automation and de-
livery. https://puppet.com/.
(n.d.). Salt project. https://saltproject.io/.
(n.d.). Servicenow: The simplicity your company craves.
https://www.servicenow.com/.
(n.d.). Stackpulse - reliability platform. https://stackpulse.
com/.
(n.d.b). Terraform. https://www.terraform.io/.
(n.d.). What is azure sql managed in-
stance? https://docs.microsoft.com/
en-us/azure/azure-sql/managed-instance/
sql-managed-instance-paas-overview.
Akkus, I. E., Chen, R., Rimac, I., Stein, M., Satzke,
K., Beck, A., Aditya, P., and Hilt, V. (2018).
{SAND}: Towards high-performance serverless com-
puting. In 2018 {Usenix} Annual Technical Confer-
ence ({USENIX}{ATC} 18), pages 923–935.
Ameloot, T. J., Neven, F., and Van den Bussche, J.
(2013). Relational transducers for declarative net-
working. Journal of the ACM (JACM), 60(2):1–38.
Artac, M., Borovssak, T., Di Nitto, E., Guerriero, M.,
and Tamburri, D. A. (2017). Devops: introducing
infrastructure-as-code. In 2017 IEEE/ACM 39th Inter-
national Conference on Software Engineering Com-
panion (ICSE-C), pages 497–498. IEEE.
Castellanos Ardila, J. P. and Gallina, B. (2020). Separation
of concerns in process compliance checking: divide-
and-conquer. In 27th European & Asian System, Soft-
ware & Service Process Improvement & Innovation
EuroAsiaSP2’20, 09 Sep 2020, D
¨
usseldorf, Germany.
Springer International Publishing.
Cheung, A., Crooks, N., Hellerstein, J. M., and Milano, M.
(2021). New directions in cloud programming. arXiv
preprint arXiv:2101.01159.
De Win, B., Piessens, F., Joosen, W., and Verhanneman,
T. (2002). On the importance of the separation-of-
concerns principle in secure software engineering. In
Workshop on the Application of Engineering Princi-
ples to System Security Design, pages 1–10. Citeseer.
Dean, J. and Ghemawat, S. (2004). Mapreduce: Simplified
data processing on large clusters.
Gamma, E., Helm, R., Johnson, R., Vlissides, J., and Pat-
terns, D. (1995). Elements of reusable object-oriented
software. Design Patterns. massachusetts: Addison-
Wesley Publishing Company.
Hummer, W., Rosenberg, F., Oliveira, F., and Eilam, T.
(2013). Testing idempotence for infrastructure as
code. In ACM/IFIP/USENIX International Confer-
ence on Distributed Systems Platforms and Open Dis-
tributed Processing, pages 368–388. Springer.
H
¨
ursch, W. L. and Lopes, C. V. (1995). Separation of con-
cerns.
H
¨
uttermann, M. (2012). Infrastructure as code. In DevOps
for Developers, pages 135–156. Springer.
Kiczales, G. and Mezini, M. (2005). Separation of concerns
with procedures, annotations, advice and pointcuts. In
European Conference on Object-Oriented Program-
ming, pages 195–213. Springer.
Morris, K. (2016). Infrastructure as code: managing
servers in the cloud. ” O’Reilly Media, Inc.”.
Mueller, E. (2010). What’sa devop? the agile ad-
min. URL (consulted 2019): http://theagileadmin.
com/2010/10/08/whats-a-devop.
Lifting Existing Applications to the Cloud: Abstractions, Separation of Responsibilities and Tooling Support
607