Project COLA (Cloud Orchestration at the Level of Application) members Tamas Kiss and Peter Kacsuk provide an overview about MiCADO (Microservices-based Cloud Application-level Dynamic Orchestrator)
1. Microservice-based, intelligent, application level
cloud orchestration to support fully scalable and
elastic applications on heterogeneous,
distributed, federated clouds
COLA - Cloud Orchestration at the Level of Application
Tamas Kiss
University of Westminster
Peter Kacsuk
MTA-SZTAKI
2. Problem statement
• Industry and public sector applications require resource scalability
and efficient resource utilisation
• to serve dynamic number of customers with dynamic resource demands
• to optimise resource consumption and costs
• Example:
• Company (Outlandish) develops and hosts web based applications for multiple
corporate clients
• Each application has large number of users and utilises large amount of data
• Some applications and databases require their own less or more powerful servers
• Some applications can share their physical infrastructure with other applications in a
secure way
• When demand grows then applications on shared infrastructures may need to be
migrated to their own servers
• If demand was overestimated at set-up (or if falls permanently) then applications need
to be migrated to less powerful or shared resources to optimise costs
3. Illustration of problem statement
Dedicated servers
Shared server
Overloaded
service
Underloaded
service
4. Solution using clouds
• IaaS clouds offer scalability and elasticity – however, applications
cannot automatically and dynamically utilise this feature
• Each application needs to have its own application logic to
dynamically and automatically scale up or down
• Hypothesis:
• Generic set of tools can be designed and implemented that provides dynamic and
automated resource scalability on clouds for all (or at least a very wide range of)
applications.
• This tool can be expressed with a well defined (standardised) interface to be easily
embedded into application control code without changing the original application logic
• This tool can connect to multiple cloud middleware (e.g. EC2, CloudSigma etc.) or
generic cloud access layer (e.g. CloudBroker Platform) via a set of well defined
(standardised) interfaces
• Data consistency, data protection, trustworhtiness and access control are handled in a
secure way when sharing and migrating applications
5. Gap analysis
• There are a large number of cloud orchestration solutions available
• Examples include Juju, Heat, Occopus, etc.
• These orchestration services are relatively low level, do not directly
reach up to the level of applications
• There is a clear gap between cloud infrastructures (and their related
orchestration services) and the actual applications that utilise them
• Currently utilisation of dynamic scalability and elasticity of clouds
needs to be embedded into application logic in a custom way
• The objective of the project is to generalise this embedding and
develop an application level orchestration layer on top of
existing cloud orchestrators and infrastructures
6. Applications on clouds: SoA
• Dynamic resource demand but supply on clouds needs to be manually (or at least in a
custom way) adjusted
7. Applications on clouds: vision
• Measure and predict resource demand of applications dynamically
• Automatically adjust cloud supply to optimise applications for both cost and performance
To be
developed in
the project
8. Project objectives
Overall objective:
• Define a generic pluggable framework: MiCADO
(Microservices-based Cloud Application-level Dynamic Orchestrator)
• that supports optimal and secure deployment and
run-time orchestration of cloud applications,
• provide a reference implementation of this framework
by customising and extending existing, typically open
source solutions,
• demonstrate via large scale close to operational level
SME and public sector demonstrators the
applicability and impact of the solution.
9. Project objectives
Detailed objectives:
• Design, prototype, test and demonstrate a set of services in a generic
framework that cloud application developers can utilise from their
application source code
• Pilot, demonstrate and validate the technical feasibility of the MiCADO
framework in SME and public sector case-studies.
• Validate economic feasibility of the implemented use-cases.
• Define common and widely applicable application templates.
• Access to heterogeneous, federated and distributed cloud resources.
• Develop solutions to address security, reliability and trustworthiness.
• Maximise impact by focused dissemination and marketing campaign.
10. MiCADO: Microservice-based
Cloud Application-level Dynamic Orchestrator
Cloud interface
Coordination interface
Microservices discovery and execution layer
Microservices coordination logic layer
Cloud access API (direct cloud APIs or CloudBroker API)
Worker node 1
Contai
ner
Contai
ner
Contai
ner
Worker node 2
Contai
ner
Contai
ner
Contai
ner
Worker node N
Contai
ner
Contai
ner
Contai
ner
Infrastructure and security requirement
definition 1
Infrastructure and security requirement
definition 2
App1 App2 App4
Application
layer
Application
definition layer
Orchestration
layer
Cloud interface
layer
Cloud instance
layer
Security,privacy
andtrustservices
App3