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 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.
Public sector organisations are facing similar challenges to companies: it is hard to identify the needs and requirements of the public. The Aragon Regional Government tackled this issue by monitoring thousands of public service processes and introducing a recommendation system, based on Big Data Analytics and publicly available data such as Twitter tweets, to improve citizens’ interactions with public services. Before introducing MiCADO, the fluctuating demand by users created unpredictable peak-loads on the infrastructure and significantly reduced the quality of the delivered services. Tanks to MiCADO, the recommendation system can now automatically scale the related microservices and resources, and ensure a stable high quality service.
Evacuation plans are required for high hazard fields production areas, like nuclear plants or chemical plants, by the authorities. In case of emergency, time to act is limited and it is needed to have a valid plan to decide and act on. To accomplish this, simulation models need to be set-up and different cases of emergency considered, like single sets of possibilities, starting conditions, while respecting the specific kind of emergency. Evacuation simulation models are computed various times, each scenario runs for multiple replications to allow variance in statistical distributions, for example, different walking speeds. By introducing MiCADO, the simulation of experiments can be restricted to a certain time frame and resources as well as microservices scale based on the desired deadline. This allows running simulations in the desired time while improving the quality of decision-making processes by reducing time-to-decision and providing more information to the decision-maker and improve the confidence of making a decision.
Audience Finder is a national audience data and development tool in the UK that enables cultural organisations to understand, compare and apply audience insight. Before implementing MiCADO, the software was hosted on a large AWS EC2 instance to meet the required computational power and provide seamless services. Outside high peaks the instance was barely used, and the under-utilised resources generated unnecessary costs. To manage peak-loads and server capacities with MiCADO, and to reduce operational costs, WordPress and Audience Finder were dockerised and hosted on small AWS EC2 instances. Within the MiCADO framework, Audience Finder’s microservices can be separately managed, debugged and scaled according to the occurring demand.
Nextcloud is an online storage and collaboration tool. Nextcloud Enterprise is aiming to create a Cloud storage for companies in compliance with internal specifications, the European GDPR and generally accepted accounting principles (GAAP). By joining forces, the MiCADO team and HKN, a German data center are working on the dockerisation of the application enabling automated deployment processes and additional services, such as Disaster Recovery and High Availability of databases and clusters.
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.