modaclouds - underpinning the leap to devops movement on clouds scenarios

24

Upload: oliver-barreto

Post on 15-Jan-2015

1.035 views

Category:

Technology


2 download

DESCRIPTION

MODAClouds - Underpinning the Leap to DevOps Movement on Clouds scenarios is a white paper made with the intention to provide insights of MODAClouds project and easily identify valueble usage by cloud players

TRANSCRIPT

Page 1: MODAClouds - Underpinning the Leap to DevOps Movement on Clouds scenarios

MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments

Page 2: MODAClouds - Underpinning the Leap to DevOps Movement on Clouds scenarios

MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments

Executive SummaryToday, most organizations face high market pressure, and their supporting IT departments are struggling to accelerate the delivery of IT-based services and applications while preserving production and operations stability. This pressure is mounting and is becoming even more demanding with the advent of cloud computing and of public cloud services.

Frequently, IT operations lack understanding and appreciation of business or service urgent requirements. Equally, development and product/service teams can lack a clear understanding of IT operational constraints. These issues are even magnified in outsourcing scenarios where there is limited opportunity for knowledge transfer and collaboration. In this context, DevOps1 movement is an emerging capability which addresses the common disconnection problem found in almost every IT department between Development and Operations groups. The goal of DevOps is to achieve a better delivery lifecycle by eliminating silos and integrating ‘Dev’ and ‘Ops’ activities to be fully complimentary, with people sharing the same goals and working hand in hand with new and improved tools and collaborative processes. DevOps can provide many benefits to organizations, specially focusing on People, Processes and Tools.

MODAClouds can be seen as part of the DevOps movement as it provides a set of tools that facilitates adoption of business and technical requirements very early into the application lifecycle and enables operations monitoring and portability capabilities to comply with expected operational quality levels. Moreover, MODAClouds:

Thanks to MODACloudsML language, it enables the specification of such requirements at design time and enables creation of cloud application architectures regardless of underlying infrastructures. ‘Dev’ and ‘Ops’ resources can work side by side to ensure cloud applications are designed to meet production environment conditions, and more important, taking into account business requirements.

Includes a standardized set of tools and metrics, enabling monitoring and interoperability at runtime, that prevent double handling of information between development and operations while providing Application Quality and Performance Assurance for testing or production scenarios. It also provides a Decision Support System (DSS) that facilitates developers and operators deployment work by analyzing and comparing different Cloud options for the designed architecture along with its set of predefined requirements.

1 DevOps: http://en.wikipedia.org/wiki/DevOps

Page 2

Page 3: MODAClouds - Underpinning the Leap to DevOps Movement on Clouds scenarios

MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments

Helps automating processes since it includes Semi-Automatic code generation for multiple target clouds enabling faster and automated deployment. Other capabilities that are worth mentioning are the automated selection of cloud venue according to requirements for deployment and self-adaptation according to performance monitoring

The idea of MODAClouds is to propose tools that take the requirements from Dev teams, apply them on the Ops side, and then close the circle by feeding information and insights extracted from running environments back to Dev side to improve or correct cloud applications.

The world is a demanding environmentEnterprises are nowadays pressured by the market to fulfill customers’ demands with more rapid, innovative, customized, or highly demanding reliability and service quality. Organizations are now challenged to span the silos threatening critical business systems. But how will they meet these demands at a time when budgets and resources are constrained? How will they perform at increasingly high levels at a moment of exploding complexity? How will they accelerate time to market without reducing quality of the service that can harm the business? How can they simplify application portfolio management, or providers’ service quality assurance? Not only they have to find solutions to these questions, but also, they must develop the enabling software faster, with higher quality, and under IT costs and resources constrains.

In this context, Cloud computing has emerged as a major trend in the IT industry that promises to address the above issues. Cloud scenarios have proven to provide agility and flexibility to organizations. However:

a) Cloud industry is focused on considering the perspective of Cloud providers, by offering mechanisms for auto-scaling of Clouds infrastructures and for interoperability and federation between multiple Clouds.

b) Cloud computing also introduces new technical challenges specific to Cloud environments and the current myriad of solutions on the market for different levels of the cloud stack.

