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
2. MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments
Executive Summary
Today, 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
3. 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 environment
Enterprises 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
platform provider (Platform-as-a-Service or PaaS) and may even cause problems to be used by a
Page 3
4. MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments
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 decisionmaking 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.
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
2
SSAI Expert Group Report 2010, “The Future of Cloud Computing:
http://cordis.europa.eu/fp7/ict/ssai/docs/cloud-reportfinal.pdf
Page 4
5. MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments
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.
•
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
Page 5
6. MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments
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
DevOps Environment?
a
MODAClouds is here to help developers and
operators. The tools that MODAClouds provide
help
lower
existing
barriers
between
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.
Page 6
7. MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments
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)
solution and a real use case scenario to explain how it can
help organizations adopt modern workflows with the right
tools.
Page 7
8. MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments
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
team to enhance the application itself or its running
conditions. In fact, developing applications for multiClouds 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
Page 8
9. MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments
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 Detail
It 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
10. MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments
Goal: Cost & Risk Analysis
High-level Model-Driven
Application Design
Decision making
New or legacy
applications design
CIM
Goal: Verification & validation of requirements
QoS property analysis
1
Code development
4
Management
DSS
Availability
24h/day
Semi-automatic transformation
2
5
Design-time
Automatic deployment
Response time <0.4s
3
CIM
CPIM
CPIM
Developer
key-valued
key-valued
DB
DB
Continuous changes
for changing context
and requirements
CPSM
IDE
A
Reliable
Resource
Deploy
on Public
Cloud
Goal: Cloud Independent
Model Representation
spanning across all
abstraction layers
B
High perf.
Resource
CPSM
Goal: Cloud Specific
Code Representation
Monitoring & Data syncronization
Run-time adaptation
Run-time
C
Large memory
Resource
B-1
B-1
VM-Large CPU
VM-Large CPU
Instance
Instance
A-2
PaaS
C
PaaS
A-1
A-1
VM-Small CPU
VM-Small CPU
Service
Operator
B-2
PaaS
Inst. numb. >2
Goal: QoS assurance & costs minimization
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,
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
Page 10
11. MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments
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 preexisting 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 Case
In 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 highavailability 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
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
Page 11
12. MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments
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 Rescue
The 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.
Workloads can be run on different platforms
depending on the customer preferred PaaS datastore and hence enjoy the performance benefits
of customer data locality.
Page 12
13. MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments
-
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 MODAClouds
When 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
14. MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments
CIM
CPIM
A
Reliable
Resource
Access rating
agencies
B
High perf.
Resource
Order analysis
key-valued
DB
C
Reliable
Resource
Get stock prices
Response time <0.5s
CPSM
Place order
SimpleDB
Wait for ack from the
stock market
Availability
24h/day
Table Storage
C-1
Large Memory
Instance
A-2
Worker Role
Large
OK
Fail
Update customer
trading account
A-1
Medium CPU
Instance
B-1
Large CPU
Instance
Inst. numb. >2
B-2
Worker Role
Large
C-2
Worker Role
Extra Large
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.
Conclusions
This 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
comply with business needs to survive in today’s demanding market conditions. MODAClouds
Page 14
15. MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments
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 feedback 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
back to dev teams and automated decisions will assure the correct execution and adaptation of
cloud applications.
Page 15
16. MODAClouds, Underpinning the Leap to DevOps Movement on Cloud Environments
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.
Acknowledgements
The MODAClouds project is partially supported by the European Commission grant no. FP7-ICT2011-8-318484 (MODAClouds).
Authors
This 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