1. A DevOps-as-a-Service Framework
UNICORN
Unified DevOps Tool Monitoring & Resource Adaptation Privacy & Security Adoption
Unicorn supports transparent and
automated multi-cloud deployments for
services to span across cloud zones and
geographical regions
Unicorn
Framework
http://www.linc.ucy.ac.cy
http://www.ucy.ac.cy
Demetris Trihinas – trihinas@cs.ucy.ac.cy
Thanasis Tryfonos – a.tryfonos@cs.ucy.ac.cy
Zacharias Geogiou – zgeorg03@cs.ucy.ac.cy
George Pallis – gpallis@cs.ucy.ac.cy
Marios D. Dikaiakos – mdd@cs.ucy.ac.cy
True Multi-Cloud Deployments
Unicorn security and privacy design
libraries prevent data breaches and
ensure customer privacy
Developers develop microservices
through the collaborative Cloud IDE of
Unicorn by annotating the source code
using the design libraries
1
2
Unicorn Meta-Modeler takes as input
the annotated source code and the
runtime policies and produces the
enhanced service graph of the cloud
application
3
Unicorn Smart Orchestrator
reserves the required computing
resources and uses Kubernetes
to deploy and manage the
application as docker containers
4
Administrators use Cloud IDE Plugin and
Unicorn Platform to manage the
application lifecycle (real-time monitoring
and analytics, notifications, policy re-
configuration, service graph editing)
State-of-the-Art
Technologies
Develop secure, elastic, and privacy-
aware cloud applications using the
annotative Design Libraries
Define design-time, run-time and
privacy policies
Initiate the deployment process
Monitor and manage deployed
applications
Validate the submitted for deployment
Unicorn artefacts
Enforce privacy, security and elasticity
policies at run-time and compile-time
Manage the application lifecycle of
deployed applications, resources and
containers on the multi-cloud
execution environment
Execute the application over
the multi-cloud execution
environment
Cloud IDE Plugin
Platform
Multi-Cloud Environment
Unicorn Ecosystem Architecture
Unicorn enabled applications
will be bundled within Docker
containers following the micro-
service architectural paradigm
Unicorn containers are deployed on
host machines running the CoreOS
operating system, a unikernel-like
library-based operating system with
out-of-the-box Docker Engine
support. Other operating systems,
such as Ubuntu Core will be also used
Unicorn uses Kubernetes for
container orchestration. As a
contribution to the open-source
community, Unicorn extends
Kubernetes to enable multi-cloud
deployments. For cloud resource
(de-)allocation Unicorn relies
Arcadia Smart Orchestrator. Finally
Istio acts as an HTTP proxy and
handles traffic between containers
Unicorn Cloud IDE Plugin will
be built as a plugin extension
to the popular Cloud IDE
plugin Eclipse Che
Use Case
Features
Offer a single tool for application
development, deployment, and
management during the whole
application lifecycle
Unicorn elasticity library supports apps
to elastically (de-)allocate resources and
provides real-time monitoring and
analytics
An open DevOps platform to design, deploy and manage secure and
elastic by design multi-cloud microservices
This work is supported by the European
Commission in terms of Unicorn 731846
H2020 project (H2020-ICT-2016-1)
Laboratory of Internet Computing