c) As private clouds gain popularity, enterprises are replicating similar strategies within their own organizations to the ones used for public clouds.

Thus, despite the flexibility of clouds environments, Cloud business models and technologies are in their initial hype stage and are characterized by many critical early stage issues that pose specific challenges from a software engineering perspective. Specifically:

“one of the most pressing issues with respect to Cloud computing is the current difference between the individual vendor approaches, and the implicit lack of interoperability. Whilst a

distributed data environment (Infrastructure-as-a-Service or IaaS) cannot be easily moved to any

Page 3

Page 4: MODAClouds - Underpinning the Leap to DevOps Movement on Clouds scenarios

MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments

platform provider (Platform-as-a-Service or PaaS) and may even cause problems to be used by a specific service (Software-as-a-Service or SaaS), it is also almost impossible to move a

service/image/environment between providers on the same level”2.

This increases application design and operational requirements, and also demands for a common approach in which development and operation teams are able to react in real time throughout the application lifecycle and assure quality and performance needs.

Therefore, Cloud Computing introduces a number of technical challenges and requirements for systems developers and operators that will severely impact on sustainability of Business Models, especially for SMEs that have limited resources and do not have the strength to influence the market. In particular the MODAClouds team identifies the following problems:

Vendor Lock-in. The risk of technological lock-in is a major concern for Cloud customers. Cloud providers, in fact, offer proprietary solutions that force Cloud customers to decide, at the early stages of software development the design and deployment models to adopt (e.g., public vs. hybrid Clouds) as well as the technology stack (e.g., Amazon Simple DB vs. Google Bigtable). Lack of past expertise in Cloud computing makes this a high-risk choice, especially for SMEs. This, if the target platform does not fulfill the original expectations, has potentially catastrophic business consequences. Thus, portability of applications and data between Clouds, as well as reversibility (moving applications and data from Cloud to non-Cloud environments) should be addressed.

Risk Management. There are several concerns when selecting a Cloud technology such as payment models, security, legal and contractual, quality and integration with the enterprises architecture and culture. Thus, proper tools to support such choice could be beneficial and limit serious financial consequences for a SME. While risk management has been well coded for traditional IT systems, at present only embryonic tools and decision support methods exists to support the selection of a specific target Cloud, or the decision-making process to move from Cloud to Cloud in case requirements or services change. Late binding to a specific target Cloud can decrease project failure risks, but at the moment is not supported either at the design or at the run-time level.

Quality Assurance. Cloud performance can vary at any point in time. Elasticity may not ramp at desired speeds. Unavailability problems exist even when 99.9% up-time is advertised (e.g., Amazon EC2 and Microsoft Office 365 outages in 2011). Given the criticality of many business applications, analytical techniques are needed to predict QoS and to reason on software systems properties at design-time, but also run-time mechanisms and policies able to provide end-to-end quality.

2 SSAI Expert Group Report 2010, “The Future of Cloud Computing: http://cordis.europa.eu/fp7/ict/ssai/docs/cloud-reportfinal.pdf

Page 4

Page 5: MODAClouds - Underpinning the Leap to DevOps Movement on Clouds scenarios

MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments

IT industry has always found the way to adapt to new conditions to help organizations adopt and reach their goals. During the last years, the DevOps movement has gained significant momentum with Cloud Computing as one of its main success drivers. A key study (“The Business Case for DevOps: A Five-Year Retrospective” by Lawrence Fitzpatrick and Michael Dillon), which reviewed the results of DevOps activities over a five period, established the significant adoption benefits shown next.

Organizations from across industries have recognized the need to close the gap between development and operations teams if they want to remain innovative and responsive to today’s growing business demands. This movement focuses on a new way of doing things, an approach that tries to improve People, Processes and Technology and is being founded at least on the following main aspects: i) using agile development methodologies; ii) increasing demands on the rate of production releases from business stakeholders; iii) growing availability of virtualized and cloud infrastructure from internal and external providers; and iv) increasing the usage of data center automation and software configuration management tools.

While collaboration and methodology are key for embracing the DevOps movement, there are still technology hurdles on the road waiting to be solved.

