Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Architectural principles for cloud software
Pahl C., Jamshidi P., Zimmermann O. ACM Transactions on Internet Technology18 (2):1-23,2018.Type:Article
Date Reviewed: Jun 14 2018

What comes to mind first with cloud system architectures is the ubiquitous use of microservices, supported by total virtualization from hardware to middleware to applications: virtual machines, micro operating systems, containers, and container orchestration. All of this gives microservices tremendous potential, while making such systems extremely complex. Microservices constitute, at the same time, a pattern for a cloud architecture and a source of concerns to be solved by the architecture at large.

This paper presents a set of proposed “principles and patterns for control-theoretic [1,2], model-based [3] architectures for cloud software [4].” The intended audience includes people interested in cloud computing solutions. The presentation level is suitable for both industry and academia.

The paper has a very systematic approach, taking the challenges and defining from them the principles that lead to the patterns to be implemented. The cloud is a multi-tiered provider of services produced through virtualization, living in a universe dominated by uncertainty: highly dynamic environments with often unpredictable changes. This requires mechanisms of self-adaptation. A full-stack view is necessary for continuous delivery/integration from a DevOps perspective. Thus, the architectural principles can be synthesized as follows: service orientation, virtualization, uncertainty, and adaptivity. The resulting architectural patterns include microservices complemented by packaging (containers) and orchestration (Kubernetes) as the ideal solution for continuous delivery; dynamic runtime models (using various approaches like Markovian chains, Bayesian inferences, fuzzy logic, and so on) to address uncertainty; and controller-based feedback loops (correlated with the runtime models) to ensure adaptivity. The authors discuss model and controller at length, and present three use cases.

Reviewer:  Pierre Radulescu-Banu Review #: CR146083 (1808-0428)
1) Cheng, B. H. C.; de Lemos, R.; Giese, H.; Inverardi, P.; Magee, J. Software engineering for self-adaptive systems: . Springer, New York, NY, 2009.
2) Kounev, S. Self-aware software and systems engineering: a vision and research roadmap. GI Softwaretechnik-Trends 31, (2011), 21–25.
3) Stahl, T.; Völter, M. Model-driven software development. Wiley, Chichester, UK, 2006.
4) Antonopoulos, N.; Gillam, L. Cloud computing: principles, systems and applications. Springer, New York, NY, 2010.
Bookmark and Share
  Reviewer Selected
 
 
Cloud Computing (C.2.4 ... )
 
 
Software Architectures (D.2.11 )
 
Would you recommend this review?
yes
no
Other reviews under "Cloud Computing": Date
Cloud security and privacy: an enterprise perspective on risks and compliance
Mather T., Kumaraswamy S., Latif S., O’Reilly Media, Inc., Sebastopol, CA, 2009.  336, Type: Book (9780596802769), Reviews: (1 of 3)
Dec 14 2009
Cloud security and privacy: an enterprise perspective on risks and compliance
Mather T., Kumaraswamy S., Latif S., O’Reilly Media, Inc., Sebastopol, CA, 2009.  336, Type: Book (9780596802769), Reviews: (2 of 3)
Jan 26 2010
Cloud security and privacy: an enterprise perspective on risks and compliance
Mather T., Kumaraswamy S., Latif S., O’Reilly Media, Inc., Sebastopol, CA, 2009.  336, Type: Book (9780596802769), Reviews: (3 of 3)
Mar 18 2010
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy