Abstract
Cloud computing is a promising paradigm for the provisioning of IT services. Cloud computing infrastructures, such as those offered by the RESERVOIR project, aim to facilitate the deployment, management and execution of services across multiple physical locations in a seamless manner. In order for service providers to meet their quality of service objectives, it is important to examine how software architectures can be described to take full advantage of the capabilities introduced by such platforms. When dealing with software systems involving numerous loosely coupled components, architectural constraints need to be made explicit to ensure continuous operation when allocating and migrating services from one host in the Cloud to another. In addition, the need for optimising resources and minimising over-provisioning requires service providers to control the dynamic adjustment of capacity throughout the entire service lifecycle. We discuss the implications for software architecture definitions of distributed applications that are to be deployed on Clouds. In particular, we identify novel primitives to support service elasticity, co-location and other requirements, propose language abstractions for these primitives and define their behavioural semantics precisely by establishing constraints on the relationship between architecture definitions and Cloud management infrastructures using a model denotational approach in order to derive appropriate service management cycles. Using these primitives and semantic definition as a basis, we define a service management framework implementation that supports on demand cloud provisioning and present a novel monitoring framework that meets the demands of Cloud based applications.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Amazon: Amazon Elastic Compute Cloud (Amazon EC2) (2006). [Online] http://aws.amazon.com/ec2
Andreozzi, S., De Bortoli, N., Fantinel, S., Ghiselli, A., Rubini, G.L., Tortone, G., Vistoli, M.C.: GridICE: a monitoring service for grid systems. Future Gener. Comput. Syst. 21(4), 559–571 (2005). doi:10.1016/j.future.2004.10.005
Armbrust, M., Fox, A., Griffith, R., Joseph, A.D., Katz, R.H., Konwinski, A., Lee, G., Patterson, D.A., Rabkin, A., Stoica, I., Zaharia, M.: Above the clouds: a Berkeley view of cloud computing. Tech. Rep. UCB/EECS-2009-28, EECS Department, University of California, Berkeley (2009). http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.html
Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., Neugebauer, R., Pratt, I, Warfield, A.: Xen and the art of virtualization. In: SOSP’03: Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles, pp. 164–177. ACM, New York (2003). doi:10.1145/945445.945462
Chapman, C., Emmerich, W., Márquez, F.G., Clayman, S., Galis, A.: Software architecture definition for on-demand cloud provisioning. In: 19th ACM International Symposium on High Performance Distributed Systems. ACM, New York (2010)
Cherkasova, L., Gardner, R.: Measuring CPU overhead for I/O processing in the Xen virtual machine monitor. In: Proceedings of the USENIX Annual Technical Conference, pp. 387–390 (2005)
Clayman, S., Galis, A., Chapman, C., Toffetti, G., Rodero-Merino, L., Vaquero, L., Nagin, K., Rochwerger, B.: Monitoring service clouds in the future internet. In: Towards the Future Internet—Emerging Trends from European Research. IOS Press, Amsterdam (2010)
Clayman, S., Galis, A., Mamatas, L.: Monitoring virtual networks with lattice. In: Management of Future Internet—ManFI 2010 (2010). http://www.manfi.org/2010/
Cooke, A., Gray, A.J.G., Ma, L., Nutt, W., et al.: R-GMA: an information integration system for grid monitoring. In: Proceedings of the 11th International Conference on Cooperative Information Systems, pp. 462–481 (2003)
DMTF: Open Virtualization Format. Specification DSP0243 v1.0.0, Distributed Management Task Force (2009)
DROOLS: DROOLS (2010). [Online] http://jboss.org/drools
Emmerich, W., Butchart, B., Chen, L., Wassermann, B., Price, S.L.: Grid service orchestration using the business process execution language (BPEL). J. Grid Comput. 3(3–4), 283–304 (2005). http://dx.doi.org/10.1007/s10723-005-9015-3
Galán, F., Sampaio, A., Rodero-Merino, L., Loy, I, Gil, V., Vaquero, L.M., Wusthoff, M.: Service specification in cloud environments based on extensions to open standards. In: Fourth International Conference on COMmunication System softWAre and middlewaRE (COMSWARE) (2009)
Ganek, A., Corbi, T.: The dawning of the autonomic computing era. IBM Syst. J. 42(1), 5–18 (2003)
IBM: IBM blue cloud (2007). [Online] http://www-03.ibm.com/press/us/en/pressrelease/22613.wss
Mamatas, L., Clayman, S., Charalambides, M., Galis, A., Pavlou, G.: Towards an information management overlay for the future internet. In: IEEE/IFIP NOMS (2010)
Massie, M.L., Chun, B.N., Culler, D.E.: The ganglia distributed monitoring system: design, implementation and experience. Parallel Comput. 30, 2004 (2003)
Microsoft: Windows Azure Platform (2008). [Online] http://www.microsoft.com/windowsazure/
Nagios: Nagios (1999). [Online] http://www.nagios.org/
Newman, H., Legrand, I., Galvez, P., Voicu, R., Cirstoiu, C.: MonALISA: a distributed monitoring service architecture. In: Proceedings of CHEP03, La Jolla, California (2003)
OASIS: Web Service Business Process Execution Language Version 2.0 Specification. OASIS standard (2007)
Object Management Group: Meta Object Facility Core Specification 2.0, OMG Document, formal/2006-01-01 (2006)
Object Management Group: Object Constraint Language (OCL) 2.0, OMG Document, formal/2006-05-01 (2006)
OpenNebula: OpenNebula: The Open Source Toolkit for Cloud Computing (2010). [Online] http://www.opennebula.org
Rochwerger, B., Breitgand, D., Levy, E., Galis, A., Nagin, K., Llorente, L., Montero, R., Wolfsthal, Y., Elmroth, E., Cáceres, J., Ben-Yehuda, M., Emmerich, W., Gálan, F.: The RESERVOIR model and architecture for open federated cloud computing. IBM Systems Journal Special Edition on Internet Scale Data Centers 53(4) (2009)
Rochwerger, B., Galis, A., Levy, E., Cáceres, J., Breitgand, D., Wolfsthal, Y., Llorente, I., Wusthoff, M., Montero, R., Elmroth, E.: RESERVOIR: management technologies and requirements for next generation service oriented infrastructures. In: The 11th IFIP/IEEE International Symposium on Integrated Management, New York, USA, pp. 1–5 (2009)
SAP: SAP Enterprise Resource Planning (2003). [Online] http://www.sap.com/solutions/business-suite/erp/index.epx
Skene, J., Emmerich, W.: Engineering runtime requirements-monitoring systems using MDA technologies. Lect. Notes Comput. Sci. 3705, 319 (2005)
Skene, J., Lamanna, D.D., Emmerich, W.: Precise service level agreements. In: ICSE’04: Proceedings of the 26th International Conference on Software Engineering, pp. 179–188. IEEE Comput. Soc., Los Alamitos (2004)
Srinivasan, R.: XDR: eXternal Data Representation standard (1995)
Sugerman, J., Venkitachalam, G., Lim, B.H.: Virtualizing I/O devices on VMware workstation’s hosted virtual machine monitor. In: Proc. of the 2001 USENIX Annual Technical Conference, Usenix, Boston, Mass (2001)
Tatemura, J.: CDDLM Configuration Description Language Specification 1.0. Tech. rep., Open Grid Forum (2006)
Thain, D., Tannenbaum, T., Livny, M.: Condor and the grid. In: Berman, F., Fox, G., Hey, T. (eds.) Grid Computing: Making the Global Infrastructure a Reality. Wiley, New York (2002)
UCL: UCL MDA Tools (2008). [Online] http://uclmda.sourceforge.net/
Vaquero, L.M., Rodero-Merino, L., Cáceres, J., Lindner, M.: A break in the clouds: towards a cloud definition. SIGCOMM Comput. Commun. Rev. 39(1), 50–55 (2009). doi:10.1145/1496091.1496100
Warmer, J., Kleppe, A.: The Object Constraint Language: Getting Your Models Ready for MDA. Addison-Wesley, Longman, Reading, Harlow (2003)
Author information
Authors and Affiliations
Corresponding author
Additional information
This research has been partly funded by the RESERVOIR EU FP7 Project through Grant Number 215605.
Rights and permissions
About this article
Cite this article
Chapman, C., Emmerich, W., Márquez, F.G. et al. Software architecture definition for on-demand cloud provisioning. Cluster Comput 15, 79–100 (2012). https://doi.org/10.1007/s10586-011-0152-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-011-0152-0