New tools are therefore needed in the emerging Cloud market to align development, IT operations and business goals under DevOps movement that help IT departments provide the following capabilities:

• Business Needs and Technical Quality of Service: All types of organizations need to move fast, and need to align IT assets to their needs (create new assets or adapt existing ones). Therefore, IT departments need to assure that their IT platforms and infrastructures are flexible enough to adopt changes, regardless of the type of IT infrastructures used to create those business applications, whether they are built over public cloud services; private clouds; or hybrid or multi-clouds environments. In other words, they should avoid vendor lock-in as much as possible.

Also important is the fact that applications should be designed and implemented to be run at planned availability and quality of service levels with an optimized, while at the same time, loosely-couple from its underlying system infrastructure, that changes accordingly to fluctuant technical and business requirements over time, which generates higher returns on DevOps investments and enables organizations to respond to market needs.

Page 5

Page 6: MODAClouds - Underpinning the Leap to DevOps Movement on Clouds scenarios

MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments

• Cloud Infrastructure & Resource Planning: IT staff, no matter if they are architects, developers or operators, should plan and prioritize the application management and resource allocation to focus efforts and resources around projects that are critical from the business perspective. Tools for automating processes are vital to eliminate complexity and guarantee business quality policies along application life-cycle.

• Performance Monitoring and Assessment: performance of applications should be monitored in testing and production environments, with metrics and data that feedback directly and quickly to development teams for faster testing, improvement and adjustment to meet service level goals.

Access to live data gathered by monitoring engines should also provide performance data for observed applications in production to gauge the need for additional capacity, whether on premise cloud or public cloud based infrastructures, and assist application architects and developers in building toward an optimized target infrastructure.

“Agile Development” is perhaps the biggest driver of DevOps movement, and it is so because its processes start by having developers being constantly informed about accurate information of business needs, deployment requirements, improvements and problems to fix. Those processes can be further improved by delivering critical deployment and operational information back to developers and operation engineers allowing with the right tools, creating a team that provisions, monitors, manages, supports, and troubleshoots software.

In summary, DevOps trend encourages a more aligned IT department with business needs, under a more collaborative and productive relationship between development and operations teams to create a more synchronized and unified environment that facilitates an improved and more efficient design, testing, deployment and operation of software to meet market demands and sustain business models. If done right, taking into account People, Processes and Technology, organizations can limit risk at business level and be more flexible and efficient.

Why MODAClouds in a DevOps Environment?MODAClouds is here to help developers and operators. The tools that MODAClouds provide help lower existing barriers between

Page 6

Page 7: MODAClouds - Underpinning the Leap to DevOps Movement on Clouds scenarios

MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments

Development and Operations Teams and help embrace DevOps practices within IT teams to change and improve the way software is created and operated. This means that MODAClouds software tools can help organizations of any size to Build and Run Cloud Applications driven by business and technical needs and quality requirements.

MODAClouds solution can be understood as a set of supporting tools that underpins DevOps strategies since it helps organizations empower development and operation teams with capabilities already discussed above:

- MODAClouds introduces Business and Technical perspective into account when designing cloud application architectures and its operational requirements to comply with business and functional quality levels; freeing its implementation from being locked-in to specific vendor’s solutions.

- MODAClouds provides a framework that helps build once and deploy on different underlying infrastructures; freeing developers of specific vendors’ frameworks and technologies.

- MODAClouds allows the possibility of adapting and migrating cloud applications to better execution venues as conditions on running environments change, all according to a predefined list of requirements, both at business and technical level, to fulfill and assure quality.

- MODAClouds Monitoring capabilities give DevOps teams an overview of operational data that will help design and operate applications in a more optimized way.

- MODAClouds helps blurring the line between ‘dev’ and ‘ops’ teams, by providing them with new tools that support the whole life-cycle phases of a Cloud-based software system, putting them in position to better satisfy business needs.

Therefore, MODAClouds embraces the idea of DevOps movement where development and operations teams are seeking new ways to work together and enhance overall system performance along the full application life-cycle (plan, design, build, deploy, test, operate and maintain) to comply with business and technical requirements.

