Cloud Native Software Engineering (2307.01045v1)
Abstract: Cloud compute adoption has been growing since its inception in the early 2000's with estimates that the size of this market in terms of worldwide spend will increase from \$700 billion in 2021 to \$1.3 trillion in 2025. While there is a significant research activity in many areas of cloud computing technologies, we see little attention being paid to advancing software engineering practices needed to support the current and next generation of cloud native applications. By cloud native, we mean software that is designed and built specifically for deployment to a modern cloud platform. This paper frames the landscape of Cloud Native Software Engineering from a practitioners standpoint, and identifies several software engineering research opportunities that should be investigated. We cover specific engineering challenges associated with software architectures commonly used in cloud applications along with incremental challenges that are expected with emerging IoT/Edge computing use cases.
- ”IDC Forecasts Worldwide ”Whole Cloud” Spending to Reach $1.3 Trillion by 2025”. IDC. [Online]. Available: https://www.idc.com/getdoc.jsp?containerId=prUS48208321
- ”The History of Salesforce”. Salesforce.com. [Online]. Available: https://www.salesforce.com/news/stories/the-history-of-salesforce
- ”About AWS”. Amazon Web Services. [Online]. Available: https://aws.amazon.com/about-aws/
- ”The History of Microsoft Azure”. Microsoft. [Online]. Available: https://techcommunity.microsoft.com/t5/educator-developer-blog/the-history-of-microsoft-azure/ba-p/3574204
- B. Stevens. ”Google Cloud Platform: your Next home in the cloud”. [Online]. Available: https://cloud.google.com/blog/products/gcp/google-cloud-platform-your-next-home-in-the-cloud
- ”Automate Infrastructure on Any Cloud”. Hashicorp. [Online]. Available: https://terraform.io
- ”AWS CloudFormation”. AWS. [Online]. Available: https://aws.amazon.com/cloudformation
- ”Pulumi: Universal Infrastructure as Code”. Pulumi. [Online]. Available: https://www.pulumi.com
- Google how search works. Google. [Online]. Available: https://www.google.com/search/howsearchworks/how-search-works/rigorous-testing/
- Chaos monkey. Netflix Open Source. [Online]. Available: https://netflix.github.io/chaosmonkey/
- L. F. Albuquerque Jr, F. S. Ferraz, R. Oliveira, and S. Galdino, “Function-as-a-service x platform-as-a-service: Towards a comparative study on faas and paas,” in ICSEA, 2017, pp. 206–212.
- D. S. Linthicum, “Cloud-native applications and cloud migration: The good, the bad, and the points between,” IEEE Cloud Computing, vol. 4, no. 5, pp. 12–14, 2017.
- ”Cloud Native Computing Foundation Homepage”. CNCF. [Online]. Available: https://www.cncf.io/
- ”Open Container Initiative”. OCI. [Online]. Available: https://opencontainers.org/
- ”Use containers to Build, Share and Run your applications”. Docker.com. [Online]. Available: https://www.docker.com/resources/what-container
- I. Baldini, P. Castro, K. Chang, P. Cheng, S. Fink, V. Ishakian, N. Mitchell, V. Muthusamy, R. Rabbah, A. Slominski et al., “Serverless computing: Current trends and open problems,” in Research advances in cloud computing. Springer, 2017, pp. 1–20.
- A. Haas, A. Rossberg, D. L. Schuff, B. L. Titzer, M. Holman, D. Gohman, L. Wagner, A. Zakai, and J. Bastien, “Bringing the web up to speed with webassembly,” in Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, 2017, pp. 185–200.
- B. Bosshard, “On the use of web assembly in a serverless context,” in Agile Processes in Software Engineering and Extreme Programming–Workshops, 2020, p. 141.
- ”Production-Grade Container Orchestration”. CNCF. [Online]. Available: https://www.kubernetes.io
- A. Agache, M. Brooker, A. Iordache, A. Liguori, R. Neugebauer, P. Piwonka, and D.-M. Popa, “Firecracker: Lightweight virtualization for serverless applications,” in 17th USENIX symposium on networked systems design and implementation (NSDI 20), 2020, pp. 419–434.
- A. Wiggins. ”The Twelve-Factor App”. Heroku. [Online]. Available: https://12factor.net
- ”12 Factor App Revisited”. architecture notes. [Online]. Available: https://architecturenotes.co/12-factor-app-revisited/
- A. Thomas and A. Gupta, “Adopt a mesh app and service architecture to power your digital business,” Gartner Research, Tech. Rep. G00392875, July 2022.
- Z. Dehghani. ”Data Mesh Principles and Logical Architecture”. Thoughtworks. [Online]. Available: https://martinfowler.com/articles/data-mesh-principles.html
- ”WASI – The WebAssembly System Interface”. CNCF. [Online]. Available: https://wasi.dev/
- J. D. Herbsleb and R. E. Grinter, “Architectures, coordination, and distance: Conway’s law and beyond.” IEEE Software, vol. 16, no. 5, pp. 63–70, 1999. [Online]. Available: http://dblp.uni-trier.de/db/journals/software/software16.html#HerbslebG99
- A. Atlas, “Accidental adoption: The story of scrum at amazon.com,” in 2009 Agile Conference, 2009, pp. 135–140.
- ”Discover the Spotify Model”. Atlassian. [Online]. Available: https://www.atlassian.com/agile/agile-at-scale/spotify
- ”Scaled Agile Framework (SAFe)”. Scaled Agile. [Online]. Available: https://www.scaledagileframework.com/
- A. Aarsten, D. Brugali, and G. Menga, “Patterns for three-tier client/server applications,” Proceedings of Pattern Languages of Programs (PLoP’96), vol. 4, no. 6, 1996.
- Build next-gen apps with openai’s powerful models. OpenAI. [Online]. Available: https://openai.com/api/
- Hl7 fhir. HL7. [Online]. Available: https://www.hl7.org/fhir/http.html/
- Develop for healthcare. Cigna. [Online]. Available: https://developer.cigna.com/
- ”Regions and Availability Zones”. AWS. [Online]. Available: https://aws.amazon.com/about-aws/global-infrastructure/regions\_az
- A. Engelsrud, “Moving to the cloud: Lift and shift,” in Managing PeopleSoft on the Oracle Cloud. Springer, 2019, pp. 229–242.
- Osi model. Wikipedia. [Online]. Available: https://en.wikipedia.org/wiki/OSI_model
- Rfc-6749. IETF RFC. [Online]. Available: https://www.rfc-editor.org/rfc/rfc6749
- Cloud custodian. CapitolOne Open Source. [Online]. Available: https://cloudcustodian.io/
- K. Cao, Y. Liu, G. Meng, and Q. Sun, “An overview on edge computing research,” IEEE access, vol. 8, pp. 85 714–85 728, 2020.
- M. Hasan. State of iot 2022: Number of connected iot devices growing 18% to 14.4 billion globally. IOT Analytics. [Online]. Available: https://iot-analytics.com/number-connected-iot-devices/
- B. Posey. (2022, Nov) Top public cloud providers of 2023: A brief comparison. TechTarget. [Online]. Available: https://www.techtarget.com/searchcloudcomputing/tip/Top-public-cloud-providers-A-brief-comparison
- Tinygo - a go compiler for small places. TinyGo. [Online]. Available: https://tinygo.org/
- Wasmedge - bring the cloud-native and serverless application paradigms to edge computing. CNCF. [Online]. Available: https://wasmedge.org/
- Introducing the docker+wasm technical preview. Docker. [Online]. Available: https://www.docker.com/blog/docker-wasm-technical-preview/
- L. A. Meyerovich and A. S. Rabkin, “Empirical analysis of programming language adoption,” in Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications, 2013, pp. 1–18.
- M. Flauzino, J. Veríssimo, R. Terra, E. Cirilo, V. H. Durelli, and R. S. Durelli, “Are you still smelling it? a comparative study between java and kotlin language,” in Proceedings of the VII Brazilian symposium on software components, architectures, and reuse, 2018, pp. 23–32.
- R. Cordingly, H. Yu, V. Hoang, D. Perez, D. Foster, Z. Sadeghi, R. Hatchett, and W. J. Lloyd, “Implications of programming language selection for serverless data processing pipelines,” in 2020 IEEE Intl Conf on Dependable, Autonomic and Secure Computing, Intl Conf on Pervasive Intelligence and Computing, Intl Conf on Cloud and Big Data Computing, Intl Conf on Cyber Science and Technology Congress (DASC/PiCom/CBDCom/CyberSciTech), 2020, pp. 704–711.
- Active-active for multi-regional resiliency. Netflix. [Online]. Available: https://netflixtechblog.com/active-active-for-multi-regional-resiliency-c47719f6685b
- Google scolar. Google. [Online]. Available: https://scholar.google.com/