open-source multi-cloud orchestration and auto-scaling framework

Discover MiCADO v0.8.0

In the past decades, requirements of software systems have changed significantly. Scalability, automation and sustainability now strongly influence the profitability of companies. The foundation for this change is the elasticity of Cloud technologies that supports designing practical solutions in order to scale and automate processes, networks or cloud-native applications according to the changing needs or demands of users. Cloud-native applications are structured as microservices where multiple single services are packaged in containers. Services, such as databases, cloud orchestrators and file storage solutions are deployed as microservices and managed on an elastic cloud infrastructure.

The range of solutions on the market supporting microservices and scalability is merely enormous (most well-known tools include Docker Swarm, Rancher & Kubernetes). However, such solutions require specific expertise when developing secure and scalable application clusters and infrastructures and are also limited regarding their scalability policies. Since January 2017, funded with a grant value of EUR 3,535,000, the European Innovation Action COLA developed MiCADO, a modular multi-cloud framework to automate application deployment and optimise and auto-scale application clusters at run-time both at virtual machine and Kubernetes deployment levels.

After 33 months of collaboration, travelling through Europe and developing MiCADO, Project COLA is coming to its end and is presenting the MiCADO framework.

MiCADO framework

MiCADO Master is deployed on a virtual machine via an Ansible playbook, configured as the Kubernetes Master Node and has installed:

  • the Docker Engine,
  • Occopus to scale VMs,
  • Prometheus for monitoring,
  • the COLA Policy Keeper to act on scaling decisions and
  • the COLA Submitter to provide a submission endpoint.

The MiCADO Master Node supports the operation, management and monitoring of applications based on specific parameters such CPU or network traffic, detecting bottlenecks, and realising the autoscaling control loops. The desired deployment and run-time characteristics of the application are defined in a TOSCA-based Application Description Template (ADT) that provides all relevant information, application requirements, infrastructure characteristics and scaling policies to roll out the Infrastructure and manage the application cluster. Additionally, scaling decision can be further improved with a machine learning based optimiser.

MiCADO’s Industrial Demonstrators

To prove and demonstrate MiCADO’s applicability for industry-scale problems, three near production quality demonstrators and 24 further proof of concepts were implemented during the project’s lifetime. The three large MiCADO demonstrators and a commercial trial are briefly described below.

Time is up for COLA

After 33 months of collaboration, travelling through Europe and developing MiCADO, Project COLA is coming to its end. However, MiCADO will not disappear. The software will be further developed the University of Westminster and MTA SZTAKI and the official distribution partner of MiCADO is cloudSME also providing consulting & development services for companies that want to utilise or extend MiCADO functionalities for the deployment and management of their applications.

The COLA Project received funding from the European Commission’s Horizon 2020 research and innovation programme under grant agreement No 731574. The project website will be maintained for the coming years, presenting information and updates on COLA and MiCADO.