The following sections of this white paper present MODAClouds’ (a MOdel-Driven Approach for the design and execution of applications on multiple Clouds)

Page 7

Page 8: MODAClouds - Underpinning the Leap to DevOps Movement on Clouds scenarios

MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments

solution and a real use case scenario to explain how it can help organizations adopt modern workflows with the right tools.

MODAClouds’ Solution and Advantages

MODAClouds’ Workflow: Build and Run, Together!To ensure efficient design, development, deployment, testing and operation, DevOps teams need a modern approach with modern tools to improve development environments across the application development lifecycle. To help on that task, MODAClouds proposes an advanced quality-driven design, development and operation method based on the Model-Driven Development (MDD) paradigm. The

model-driven approach allows one to “model once and run everywhere.” In addition, and early analysis of models, regarding performance characteristics and user constraints, is supported and drives the ability to migrate a software solution to multi-Clouds. Applications developed using the MODAClouds framework will be designed at high-level to abstract the design from the targeted Cloud, and then semi-automatically translated into code able to be run and monitored on multi-Cloud platforms. This frees developers from the need to commit to a fixed Cloud technology stack during software design and increases available options for reaching business targets in terms of cost savings, risk management, Quality-of-Service (QoS), and flexibility in the development process.

MODAClouds starts providing a Cloud Application Modeling Language and framework (MODACloudML Language) to create applications from an agnostic perspective of the underlying

infrastructure, which will include agility and flexibility on later infrastructure selection, while complying and seeking with Business requirements and goals.

Then, during deployment feasibility study, when various Cloud alternatives are analyzed, our Decision Support System (DSS) enables developers and operators to analyze and compare various Cloud options. This is where Development and Operations team meet together to define what’s best for an application, how it should behave and how it should respond from the operational and the architecture perspective. The requirements evolve during application life-time since the monitoring system gathers live data and feeds back information to DevOps

Page 8

Page 9: MODAClouds - Underpinning the Leap to DevOps Movement on Clouds scenarios

MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments

team to enhance the application itself or its running conditions. In fact, developing applications for multi-Clouds may impact established enterprise procedures and business models. MODAClouds also provides a framework with metrics (e.g., business stability, on-going cost, or availability) that are needed to quantify the notion of risk for a particular choice relatively to the ecosystem in which it will evolve. The decision models included in the DSS comprise risk management and take into account variability in Cloud resource prices across time (e.g., Amazon spot instances), geographic location, performance, legal aspects, etc. It also includes guidelines for their extension. In developing the DSS, we take advantage of established model-driven risk and quality analysis methods such as CORAS [7] and PREDIQT [8], as well as Cloud business models [9].

During design, implementation and deployment, the MODAClouds Integrated Development Environment (IDE) supports a Cloud-agnostic design of software systems, the semiautomatic translation of design artifacts into code, and the automatic deployment on the targeted Clouds.

For the operational part, the run-time layer offered by MODAClouds a) it handles a range of requirements definition attributes to the design framework to be used by development team; b) enables system operators to oversee the execution of the system on multiple Clouds; c) automatically triggers some adaptation actions (e.g., migrate some system or components from a IaaS to another offering better performance at that time); and d) provides run-time information to the design-time environment (the IDE) that can inform the software system evolution process.

MODAClouds in DetailIt is clear now that MODAClouds helps closing the gap between both, development and operations teams, and empowers creation of synergies for DevOps strategies. But how do all these tools work in detail? What are the insights of the technical approach followed by MODAClouds?

Digging deeper into technical details about how MODAClouds works, Figure 1 represents an overview of the MODAClouds solution. It shows the DSS at the top and the run-time layer at the bottom, and details the internal of the IDE that is at the core of the MODAClouds approach. As already mentioned, it follows a MDD approach and, thus, it allows system developers to construct/elaborate system design models at different levels of abstraction. At all levels, the IDE offers also mechanisms for estimating QoS and costs of the system under development in order to verify that the implementation matches the requirements. Moreover, it supports designers in understanding the implications of deploying, replicating and migrating data at one site and in making appropriate decisions on this issue. At the Cloud-enabled Computation Independent Model (CIM) level applications and data are designed by exploiting the main components typical for service-oriented applications and by including the design artifacts information about non-functional requirements and constraints (see the top level part of the right side of Figure 1). This last information is used by a reasoning plugin of the IDE that helps in optimizing the matching between the target Cloud environments and application characteristics.

