The name Cirrocumulus comes from the scientific name for atmospheric clouds that occur at very high altitudes. Cirrocumulus clouds are known to transform themselves into other types of clouds that appear at lower levels of the atmosphere, a phenomena similar in principal to what this research aims to provide for computing clouds.
In order to provide context to the project, we depict the current state of the Cloud computing landscape in Figure 1.
Figure 1 : Current State of Computing Clouds
The cost benefits and management convenience act as strong incentives to business and scientific users alike to use the cloud resources, despite the risks. Amazon EC2 continues to maintain a strong steady growth. However many incidents, including the convtraversial resource apprehension by FBI in Texas, highlight the risk of depending on utility type computing resources to manage critical functions, preventing many sensible users from accepting the cloud as the single solution to all their problems and avoiding putting all the eggs in one basket. A survey by Rightscale Inc. in February 2009 discovered that the primary concern among IT professionals regarding adopting the cloud is either application or data lock-in , commonly referred to as vendor lock-in. This lock-in is present at two levels.
- Across same type of clouds. This kind of lock-in is caused by the interface and procedural heterogeneity across similar clouds. This is termed vertical heterogeneity since the heterogeneity is within a single silo.
- Across different types of clouds. This is caused by the heterogeneity in the paradigm of each cloud type and is fundamentally diffcult to overcome. We term this horizontal heterogeneity.
Based on many supporting evidence, we make the following observation. One of the most important hindrances to the adoption of the cloud is the vendor lock-in, in terms of development, deployment and management of application artifacts in computing clouds. There is a clear need for unified modeling, development, deployment and management of applications for clouds that can overcome both vertical and horizontal heterogeneity.
The objective of this project is to develop a methodology for cloud application development and management at an abstract level by incorporating semantic enrichments at each phase of the applications lifecycle. This objective is intended to be achieved by using domain specific languages (DSL) for developing and configuring applications and introducing a middleware layer as a facade for core cloud services. The level of abstraction provided by DSLs and middleware alone is not sufficient however and we incorporate semantic meta-models to elevate the abstractions further. This is similar to virtualization in concept but rather than using an interpretive approach, we use a generative approach i.e. platform specific, executable artifacts are generated instead of VM based interpretation.
A DSL, by definition, is the opposite of a general programming language and caters only to a specific domain. Hence a family of DSLs is needed to cater for different aspects and different types of applications. Cirrocumulus uses three families of DSLs.
- A family of DSLs for application development (Type I). A different DSL would be used to describe a different type of application, e.g., a data intensive, non-interactive analysis application or a UI driven,interactive Web application.
- A DSL to specify the non-functional configurations of the application (Type II DSL). The configurations in question are parameters for performance, cost etc.
- A DSL to assemble the application artifacts (Type III DSL). The artifacts to assemble include the functional and non-functional specifications (specified using the above mentioned DSLs).
Cirrocumulus middleware layer provides service abstractions for both deployment and management tasks. Altocumulus has proven beyond doubt that such middleware are indeed useful and possible. The middleware layer in Cirrocumulus plays the following roles.
- Selection of the most suitable cloud environment for a given application. Given the difficulty of mapping application attributes to the cloud, automated or semi-automated cloud selection is indeed an important capability. For such a selection, each cloud would need a capability model, preferably expressed in an ontological language. The meta-data embedded in the application artifacts during the development phase facilitates the generation of a requirement model for the application.
- Initiation of an SLA enforcement mechanism. A possible system is outlined by an early investigation of the Services Research Lab where Web Service Level Agreements (WSLA) is used as the primary model for SLA definition and enforcement. Current vendor practice is to push the burden of proving SLA violations to consumer and hence automated SLA enforcement becomes an important and welcome addition. /li>
- Generation and/or transformations of platform specific artifacts and processing platform specific configurations using the DSL specifications.
Semantics act as the main differentiator of Cirrocumulus.
- Semantic models are utilized to model cloud capabilities. Use of semantic models enable more expressivity as well as reasoning.
- The DSL's are enriched by annotations refering to semantic models. The generators use these annotations to create meta-data enriched application artifacts that can be used to select the most suitable cloud platforms by the middleware layer.
- Semantic data models use the middleware layer to facilitate data migration using the well-known lifting-lowering paradigm.
This research is primarily influenced by the work Ajith Ranabahu performed in IBM Research during his internships in 2007 and 2009.
- IBM Sharable Code (ISC)
- The ISC mashup platform is featured in the IBM Alphaworks portal although the interactive demo is no longer available. The primary goal of the ISC mashup DSL is to streamline the development efforts using a comprehensive language that allows one to create a complete mashup with a single script. The DSL program can either be generated using a graphical tool or written entirely from scratch using a text editor. The DSL engine generates a targeted application, in the default case a Ruby on Rails application that can be deployed to a compatible Web server. The code ratios observed during this research indicate that the abstractions reduce the number of lines of code 3 to 5 times, thus enabling less effort and fewer human errors. True to the platform neutrality a DSL can provide, ISC DSL does not use any specific target platform details and can in fact generate applications for multiple platforms (such as a Java based Web application or a PHP based Web application) without any change to the DSL code base.
- IBM Altocumulus
- Middleware based solutions for cloud interoperability has been investigated in the IBM Altocumulus project. Altocumulus demonstrated the ability to signficantly lower the barrier to entry for multi-cloud deployment and management. The time and effort taken to deploy some complex applications to the cloud has been significantly reduced by the use of Altocumulus. However Altocumulus does have some limitations in terms of becoming a comprehensive cloud middleware. For example, application compatibility is a consideration to be manually addressed, i.e., the deployer should verify the compatibility of the application artifacts, before a deployment.
This research is likely to initiate a mindset shift on the process of modeling, development, deployment and management of cloud based applications and initiate long term research in the same context. The current process which is tied to vendor specific methods is wasteful and risky and there is a significant interest to move away from such system. Since the application framework that we aim to build is going to be open source, it is likely to be adopted more rapidly and influence others to provide similar services and tools. Also due to the lowering of barriers to entry, more cloud applications can be expected to surface, more so from non-computer science domains.