MODAClouds has not only created technology for MODAClouds expected goals. The technical team has created various “products” that have been developed during the project in the form of tools generated with MODAClouds technologies, or to somehow assist MODAClouds project. Some of them are built using other tools, and provide stand-alone value, or in conjunction with those other tools, for end-users with specific demands.
Tools like Chef and Puppet from ©PuppetLabs have been around for quite a while making DevOps engineers' lives easier. Software deployment and configuration as well as operating system level tasks are performed in an agile, efficient and traceable way. Rolling back a change is a matter of reverting the corresponding change set in the version control system and pushing the older revision to the servers. That is real adaptation of developers' best practices to the domain of operations.
However, when dealing with multi-cloud deployments a new challenge arises. DevOps engineers need to manage infrastructure resources in multiple clouds in an agile, efficient and traceable way as well, and here the state-of-the art configuration management tools are of no big help, as their concepts build on already deployed server instances.
In order to comply with clients’ needs in terms of a wide spectrum of risk considerations such as data location, technical service levels and type of services, cloud providers need to assure deployment in multiple providers as a key requirement. In this context a real multi-cloud solution is needed. You need a solution for managing various IaaS resources including software components' dependencies towards virtual machines.
Here CloudML 4Cloud and its Puppet integration comes to rescue. CloudML 4Clouds has proved to be a perfect solution for this task as it allows to model both - infrastructure and software components - in a graphical modelling tool Creator 4Clouds.
CloudML allows that software components are associated with Puppet modules in the models and the runtime services Models@Runtime technology, included in Energizer 4Clouds is being used for continuous updates of the deployed platform in multiple cloud environments. It does so by ensuring the requested IaaS/PaaS resources are available and by pushing the Puppet manifests to the Puppet master node. This way the agile DevOps approach is extended to the infrastructure layer in a very natural and well integrated way.
Several operations teams use Nagios, Icinga, Zabbix nd similar monitoring tools to track health and performance of the infrastructure they are in charge of and the availability of the business services they host. Those tools are shipped with plugins for monitoring various infrastructure KPIs as well as for various network protocols for monitoring basic availability of the hosted services. When it is required to monitor application specific metrics in detail, things become a bit cumbersome as custom plugins need to be developed for the various aspects to be monitored.
If you are facing the challenge of establishing detailed monitoring for cloud services you need new tools. While Nagios is a well-established tool for infrastructure monitoring, monitoring cloud applications and SaaS business models requires comprehensive monitoring of the various deployed software components distributed across multiple IaaS platforms.
Using Tower 4Clouds as the framework for collecting and analysing metrics in multi-cloud environments enables introducing new metrics at application level in a very efficient way. In order to make those metrics available in Nagios, a gateway component and a corresponding plugin have been developed during MODAClouds Project.
Using this approach the deployment of a new KPI is a matter of configuring the corresponding rule in Tower 4Clouds and associating a service in Nagios with this rule. As an extra benefit, for numeric metrics the time-series visualization component Metrics Explorer can be attached to Tower 4Clouds with minimum effort.
Also check out Tower 4Clouds code and documentation on Github.
Kundera is a JPA 2.1 compliant object relational mapping (ORM) library for NoSQL databases. Kundera makes working with NoSQL databases simple, since it offers a unique layer to seamlessly interact with different NoSQL databases. Moreover, Kundera supports polyglot persistence, allowing a developer to store and fetch related data in different databases using a single method call. ORMs improve developers’ productivity by reducing the time necessary to write applications interacting with a database. Moreover, ORMs help creating portable able w.r.t. different storage layers.
We have created Hegira 4Clouds Data Migration technology that extends Kundera to suppozrt also NoSQL Database-as-a-Service (DaaS); in particular, we have added support for Google DataStore and Azure Tables. These extensions have been proposed to the Kundera community, which is in the process of adding them to the official library.
Kundera library has been integrated within the CPIM library, which is now able to support 9 different NoSQL databases and all relational databases.
The combined usage of the CPIM library and Kundera allows a developer to create an application whose data can be seamlessly migrated and synchronized in a fault-tolerant way. Without the usage of the CPIM library and Kundera application data can still be migrated, without any fault-tolerance guarantee, but cannot be synchronized; i.e., the application must be shutdown while data are being migrated across databases and databases cannot be kept aligned thereafter.
Check out Hegira 4Clouds Data Migration technology on Github here:
SPACE 4Clouds (System PerformAnce and Cost Evaluation on Clouds) is a tool for specification, assessment and optimisation of QoS characteristics for Cloud applications. It allows users to describe a software architecture by means of MODACloudML and to specify QoS and architectural constraints.
The tool is built on top of the Palladio Bench modelling environment (http://www.palladio-simulator.com/tools/) but it differs significantly from Palladio since it completes the modelling capabilities allowing more expressiveness in the definition of the resource environment and workload specification. Moreover, SPACE 4Clouds allows users to choose among different performance analysis engines, namely, LQNS or the Palladio built-in Simulation engine and it is fully integrated with the LINE performance engine, the only one available nowadays to take into account the performance variability of Cloud applications and to consider very efficiently more advanced metrics (e.g., response time percentile and transient analyses after failures).
There are two lines of work that will distill MODAClouds technologies into Palladio performance evaluation engines and design time exploration tools: MODAClouds LINE and SPACE 4Clouds.
MODAClouds team developed in the very beginning of the project a patch that allows Palladio Bench (the Palladio tool for performance analysis) to use natively LINE as performance engine. Nowadays, our patch has been integrated into Palladio Bench code and we are currently in the process of revision of our code according to Palladio software quality assurance process. In this way LINE can be used as one of the Palladio standard performance engines, which is expected to occur in the next Palladio release.
The Palladio Component Model tool version 4.0 is the latest Palladio-Bench release (01/09/2015) and includes several new features. The current version now supports MODAClouds LINE solver technologies developed in MODAClouds Project. New developments will be announced in the future. Follow us on Twitter