Page 9

Page 10: MODAClouds - Underpinning the Leap to DevOps Movement on Clouds scenarios

MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments

Figure 1 – Overview of MODAClouds Solution

CIM artifacts are semi-automatically translated and further refined at the Cloud-Provider Independent Model (CPIM) level, where Cloud concepts (including IaaS, PaaS, and SaaS level elements and considering the specificities of public, private and hybrid deployments as well) are incorporated and kept abstract from any Cloud specific installation (see the middle level part of Figure 1(b)). This level incorporates and extends the REMICS approach for modeling Clouds and includes some Cloud design patterns that will be identified from a study of the way applications exploit Cloud capabilities today.

Finally, CPIM artifacts are semi-automatically translated into a Cloud-Provider Specific Model (CPSM) that enables the creation of those deployment artifacts that are needed to install and operate the application on the selected Clouds (see the bottom level part of Figure 1(b)).

The framework will allow defining models through domain specific languages. Vertical transformation will be implemented with state-of-the-art approaches to support model transformation. Specialized approaches (e.g., ATL, Kermeta), as well as generic approaches (e.g., Scala), will be considered, targeting the most complete integration in the complete tool chain (i.e., the IDE). Some transformation can be fully automated, e.g., the generation of a deployment script based on a deployment descriptor artifact. But some transformation can only be semi-automated,

Page 10

Page 11: MODAClouds - Underpinning the Leap to DevOps Movement on Clouds scenarios

MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments

i.e., the generation of skeleton instead of complete code. They will require an involvement of the user to provide additional information. The only way to avoid this is to capture more technical details in the abstract models, which is not an option w.r.t. our objective of abstraction at the Cloud model level.

MODAClouds provides also support for the migration of existing software into Cloud-based applications, extending the REMICS approach. In particular, it enables the exploitation of pre-existing application workload profiles for supporting the optimal partitioning of software components and data on multiple platforms.

A closed-loop between the run-time and design-time environments triggers the dynamic redeployment of the final application or of its components. This way, system developers and operators are able to adapt their system to changing contexts and requirements both reacting to long-term failures of the Cloud providers and exploiting Cloud additional services or improved performance (e.g., new virtual machine instances or reduced prices). MODAClouds provides technical tools that facilitate DevOps teams work together in a new way for Cloud applications.

MODAClouds Solution in Practice

A Real Use CaseIn order to provide the intuition of the benefits that a MDD approach can deliver to Cloud development, we consider a real example. MODAFIN is a European software development company specialized in IT applications for financial services. Its main product line is a proprietary solution for stock market operations, cash administration, and lending management. Related to this product, the most profitable activities are software customization and life-cycle management.

The former involves development of custom modules to accommodate new functional requirements. Customization also involves application integration with existing databases and legacy business systems at the customer’s site. In addition, customers in the trading sector require assured quality, such as high-availability for real-time calculations during market hours, and scalability and low operational costs for batch analytic workloads running after-hours. MODAFIN currently fulfills these quality requirements with a capacity management consultancy team following the application life-cycle at the customer’s site.

With the adoption of Cloud, MODAFIN’s customer requirements evolve rapidly. At night, customers want to

Page 11

Page 12: MODAClouds - Underpinning the Leap to DevOps Movement on Clouds scenarios

MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments

run their batch analytic workloads at the cheapest operational costs of Amazon on-spot instances. During the day, calculation engines are expected to ramp-up computing power at an unprecedented pace when the stock market gets volatile. Moreover, some customer applications are collecting and processing stock market data directly on the Cloud using PaaS data store services such as Google Big Table and Amazon SimpleDB. At the same time, customers are cutting costs spent in consultancy services for life-cycle management as they are relying more and more on SaaS services.

To remain competitive, MODAFIN’s solution must evolve to address all above requirements. To do so, the company needs to revise both the software development process and its life-cycle management services:

