=Paper=
{{Paper
|id=Vol-2019/docsymp_1
|storemode=property
|title=MDE-based Automated Provisioning and Management of Cloud Applications
|pdfUrl=https://ceur-ws.org/Vol-2019/docsymp_1.pdf
|volume=Vol-2019
|authors=Anirban Bhattacharjee
|dblpUrl=https://dblp.org/rec/conf/models/Bhattacharjee17
}}
==MDE-based Automated Provisioning and Management of Cloud Applications==
MDE-based Automated Provisioning and
Management of Cloud Applications
Anirban Bhattacharjee∗
∗ Department of Electrical Engineering and Computer Science
Vanderbilt University, Nashville, Tennessee, USA
Email: anirban.bhattacharjee@vanderbilt.edu
Abstract—Digital innovations in the modern era are driven of cloud applications, the current state of the art, and propose
by cloud-native applications, cloud architectures, and cloud- solutions while providing some preliminary results.
based development. In this realm, continuous architectural de-
sign, framework/infrastructure (re-)configuration, deployment, II. P ROBLEM F ORMULATION
migration, and resource monitoring to iteratively tune the
application and underlying resources as per business demand Consider as an example a distributed, data-intensive appli-
are required in the form of a self-service cloud deployment cation deployed in the cloud. It requires significant efforts for
and management platform. To address these challenges while the designers -
ensuring broader applicability using vendor-agnostic approaches, 1) To configure and deploy the application to use the
this doctoral research envisions an intelligent and context-aware,
model-driven, automated service provisioning technique, where
available big data frameworks [31],
manual efforts and domain expertise are alleviated to a large 2) To set up the virtual machines to host the frameworks
extent. In this context, this paper describes a self-service cloud- and finally, and
based application deployment and management ecosystem based 3) To establish the connection properly among application
on a Model-Driven Engineering (MDE) approach. components.
I. I NTRODUCTION Moreover, adding application component which requires a
different framework exacerbates these problems. To address
Deployment and management of cloud-based applications these problems, we envision an automated solution and outline
in both homogeneous or heterogeneous cloud environments the key requirements of such an approach and their associated
are often hampered by the intricacies and variabilities in the technical challenges:
deployment and configuration processes stemming from the
diversity in both the software stacks that control the cloud A. Requirement 1: Infrastructure Design Provisioning and
platforms and the underlying platform resources. Application Configuration Automation
provisioning is important since it enables the service providers Need to abstract away the architecting phase by pre-defining
to deploy their service’s application components in the cloud the configuration of applications and infrastructure as intuitive
provider’s resources in accordance with the service’s Quality modeling artifacts, which will speed up the deployment and
of Services (QoS), availability, business policy, and cost model migration process.
requirements [33], [28]. This complexity restricts the cloud ap- • Challenge 1: Capturing the Application and Cloud
plication development and deployment knowledge to a narrow Specifications in the Metamodel, where all the deploy-
set of experts who possess both the domain knowledge and ment and infrastructure complexities of the application
application-specific knowledge to explore the power of these and cloud specification are identified and defined.
techniques. Even with advances in DevOps community tools, • Challenge 2: Defining a Language for Model Trans-
they demand domain expertise and hence creating full-blown formation, where the DSML will transform the abstract
deployable models are error-prone and time-consuming. business model to target model (i.e. infrastructure code)
To address these challenges, this doctoral dissertation en- using a knowledge base.
visions an intelligent and context-aware, model -driven, au- • Challenge3: Verification of the Business Model, where
tomated service provisioning platform where manual efforts all relationships and constraints of application compo-
and domain expertise are minimal. To that end, in this pa- nents are checked and satisfied.
per, we propose a model-driven engineering (MDE)-based
ecosystem [29] to automate the process of deployment and B. Requirement 2: Support for Continuous Integration, Mi-
management for cloud applications and emphasize on extensi- gration, and Delivery
bility, (re-)usability and scalability. Our approach emphasizes Changes in business strategies and demands lead to evolu-
vendor-neutrality in order to be broadly applicable to diverse tion of the business model, and hence the platform should be
cloud platforms with their control software stacks. In the integrated with adaptation techniques.
remainder of this paper, we explore the challenges faced in • Challenge 4: Extensibility and Reusability of the Appli-
realizing the MDE approach for deployment and management cation Components, where the addition, upgradation or
migration of application components can be done at the [10], [13]. For Requirement 3 [24], [17], dynamic resource
model level, and should support collaboration and version management on enterprise application vendors is proposed by
control. various frameworks based on queuing model [34], [32], or by
• Challenge 5: Extensibility of the Platform, where the dynamic QoS Control [11], [16], [30].
addition of a new application type should be performed
in a modularized way, and should be only a one-time IV. P ROPOSED S OLUTION
effort. We propose a composable ecosystem called CloudCAMP
C. Requirement 3: Dynamic Modeling and Provisioning to deploy, monitor and manage cloud application intelligently.
The workflow of the proposed approach is shown in Fig. 1.
Continuously monitoring the infrastructure of the system
The contributions in this research include the following tasks:
and applications are required, and hence the model should
always reflect the current up-to-date state. • Task 1: A Deployment Framework Metamodel, to au-
• Challenge 6: Context-Aware Provisioning, where opti-
tomate the infrastructure design and implementation by
mization of cloud resources based on cost and resource capturing variability and commonality endpoints for the
availability should take place iteratively for potentially application and cloud specifications along with their SDK
differing QoS needs, policies, etc. and APIs, to provide abstractions based on TOSCA-
• Challenge 7: Model@Runtime, where the changes stem-
specifications. This metamodel details will be stored in
ming from self-adaptation of the provisioning techniques the knowledge base of the platform.
• Task 2: Model-to-Infrastructure-as-code Transformation
should be reflected back at the model level dynami-
cally [4]. DSML, as the basis for the deployment time and runtime
composition and orchestration through generative pro-
III. R ELATED W ORK gramming. The DSML will also be integrated with pre-
We explore existing research efforts directly aligned with defined constraints to verify the correctness of business
our research goals. The script-centric DevOps community model.
provides toolchains such as Chef [26], Puppet [21], or An- • Task 3: An Integrated Repository, that allows storage,
sible1 to speed up deployment for developers [18]. Cloudify query, and manipulation of models, templates, metadata,
and Apache Brooklyn2 enable cloud application orchestration parameters, software dependency knowledge base and
of topology templates in a vendor-agnostic way according provenance in a scalable data store.
to the Topology and Orchestration Specification for Cloud • Task 4: A Model@Runtime framework, that permits re-
Applications (TOSCA) [27] specification. However, we need flection of the current model by capturing and monitoring
declarative high-level modeling abstraction on top of these the streamlined system and application information across
tools to reduce the burden of domain expertise. heterogeneous resources at runtime.
To satisfy Requirement 1, multiple pattern based approaches • Task 5: Integration of Adaptive Resource Provisioning
are proposed [2], [9], [8], [22] where a model-based pattern de- Engine, to provide the QoS guarantees while scaling the
scribes a set of capabilities and functional and non-functional application vertically and horizontally, based on policy,
properties of application service deployment in cloud infras- economic issues, etc.
tructures [15], [1]. Alternatively, requirement solvers [25], [7] The approach to integrating diverse sets of deployment and
are also proposed to synthesize infrastructure configuration management building blocks for a specific application and
in a declarative fashion. OpenTOSCA [14] and CELAR [12] cloud providers offers significant advantages over traditional
exercise the combination of MDE and TOSCA specification to methods – such as DevOps or orchestration frameworks –
automate deployment of cloud applications from users’ partial by applying a blend of generative programming and micro
business relevant topology. The components can be deployed service architectures. Concrete implementation our proposed
and managed in the right order [5]. Later in [6] a context- generative approach will be demonstrated in a cloud-based
aware provisioning and management plan along with detection MDE environment called WebGME [23].
and correction of the unintended error due to software conflicts
and dependency is proposed. However, their platform is not V. C URRENT S TATUS
based on any standardization, and their planner does not use Our CloudCAMP approach to integrating a diverse set of
any DevOps community tools. Hence, their approach might deployment and management building blocks for a specific
lack extensibility and robustness. application and cloud providers offers significant advantages
In relation to Requirement 2, CHAMPS [19] focuses on over traditional methods – such as DevOps or orchestration
Change Management process by which IT systems are ef- frameworks – by applying a blend of generative programming
ficiently modified to minimize reconfiguration impact. Sim- and micro service architectures.
ilarly, various standard modeling environments as an object-
A concrete implementation of our MDE-based, generative
oriented formalism for configuration problems is proposed in
approach called CloudCAMP is being developed within a
1 https://www.ansible.com/ cloud-based MDE environment called WebGME [23]. A pre-
2 https://brooklyn.apache.org/ liminary version of CloudCAMP supports few application
Fig. 1: The complete workflow of the proposed approach
Fig. 2: THESIS Defense Timeline
types in an OpenStack cloud environment. The DSML trans- Generic Modeling Environment (GME) [20] as Task 1 and 2.
forms the business model to an infrastructure-as-code based Our research evaluation plans call for validating the frame-
on the metamodel and pre-defined knowledge base, which is work in the context of our ongoing and upcoming industry and
a MySQL database. We have integrated a monitoring tool to federally sponsored research projects. The source code is avail-
check the VMs and applications health. Presently, our DSML able at https://anirban2404.github.io/DeploymentAutomation/.
can realize the CloudCAMP metamodel and generate Ansible For example, one of our new projects is building a cloud-based
specific infrastructure code. machine learning ecosystem which illustrates many of the
The development of CloudCAMP comprises of the design needs addressed by our research. We also plan to validate our
and evaluation of the expressivity of the metamodel and the framework in cloud-based, collaborative education services for
DSML with all the product-line features. Figure 2 provides STEM education [3].
a timeline for this research, conducted under the supervision
of Dr. Aniruddha Gokhale, Associate Professor, Vanderbilt VII. E XPECTED C ONTRIBUTIONS
University.
CloudCAMP will ease the deployment and management of
VI. P LAN FOR E VALUATION AND VALIDATION applications based on deployment abstraction and intelligent
To demonstrate the deployment and management ecosys- resource optimization. The following key contributions are
tem, we are developing the CloudCAMP platform based on expected from this research:
The following key contributions are expected from this [13] Guillén, J., Miranda, J., Murillo, J.M., Canal, C.: A service-oriented
research: framework for developing cross cloud migratable software. Journal of
Systems and Software 86(9), 2294–2308 (2013)
1) Automated generation of infrastructure code from an [14] Hirmer, P., Breitenbücher, U., Binz, T., Leymann, F., et al.: Auto-
abstract business model in a standardized manner. It can matic topology completion of tosca-based cloud applications. In: GI-
Jahrestagung. pp. 247–258 (2014)
reduce deployment and migration time of application [15] Homer, A., Sharp, J., Brader, L., Narumoto, M., Swanson, T.: Cloud
components enormously. Our CloudCAMP framework design patterns: Prescriptive architecture guidance for cloud applications
can be extended, and the application components are (2014)
[16] Huber, N., Brosig, F., Kounev, S.: Model-based self-adaptive resource
reusable and modularized. allocation in virtualized environments. In: Proceedings of the 6th Inter-
2) Business model verification. Business model will be ver- national Symposium on Software Engineering for Adaptive and Self-
ified via a set of pre-defined constraints, which collected Managing Systems. pp. 90–99. ACM (2011)
[17] Huber, N., Brosig, F., Spinner, S., Kounev, S., Bahr, M.: Model-based
by reverse engineering and prototyping. self-aware performance and resource management using the descartes
3) Model@Runtime framework. We will monitor and reflect modeling language. IEEE Transactions on Software Engineering (2016)
the current system information in the model-level, so the [18] Humble, J., Molesky, J.: Why enterprises must adopt devops to enable
continuous delivery. Cutter IT Journal 24(8), 6 (2011)
business user can understand application design state and [19] Keller, A., Hellerstein, J.L., Wolf, J.L., Wu, K.L., Krishnan, F.: The
can override the architecture if necessary. champs system: change management with planning and scheduling. In:
4) Integration of Resource Management Techniques. To Network Operations and Management Symposium, 2004. NOMS 2004.
IEEE/IFIP. vol. 1, pp. 395–408. IEEE (2004)
build the context-aware self-service framework, we will [20] Ledeczi, A., Maroti, M., Bakay, A., Karsai, G., Garrett, J., Thomason,
integrate the resource management algorithm, which C., Nordstrom, G., Sprinkle, J., Volgyesi, P.: The generic modeling
will trigger the addition or migration of application environment. In: Workshop on Intelligent Signal Processing, Budapest,
Hungary. vol. 17, p. 1 (2001)
components to scale the system based on demand. [21] Loope, J.: Managing Infrastructure with Puppet. ” O’Reilly Media, Inc.”
(2011)
[22] Lu, H., Shtern, M., Simmons, B., Smit, M., Litoiu, M.: Pattern-based de-
R EFERENCES ployment service for next generation clouds. In: Services (SERVICES),
2013 IEEE Ninth World Congress on. pp. 464–471. IEEE (2013)
[1] Ardagna, D., Di Nitto, E., Casale, G., Petcu, D., Mohagheghi, P., [23] Maróti, M., Kecskés, T., Kereskényi, R., Broll, B., Völgyesi, P., Jurácz,
Mosser, S., Matthews, P., Gericke, A., Ballagny, C., D’Andria, F., et al.: L., Levendovszky, T., Lédeczi, Á.: Next generation (meta) modeling:
Modaclouds: A model-driven approach for the design and execution of Web-and cloud-based collaborative tool infrastructure. MPM@ MoD-
applications on multiple clouds. In: Proceedings of the 4th International ELS 1237, 41–60 (2014)
Workshop on Modeling in Software Engineering. pp. 50–56. IEEE Press [24] Morin, B., Barais, O., Jezequel, J.M., Fleurey, F., Solberg, A.: Models@
(2012) run. time to support dynamic adaptation. Computer 42(10) (2009)
[2] Arnold, W., Eilam, T., Kalantar, M., Konstantinou, A.V., Totok, A.A.: [25] Narain, S., Levin, G., Malik, S., Kaul, V.: Declarative infrastructure
Pattern based SOA deployment. Springer (2007) configuration synthesis and debugging. Journal of Network and Systems
[3] Barve, Y., Patil, P., Bhattacharjee, A., Gokhale, A.: Pads: Design and Management 16(3), 235–258 (2008)
implementation of a cloud-based, immersive learning environment for [26] Nelson-Smith, S.: Test-Driven Infrastructure with Chef: Bring Behavior-
distributed systems algorithms. IEEE Transactions on Emerging Topics Driven Development to Infrastructure as Code. ” O’Reilly Media, Inc.”
in Computing PP(99), 1–1 (2017) (2013)
[4] Blair, G., Bencomo, N., France, R.B.: Models@ run. time. Computer [27] OASIS: Topology and orchestration specification for cloud appli-
42(10) (2009) cations. http://docs.oasis-open.org/tosca/TOSCA/v1.0/TOSCA-v1.0.pdf
[5] Breitenbücher, U., Binz, T., Képes, K., Kopp, O., Leymann, F., Wet- (2013), oASIS Standard
tinger, J.: Combining declarative and imperative cloud application pro- [28] Peiris, C., Sharma, D., Balachandran, B.: C2tp: a service model for
visioning based on tosca. In: Cloud Engineering (IC2E), 2014 IEEE cloud. International Journal of Cloud Computing 1(1), 3–22 (2011)
International Conference on. pp. 87–96. IEEE (2014) [29] Schmidt, D.C.: Model-driven engineering. COMPUTER-IEEE COM-
[6] Breitenbücher, U., Binz, T., Kopp, O., Leymann, F., Wieland, M.: PUTER SOCIETY- 39(2), 25 (2006)
Context-aware provisioning and management of cloud applications. In: [30] Shekhar, S., Chhokra, A.D., Bhattacharjee, A., Aupy, G., Gokhale,
International Conference on Cloud Computing and Services Science. pp. A.: Indices: Exploiting edge resources for performance-aware cloud-
151–168. Springer (2015) hosted services. In: Fog and Edge Computing (ICFEC), 2017 IEEE 1st
[7] Di Cosmo, R., Eiche, A., Mauro, J., Zacchiroli, S., Zavattaro, G., International Conference on. pp. 75–80. IEEE (2017)
Zwolakowski, J.: Automatic deployment of services in the cloud with [31] Tekiner, F., Keane, J.A.: Big data framework. In: Systems, Man, and
aeolus blender. In: International Conference on Service-Oriented Com- Cybernetics (SMC), 2013 IEEE International Conference on. pp. 1494–
puting. pp. 397–411. Springer (2015) 1499. IEEE (2013)
[8] Eilam, T., Elder, M., Konstantinou, A.V., Snible, E.: Pattern-based [32] Urgaonkar, B., Pacifici, G., Shenoy, P., Spreitzer, M., Tantawi, A.: An
composite application deployment. In: 12th IFIP/IEEE International analytical model for multi-tier internet services and its applications. In:
Symposium on Integrated Network Management (IM 2011) and Work- ACM SIGMETRICS Performance Evaluation Review. vol. 33, pp. 291–
shops. pp. 217–224. IEEE (2011) 302. ACM (2005)
[9] Fehling, C., Leymann, F., Retter, R., Schumm, D., Schupeck, W.: An [33] Yassa, S., Chelouah, R., Kadima, H., Granado, B.: Multi-objective
architectural pattern language of cloud-based applications. In: Proceed- approach for energy-aware workflow scheduling in cloud computing
ings of the 18th Conference on Pattern Languages of Programs. p. 2. environments. The Scientific World Journal 2013 (2013)
ACM (2011) [34] Zheng, T.: Model-based Dynamic Resource Management Multi Tier
[10] Feinerer, I.: Efficient large-scale configuration via integer linear pro- Information Systems. Ph.D. thesis, Carleton University Ottawa (2007)
gramming. Artificial Intelligence for Engineering Design, Analysis and
Manufacturing 27(01), 37–49 (2013)
[11] Gambi, A., Toffetti, G., Pautasso, C., Pezze, M.: Kriging controllers for
cloud applications. IEEE Internet Computing 17(4), 40–47 (2013)
[12] Giannakopoulos, I., Papailiou, N., Mantas, C., Konstantinou, I.,
Tsoumakos, D., Koziris, N.: Celar: automated application elasticity
platform. In: Big Data (Big Data), 2014 IEEE International Conference
on. pp. 23–25. IEEE (2014)