1) The solution must support integration of the existing legacy with a broad spectrum of customer PaaS/IaaS, and possibly, SaaS solutions in order to exploit customer data locality.

2) It needs to be replicated on several Clouds to provide quality assurance to avoid that availability or performance outages of a single Cloud provider would turn into a disaster for MODAFIN’s own business.

3) It must also have a flexible architecture that could be adapted to new Cloud offers emerging in the next 5-10 years to adapt to changes of context and requirements.

4) The life-cycle management team, rather than providing support at the customer’s site, must support a system deployed on multi-Clouds.

This scenario and set of requirements sounds good to facilitate the right tools put up in practice DevOps movement techniques for processes and letting people work in a new way.

MODAClouds to the RescueThe MDD approach allows one to design, develop, and re-engineer existing components into software modules that operates directly on multiple Clouds. It is of paramount importance for MODAFIN.

- The MDD approach allows one to include in the design model a description of MODAFIN’s legacy software and generates automatically interfaces and connectors for application integration with customer systems for all of the supported target platforms.

Page 12

Page 13: MODAClouds - Underpinning the Leap to DevOps Movement on Clouds scenarios

MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments

Workloads can be run on different platforms depending on the customer preferred PaaS data-store and hence enjoy the performance benefits of customer data locality.

- The Decision Support System (DSS) can be used to determine which Cloud to adopt for hosting the different components of new solutions, comparing costs, risks, and analyzing nonfunctional characteristics for each alternative provider, improving also the trust in Cloud solutions.

- Furthermore, the run-time management API (independent of Cloud vendors) could be beneficial to natively implement Cloud-to-Cloud migration and multi-Cloud load-balancing, or assuring fulfillment of technical and business oriented requirements for underlying infrastructure or service providers, that assure meeting today’s demanding needs.

- Finally, run-time operation can be easily integrated inside MODAFIN’s software development process through a feedback system that automatically provides recommendation on the best design and deployment patterns for a new custom module, thus making it able to adapt to context and requirements changes.

Using MODAClouds’ software, MODAFIN can then remain a leader in its sector and neutralize competitive advantages of emerging start-ups that have developed their solutions directly on the Cloud.

Using MODACloudsWhen an investment request is received, the application obtains information about several stocks from rating agencies, which are accessed as SaaS. Subsequently, the application determines the best stock market where to place the order (Order analysis operation) and the current stock prices are retrieved. In the following, the application places an order on behalf of the customer at the selected stock exchange. When the stock exchange acknowledge message is received (indicating the successful proceeding of the order transaction) the application performs a transaction on the customer trading account. At the CIM layer (figure 2) the application is annotated with its expected workload profile. Furthermore, performance and availability constraints are introduced. Availability requirements are of paramount importance for the application, which must be deployed on multi-Clouds. The annotations can be part of any other model at the business level such as business process models or even use cases. Moreover, the analysis operation has to be performed extremely quickly (within 0.5s).

Page 13

Page 14: MODAClouds - Underpinning the Leap to DevOps Movement on Clouds scenarios

MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments

Figure 2 - MODAFIN Trading Application Design with MODAClouds.

Figure 2 shows how the CIM is mapped to the CPIM. Assuming that Amazon EC2 and Microsoft Azure are selected, the CPIM is translated into two CPSMs. Figure 3 shows the planned number of EC2 instances and Azure Worker roles over a 24 hours period, assuming that the incoming workload is evenly shared among the two Cloud providers. This planning is determined, assuming a 20-30% degradation of the Cloud providers’ performance during the peak hours of the day. The sizing has been obtained by modeling the VMs as M/G/1 processor sharing queues characterized by time varying parameters and by observing that Azure Workers are 30% slower than the selected EC2 instances. This planning, determined at design time, is used and continuously updated at run-time to properly manage the application.

Figure 3 - Computing Resources for the Trading Application.

ConclusionsThis paper presents MODAClouds’ project ongoing research on implementing a framework and IDE for developing and deploying applications in multi-Clouds to improve the way development and operations team work and align their efforts to be more agile, efficient and provide the means to

Page 14

Page 15: MODAClouds - Underpinning the Leap to DevOps Movement on Clouds scenarios

MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments

comply with business needs to survive in today’s demanding market conditions. MODAClouds tools are intended to facilitate organizations embrace DevOps strategies in the context of Cloud applications.

The MODAClouds’ approach presents various ways to improve integration among development and operation teams for Cloud environments:

• The MDD approach abstracts the complexity of Cloud platforms and allows early definition and assessment of quality for deployment and runtime, both at design time. In particular, MODAClouds is powered a Cloud Application Modeling Language and framework, MODACloudML Language which enable better deployment and run-time control by including the quality measures for applications on multi-Clouds scenarios.

• A Decision Support System (DSS) enables risk analysis for the selection of underlying Cloud infrastructure or provider and for the evaluation of the impact of the Cloud adoption on internal business processes. Our system explicitly addresses the peculiarities of Clouds, e.g., the fluctuations in the customer workloads, burstiness and flash crowds phenomena, and the variability of Cloud performance. Furthermore, MODAClouds provides a framework for specifying QoS Constraints at the CIM level and for estimating the QoS characteristics of applications deployed on multiple Clouds at the CPIM and CPSM levels. Proper feedback mechanisms and guidelines for the selection of Cloud solution that better suit the non-functional requirements and constraints defined for the application under development are also proposed.

• An abstract framework for the deployment and operation of multiple Clouds to ensure the independence from the provider from an agnostic point of view when designing cloud applications. MODAClouds considers the more complex case of distributed deployment, when components of a certain application may be distributed across two or more Cloud providers (private or public) adopting different technologies, performance ratios or business and service attributes.

• The Run-Time Environment monitors the applications in the Clouds and provides feed-back for adaptation and optimization. MODAClouds’ ambition is to provide a platform for development, deployment, monitoring, and adaptation (both at run-time and in the long term) of future cloud applications, with support for development from scratch or from legacy systems.

MODAClouds tries to help organizations embrace DevOps movement with a set of tools engineered to provide assistance throughout the full application lifecycle. It starts enabling Development teams translating business and technical requirements early. These requirements will be translated into Operations, and thanks to the monitoring engine, feedback will be provided

Page 15

Page 16: MODAClouds - Underpinning the Leap to DevOps Movement on Clouds scenarios

MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments

back to dev teams and automated decisions will assure the correct execution and adaptation of cloud applications.

There are some commercial products already on the market that simplify the use of multiple Clouds at run-time. However, MODAClouds takes a step further and aims, not only at simplifying management, but offering a comprehensive approach to the problem of designing cloud software. MODAClouds considers cloud applications to be run on a multiple-cloud scenario, possibly accommodated on different cloud providers (private or public). MODAClouds approach is to provide such functionalities with an agnostic approach that also takes into account business and technical needs and constrains for both, development and operations, from the very beginning of the application life-cycle.

AcknowledgementsThe MODAClouds project is partially supported by the European Commission grant no. FP7-ICT-2011-8-318484 (MODAClouds).

AuthorsThis business oriented paper has been created by MODAClouds Exploitation Team according to the great work made by all members of MODAClouds’ Technical and Management Team:

- Politecnico di Milano: Elisabetta Di Nitto, Danilo Ardagna, Michele Ciavotta, Giovanni Paolo Gibilisco, Marco Miglierina

- SINTEF: Arnor Solberg, Aida Omerovic, Franck Chauvel, Nicolas Ferry

- IEAT: Dana Petcu, Ciprian Craciun

- Imperial College: Giuliano Casale, Juan F. Pérez, Weikun Wang

- Softeam: Andrey Sadovykh, Marcos Almeida

- Siemens: Cosmin Septimiu Nechifor,

- BOC: Harald Kühn, Alexander Gunka, Boris Gregorcic, Stepan Seycek

- Flexiant: Craig Sheridan, Tabs Sharif

- Atos: Francesco D’Andria, Oliver Barreto

- CA: Peter Matthews, Victor Muntés-Mulero

Page 16

Page 17: MODAClouds - Underpinning the Leap to DevOps Movement on Clouds scenarios

MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments

Page 17