SlideShare a Scribd company logo
Towards a Lightweight Multi-Cloud DSL
for Elastic and Transferable Cloud-native
Applications
Peter-Christian Quint, Nane Kratzke (Speaker)
8th International Conference on Cloud Computing and Services Science (CLOSER 2018); Madeira, Funchal, Portugal, 2018
The next 20 minutes are about ...
• Cloud applications and vendor lock-in
• Context of our research
• Different cloud orchestration approaches
• Cloud applications and resulting requirements
for a „Cloud Programming Language“
• Language proposal and evalution
• Conclusion and outlook
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
2
Presentation URL
Paper URL
Did you know … ?
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
3
2 2
2 4 6
7
7
7 7 11 11
1 1
2 4 7
10
14
21 26 42 44
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016
Relation	of	considered	services
considered	by	CIMI,	OCCI,	CDMI,	OVF,	OCI,	TOSCA not	considered	
80% of cloud services are not even
considered by cloud standards?
and it is getting worse
Our research focus …
Prof. Dr. rer. nat. Nane Kratzke
Praktische Informatik und betriebliche Informationssysteme
4
Operate application on current provider.
Scale cluster into prospective provider.
Shutdown nodes on current provider.
Cluster reschedules lost container.
Migration finished.
Quint, P.-C., & Kratzke, N. (2016). Overcome Vendor Lock-In by
Integrating Already Available Container Technologies - Towards
Transferability in Cloud Computing for SMEs. In Proceedings of CLOUD
COMPUTING 2016 (7th. International Conference on Cloud Computing,
GRIDS and Virtualization).
is to avoid vendor lock-in:
• Make use of elastic container
platforms to operate elastic
services being deployable to any
IaaS cloud infrastructure.
• Transfer of these services from one
private or public cloud infrastructure
to another at runtime.
Kratzke, N. (2017). Smuggling Multi-Cloud Support into Cloud-native
Applications using Elastic Container Platforms. In Proceedings of the 7th
Int. Conf. on Cloud Computing and Services Science (CLOSER
2017) (pp. 29–42).
Research Methodology
Cloud TRANSIT
5
[KQ2017a] Kratzke, N., &
Quint, P.-C. (2017).
Understanding Cloud-native
Applications after 10 Years
of Cloud Computing - A
Systematic Mapping
Study. Journal of Systems
and Software, 126 (April).
[KP2016] Kratzke, N., &
Peinl, R. (2016). ClouNS - a
Cloud-Native Application
Reference Model for
Enterprise Architects.
In 2016 IEEE 20th
International Enterprise
Distributed Object
Computing Workshop
(EDOCW) (pp. 1–10).
[Kra2017a] Kratzke, N.
(2017). Smuggling Multi-
Cloud Support into Cloud-
native Applications using
Elastic Container Platforms.
In Proceedings of the 7th
Int. Conf. on Cloud
Computing and Services
Science (CLOSER
2017) (pp. 29–42).
This
presentations
focus
Cloud Application Maturity Level
limits the presented approach
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
6
Can we solve cloud orchestration problems
different?
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
7
TOSCA
[QK2018a] Quint, P.-C., & Kratzke, N. (2018). Towards a Lightweight Multi-Cloud DSL for Elastic and Transferable Cloud-native
Applications. In Proceedings of the 8th Int. Conf. on Cloud Computing and Services Science (CLOSER 2018, Madeira, Portugal).
UCAML
[Kra2017a] Kratzke, N. (2017). Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Container Platforms.
In Proceedings of the 7th Int. Conf. on Cloud Computing and Services Science (CLOSER 2017) (pp. 29–42).
PLAIN
Jolie
(1st language
for micro-
services)
Montesi F., Guidi C., Zavattaro G. (2014) Service-Oriented
Programming with Jolie. In: Bouguettaya A., Sheng Q., Daniel
F. (eds) Web Services Foundations. Springer, New York, NY
Independent Systems Architecture (ISA)
That is how practitioners build cloud applications
1. Modules (and Interfaces)
2. Separate Processes (Container)
3. Macro / Micro Architecture
4. Integration (limited and standardized)
5. Communication (limited set of protocols)
6. Independent continuous delivery pipeline (per
module)
7. Standardized operation (across all modules)
8. Standards: enforced via interfaces
9. Resilience (dependent service failures)
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
8
PRINCIPLES
Due to infrastructure-as-code even the Macro
Architecture can be made executable.
Two Architecture Levels
Decisions for all modules
Only very few languages
TOSCA, maybe Jolie
Decisions for one module
Thousands of languages
(each module can use its own)
MACRO Architecture MICRO Architecture
Requirements
for a Cloud Programming Language
R1: Containerized Deployment
The DSL must be designed to describe and label a
containerized deployment of discoverable services.
R2: Application Scaling
The DSL must be designed to describe elastic services.
R3: Compendiously
The DSL must be designed to be lightweight and pragmatic.
R4: Multi-Cloud Support.
The DSL must be designed to support multi-cloud
operations.
R5: Infrastructure agnostic
The DSL must be designed to be independent from a specifc
ECP or cloud infrastructure.
R6: Elastic runtime environment
The DSL must be designed to define applications being able
to be operated on an elastic runtime environment.
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
10
Core Language Model
Requirements R1, R2, R3
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
11
Infrastructure and platform agnostic
Requirements R4, R5, R6
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
12
A model-to-model transformer
transforms a universal CNA
definition (UCAML) into a
specific ECP format (Kubernetes
manifests, Swarm compose
files, etc.).
• The runtime environment is
a user decision (other like
Jolie, platform agnostic).
• But the runtime specifics
must not be modeled on the
application level (other like
TOSCA, infrastructure
agnostic).
Example („Hello World“)
Elastic webservice for checking prime numbers
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
13
Ucaml::application('prime-service-app',
expose: [Ucaml::expose(from: 'prime-service', port: 8888, as: 'public')],
services: [
Ucaml::service('prime-service',
request: Ucaml::request(cpu: 100, memory: 256, ephemeral_storage: 2),
scale: Ucaml::scalingrule(min: 1, max: 10, cpu: 66),
ports: [8888],
container: Ucaml::container('prime-unit', 'transit/primesvc:latest',
cmd: 'ruby hw-service.rb',
ports: [80]
)
)
]
)
Meanwhile we switched from
Java to a more pragmatic
Ruby-based DSL.
R1 : Containerized
deployments
R1 : Discoverable
services
R2 : Scalable
services
R3 : Pragmatic
description
All together …
14
R1 : Containerized deployments
R2: Scalable Applications
R3: Compendiously and pragmatic
R4 : Multi-Cloud Support
R5: Infrastructure agnostic
R6: Elastic runtime environment
UCAML (this paper)
PLAIN
Kratzke, N. (2017). Smuggling Multi-Cloud Support
into Cloud-native Applications using Elastic Container
Platforms. In Proceedings of the 7th Int. Conf. on Cloud
Computing and Services Science (CLOSER 2017)
Evaluation
E1 + E2
(Practicability)
To evaluate the usability [R3]
we described a Sock-Shop needing
[R1, R2]
deployed the Sock-Shop to Kubernetes,
and Docker Swarm [R6] in AWS, Azure,
GCE and OpenStack [R4]
E3
(Transferability)
For demonstrating IaaS
independence [R4]
we transfered the deployment at
runtime between IaaS
infrastructures of
Amazon Web Services, Microsoft
Azure, Google Compute Engine and
a OpenStack installation.
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
15
Evaluation
E1 + E2
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
16
See: https://microservices-demo.github.io/
„Sock Shop simulates an e-
commerce website that sells
socks. It is intended to aid the
demonstration and testing of
microservice and cloud native
technologies.“
Results of E3:
Transfers between AWS, GCE, Azure and OpenStack
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
17
Transfer of a 1+5 cluster (one master, five workers)
Only Kubernetes data presented
(Docker Swarm basically the same)
Conclusion
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
18
• For UCAML we rated DSL pragmatism and practitioner acceptance
higher than richness of DSL expressions.
• The DSL is intentionally designed for container and microservice
architectures but has limitations outside this scope.
• This limits DSL complexity but reduces possible use cases.
• The DSL supports currently the following container platforms:
• Kubernetes
• Docker Swarm
• And has been tested on the following IaaS infrastructes:
• AWS, GCE, Azure
• OpenStack
• Because it is infrastructure and platform agnostic further infrastructures
and platforms can be extended.
Acknowledgement
• Puzzle: Pixabay (CC0 Public Domain, PIRO4D)
• Definition: Pixabay (CC0 Public Domain, PDPics)
• Macro/Micro Architecture: isa-principles.org (CC-SA 3.0, innoQ GmbH)
• Checklist: Pixabay (CC0 Public Domain, Tumiso)
• Road Ahead: Pixabay (CC0 Public Domain, Nel_NZ)
• Air Transport: Pixabay (CC0 Public Domain, WikiImages)
• All cliparts: openclipart.com (CC0 Public Domain)
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
19
Picture Reference
Our research is funded by German Federal Ministry of Education
and Research (13FH021PX4).
Presentation URL
Paper URL
About
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
20
Nane Kratzke
CoSA: http://cosa.fh-luebeck.de/en/contact/people/n-kratzke
Blog: http://www.nkode.io
Twitter: @NaneKratzke
GooglePlus: +NaneKratzke
LinkedIn: https://de.linkedin.com/in/nanekratzke
GitHub: https://github.com/nkratzke
ResearchGate: https://www.researchgate.net/profile/Nane_Kratzke
SlideShare: http://de.slideshare.net/i21aneka
Backup Slides
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
21
So, what would a cloud programming
language be?
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
22
A computer programming language is a notation used to
write computer programs, which involves
a computer performing some kind of
computation or algorithm and possibly control of external
devices such as printers, disk drives, and so on.
Adapted from ACM SIGPLAN/Wikipedia
A cloud programming language is a notation on the macro
architecture level used to define cloud applications to be
provided via cloud infrastructures or platforms performing
processes and possibly composing further internal and
external services such as authentication, scaling, storage,
messaging, logging, and further domain/problem specific
services.
Cloud-native Application Definition
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
23
[KQ2017a] Kratzke, N., & Quint, P.-C. (2017). Understanding Cloud-native Applications after 10 Years of
Cloud Computing - A Systematic Mapping Study. Journal of Systems and Software, 126 (April).
Cloud-native Application
What?
Be IDEAL
• Isolated State
• Distributed
• Elastic
• Automated
management
• Loosely coupled
Why?
There is a need for ..
• Speed (delivery)
• Safety (fault tolerance,
design for failure)
• Scalability
• Client diversity
How?
Integrate ...
• (Micro)service oriented
architectures (M)SOA
• Use API-based
collaboration
• Consider cloud-focused
pattern catalogues
• Use self-service agile
platforms
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
24
C. Fehling, F. Leymann, R. Retter, W.
Schupeck, and P. Arbitter, Cloud
Computing Patterns: Fundamentals
to Design, Build, and Manage Cloud
Applications. Springer, 2014.
M. Stine, Migrating to Cloud-Native
Application Architectures. O’Reilly,
2015
A. Balalaie, A. Heydarnoori, and P.
Jamshidi, “Migrating to Cloud-Native
Architectures Using Microservices”,
CloudWay 2015, Taormina, Italy
S. Newman, Building Microservices.
O’Reilly, 2015.
Often heard by practitioners: „A cloud-native application is an
application intentionally designed for the cloud.“ True, but
helpful?

More Related Content

What's hot (20)

PDF
Constantino vazquez open nebula cloud case studies
CloudExpoEurope
 
PPTX
RL-Cache: Learning-Based Cache Admission for Content Delivery
Förderverein Technische Fakultät
 
PPTX
Grid'5000: Running a Large Instrument for Parallel and Distributed Computing ...
Frederic Desprez
 
PDF
Cost-Minimizing Dynamic Migration of Content Distribution Services into Hybri...
1crore projects
 
PPTX
cloud schedualing
twomarkopolo
 
PDF
An asynchronous and task-based implementation of peridynamics utilizing HPX—t...
Patrick Diehl
 
PPTX
Cloud sim report
Jiachen Yang
 
PDF
Bridging the Pervasive Computing Gap: An Aggregate Perspective
Roberto Casadei
 
PDF
About an Immune System Understanding for Cloud-native Applications - Biology ...
Nane Kratzke
 
PDF
Harvesting dispersed computational resources with Openstack
Mirko Mariotti
 
PDF
HSIENA: a hybrid publish/subscribe system
Fabio Petroni, PhD
 
PDF
Cloud computing and CloudStack
Mahbub Noor Bappy
 
PDF
Euclid & Big Data from dark space by Guillermo Buenadicha at Big Data Spain 2015
Big Data Spain
 
PDF
User-­friendly Metaworkflows in Quantum Chemistry
Sandra Gesing
 
PDF
Panda scalable hpc_bestpractices_tue100418
inside-BigData.com
 
PPTX
Cloudsim & Green Cloud
Neda Maleki
 
PDF
Introduction to National Supercomputer center in Tianjin TH-1A Supercomputer
Förderverein Technische Fakultät
 
PDF
Academic cloud experiences cern v4
Tim Bell
 
PPT
TeraGrid and Physics Research
shandra_psc
 
PPTX
Parallel Computing For Managed Developers
Bala Subra
 
Constantino vazquez open nebula cloud case studies
CloudExpoEurope
 
RL-Cache: Learning-Based Cache Admission for Content Delivery
Förderverein Technische Fakultät
 
Grid'5000: Running a Large Instrument for Parallel and Distributed Computing ...
Frederic Desprez
 
Cost-Minimizing Dynamic Migration of Content Distribution Services into Hybri...
1crore projects
 
cloud schedualing
twomarkopolo
 
An asynchronous and task-based implementation of peridynamics utilizing HPX—t...
Patrick Diehl
 
Cloud sim report
Jiachen Yang
 
Bridging the Pervasive Computing Gap: An Aggregate Perspective
Roberto Casadei
 
About an Immune System Understanding for Cloud-native Applications - Biology ...
Nane Kratzke
 
Harvesting dispersed computational resources with Openstack
Mirko Mariotti
 
HSIENA: a hybrid publish/subscribe system
Fabio Petroni, PhD
 
Cloud computing and CloudStack
Mahbub Noor Bappy
 
Euclid & Big Data from dark space by Guillermo Buenadicha at Big Data Spain 2015
Big Data Spain
 
User-­friendly Metaworkflows in Quantum Chemistry
Sandra Gesing
 
Panda scalable hpc_bestpractices_tue100418
inside-BigData.com
 
Cloudsim & Green Cloud
Neda Maleki
 
Introduction to National Supercomputer center in Tianjin TH-1A Supercomputer
Förderverein Technische Fakultät
 
Academic cloud experiences cern v4
Tim Bell
 
TeraGrid and Physics Research
shandra_psc
 
Parallel Computing For Managed Developers
Bala Subra
 

Similar to Towards a Lightweight Multi-Cloud DSL for Elastic and Transferable Cloud-native Applications (20)

PDF
ClouNS - A Cloud-native Application Reference Model for Enterprise Architects
Nane Kratzke
 
PDF
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Nane Kratzke
 
PPTX
Enterprise Cloud Native
Cloud Best Practices Network
 
PDF
Integration in the Age of DevOps
Brian Ashburn
 
PDF
Lattice: A Cloud-Native Platform for Your Spring Applications
Matt Stine
 
PDF
ContainerCon- Cloud Native Applications, Containers, Microservices, Platforms...
Fabio Chiodini
 
PDF
Cloud Native In-Depth
Siva Rama Krishna Chunduru
 
PDF
Securing the Cloud Native stack
Hector Tapia
 
PDF
Securing the Cloud Native Stack
Apcera
 
PDF
Trends at JavaOne 2016: Microservices, Docker and Cloud-Native Middleware
Kai Wähner
 
PDF
Cloud Native Architecture: Its Benefits and Key Components
AndrewHolland58
 
PPTX
Application Architecture for Cloud Computing
shvetachaudhari19bca
 
PDF
Exploring Cloud Native Architecture: Its Benefits And Key Components
Lucy Zeniffer
 
PDF
Cloud Native Middleware Microservices - 10 Lessons Learned
Kai Wähner
 
PDF
Designing and coding for cloud-native applications using Python, Harjinder Mi...
Pôle Systematic Paris-Region
 
PDF
stackconf 2021 | Reference Architecture for a Cloud Native Digital Enterprise
NETWAYS
 
PDF
Building Cloud Native Architectures with Spring
Kenny Bastani
 
PDF
Cloud-Native Drupal: a survival guide
sparkfabrik
 
PDF
The Need of Cloud-Native Application
Emiliano Pecis
 
PDF
Cloud Native Application Development
Siva Rama Krishna Chunduru
 
ClouNS - A Cloud-native Application Reference Model for Enterprise Architects
Nane Kratzke
 
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Nane Kratzke
 
Enterprise Cloud Native
Cloud Best Practices Network
 
Integration in the Age of DevOps
Brian Ashburn
 
Lattice: A Cloud-Native Platform for Your Spring Applications
Matt Stine
 
ContainerCon- Cloud Native Applications, Containers, Microservices, Platforms...
Fabio Chiodini
 
Cloud Native In-Depth
Siva Rama Krishna Chunduru
 
Securing the Cloud Native stack
Hector Tapia
 
Securing the Cloud Native Stack
Apcera
 
Trends at JavaOne 2016: Microservices, Docker and Cloud-Native Middleware
Kai Wähner
 
Cloud Native Architecture: Its Benefits and Key Components
AndrewHolland58
 
Application Architecture for Cloud Computing
shvetachaudhari19bca
 
Exploring Cloud Native Architecture: Its Benefits And Key Components
Lucy Zeniffer
 
Cloud Native Middleware Microservices - 10 Lessons Learned
Kai Wähner
 
Designing and coding for cloud-native applications using Python, Harjinder Mi...
Pôle Systematic Paris-Region
 
stackconf 2021 | Reference Architecture for a Cloud Native Digital Enterprise
NETWAYS
 
Building Cloud Native Architectures with Spring
Kenny Bastani
 
Cloud-Native Drupal: a survival guide
sparkfabrik
 
The Need of Cloud-Native Application
Emiliano Pecis
 
Cloud Native Application Development
Siva Rama Krishna Chunduru
 
Ad

More from Nane Kratzke (18)

PDF
Smart like a Fox: How clever students trick dumb programming assignment asses...
Nane Kratzke
 
PDF
#BTW17 on Twitter (Die Bundestagswahl 2017 auf Twitter - war der Ausgang abzu...
Nane Kratzke
 
PDF
About being the Tortoise or the Hare? Making Cloud Applications too Fast and ...
Nane Kratzke
 
PDF
Serverless Architectures - Where have all the servers gone?
Nane Kratzke
 
PDF
There is no impenetrable system - So, why we are still waiting to get breached?
Nane Kratzke
 
PDF
Der Bundestagswahlkampf 2017 auf Twitter - War der Ausgang abzusehen?
Nane Kratzke
 
PDF
Was die Cloud mit einem brennenden Haus zu tun hat
Nane Kratzke
 
PDF
What the cloud has to do with a burning house?
Nane Kratzke
 
PDF
RESTful APIs mit Dart
Nane Kratzke
 
PDF
ppbench - A Visualizing Network Benchmark for Microservices
Nane Kratzke
 
PPTX
About Microservices, Containers and their Underestimated Impact on Network Pe...
Nane Kratzke
 
PDF
Java Streams und Lambdas
Nane Kratzke
 
PDF
Dart (Teil II der Tour de Dart)
Nane Kratzke
 
PDF
Dart (Teil I der Tour de Dart)
Nane Kratzke
 
PDF
Cloud Economics in Training and Simulation
Nane Kratzke
 
PDF
Are cloud based virtual labs cost effective? (CSEDU 2012)
Nane Kratzke
 
PDF
What Cost Us Cloud Computing
Nane Kratzke
 
PDF
Overcoming Cost Intransparency of Cloud Computing
Nane Kratzke
 
Smart like a Fox: How clever students trick dumb programming assignment asses...
Nane Kratzke
 
#BTW17 on Twitter (Die Bundestagswahl 2017 auf Twitter - war der Ausgang abzu...
Nane Kratzke
 
About being the Tortoise or the Hare? Making Cloud Applications too Fast and ...
Nane Kratzke
 
Serverless Architectures - Where have all the servers gone?
Nane Kratzke
 
There is no impenetrable system - So, why we are still waiting to get breached?
Nane Kratzke
 
Der Bundestagswahlkampf 2017 auf Twitter - War der Ausgang abzusehen?
Nane Kratzke
 
Was die Cloud mit einem brennenden Haus zu tun hat
Nane Kratzke
 
What the cloud has to do with a burning house?
Nane Kratzke
 
RESTful APIs mit Dart
Nane Kratzke
 
ppbench - A Visualizing Network Benchmark for Microservices
Nane Kratzke
 
About Microservices, Containers and their Underestimated Impact on Network Pe...
Nane Kratzke
 
Java Streams und Lambdas
Nane Kratzke
 
Dart (Teil II der Tour de Dart)
Nane Kratzke
 
Dart (Teil I der Tour de Dart)
Nane Kratzke
 
Cloud Economics in Training and Simulation
Nane Kratzke
 
Are cloud based virtual labs cost effective? (CSEDU 2012)
Nane Kratzke
 
What Cost Us Cloud Computing
Nane Kratzke
 
Overcoming Cost Intransparency of Cloud Computing
Nane Kratzke
 
Ad

Recently uploaded (20)

PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PPTX
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
PDF
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
PDF
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
PPTX
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PDF
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PPTX
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PPTX
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PPTX
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
Open Chain Q2 Steering Committee Meeting - 2025-06-25
Shane Coughlan
 
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
Technical-Careers-Roadmap-in-Software-Market.pdf
Hussein Ali
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 

Towards a Lightweight Multi-Cloud DSL for Elastic and Transferable Cloud-native Applications

  • 1. Towards a Lightweight Multi-Cloud DSL for Elastic and Transferable Cloud-native Applications Peter-Christian Quint, Nane Kratzke (Speaker) 8th International Conference on Cloud Computing and Services Science (CLOSER 2018); Madeira, Funchal, Portugal, 2018
  • 2. The next 20 minutes are about ... • Cloud applications and vendor lock-in • Context of our research • Different cloud orchestration approaches • Cloud applications and resulting requirements for a „Cloud Programming Language“ • Language proposal and evalution • Conclusion and outlook Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 2 Presentation URL Paper URL
  • 3. Did you know … ? Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 3 2 2 2 4 6 7 7 7 7 11 11 1 1 2 4 7 10 14 21 26 42 44 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Relation of considered services considered by CIMI, OCCI, CDMI, OVF, OCI, TOSCA not considered 80% of cloud services are not even considered by cloud standards? and it is getting worse
  • 4. Our research focus … Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme 4 Operate application on current provider. Scale cluster into prospective provider. Shutdown nodes on current provider. Cluster reschedules lost container. Migration finished. Quint, P.-C., & Kratzke, N. (2016). Overcome Vendor Lock-In by Integrating Already Available Container Technologies - Towards Transferability in Cloud Computing for SMEs. In Proceedings of CLOUD COMPUTING 2016 (7th. International Conference on Cloud Computing, GRIDS and Virtualization). is to avoid vendor lock-in: • Make use of elastic container platforms to operate elastic services being deployable to any IaaS cloud infrastructure. • Transfer of these services from one private or public cloud infrastructure to another at runtime. Kratzke, N. (2017). Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Container Platforms. In Proceedings of the 7th Int. Conf. on Cloud Computing and Services Science (CLOSER 2017) (pp. 29–42).
  • 5. Research Methodology Cloud TRANSIT 5 [KQ2017a] Kratzke, N., & Quint, P.-C. (2017). Understanding Cloud-native Applications after 10 Years of Cloud Computing - A Systematic Mapping Study. Journal of Systems and Software, 126 (April). [KP2016] Kratzke, N., & Peinl, R. (2016). ClouNS - a Cloud-Native Application Reference Model for Enterprise Architects. In 2016 IEEE 20th International Enterprise Distributed Object Computing Workshop (EDOCW) (pp. 1–10). [Kra2017a] Kratzke, N. (2017). Smuggling Multi- Cloud Support into Cloud- native Applications using Elastic Container Platforms. In Proceedings of the 7th Int. Conf. on Cloud Computing and Services Science (CLOSER 2017) (pp. 29–42). This presentations focus
  • 6. Cloud Application Maturity Level limits the presented approach Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 6
  • 7. Can we solve cloud orchestration problems different? Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 7 TOSCA [QK2018a] Quint, P.-C., & Kratzke, N. (2018). Towards a Lightweight Multi-Cloud DSL for Elastic and Transferable Cloud-native Applications. In Proceedings of the 8th Int. Conf. on Cloud Computing and Services Science (CLOSER 2018, Madeira, Portugal). UCAML [Kra2017a] Kratzke, N. (2017). Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Container Platforms. In Proceedings of the 7th Int. Conf. on Cloud Computing and Services Science (CLOSER 2017) (pp. 29–42). PLAIN Jolie (1st language for micro- services) Montesi F., Guidi C., Zavattaro G. (2014) Service-Oriented Programming with Jolie. In: Bouguettaya A., Sheng Q., Daniel F. (eds) Web Services Foundations. Springer, New York, NY
  • 8. Independent Systems Architecture (ISA) That is how practitioners build cloud applications 1. Modules (and Interfaces) 2. Separate Processes (Container) 3. Macro / Micro Architecture 4. Integration (limited and standardized) 5. Communication (limited set of protocols) 6. Independent continuous delivery pipeline (per module) 7. Standardized operation (across all modules) 8. Standards: enforced via interfaces 9. Resilience (dependent service failures) Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 8 PRINCIPLES Due to infrastructure-as-code even the Macro Architecture can be made executable.
  • 9. Two Architecture Levels Decisions for all modules Only very few languages TOSCA, maybe Jolie Decisions for one module Thousands of languages (each module can use its own) MACRO Architecture MICRO Architecture
  • 10. Requirements for a Cloud Programming Language R1: Containerized Deployment The DSL must be designed to describe and label a containerized deployment of discoverable services. R2: Application Scaling The DSL must be designed to describe elastic services. R3: Compendiously The DSL must be designed to be lightweight and pragmatic. R4: Multi-Cloud Support. The DSL must be designed to support multi-cloud operations. R5: Infrastructure agnostic The DSL must be designed to be independent from a specifc ECP or cloud infrastructure. R6: Elastic runtime environment The DSL must be designed to define applications being able to be operated on an elastic runtime environment. Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 10
  • 11. Core Language Model Requirements R1, R2, R3 Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 11
  • 12. Infrastructure and platform agnostic Requirements R4, R5, R6 Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 12 A model-to-model transformer transforms a universal CNA definition (UCAML) into a specific ECP format (Kubernetes manifests, Swarm compose files, etc.). • The runtime environment is a user decision (other like Jolie, platform agnostic). • But the runtime specifics must not be modeled on the application level (other like TOSCA, infrastructure agnostic).
  • 13. Example („Hello World“) Elastic webservice for checking prime numbers Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 13 Ucaml::application('prime-service-app', expose: [Ucaml::expose(from: 'prime-service', port: 8888, as: 'public')], services: [ Ucaml::service('prime-service', request: Ucaml::request(cpu: 100, memory: 256, ephemeral_storage: 2), scale: Ucaml::scalingrule(min: 1, max: 10, cpu: 66), ports: [8888], container: Ucaml::container('prime-unit', 'transit/primesvc:latest', cmd: 'ruby hw-service.rb', ports: [80] ) ) ] ) Meanwhile we switched from Java to a more pragmatic Ruby-based DSL. R1 : Containerized deployments R1 : Discoverable services R2 : Scalable services R3 : Pragmatic description
  • 14. All together … 14 R1 : Containerized deployments R2: Scalable Applications R3: Compendiously and pragmatic R4 : Multi-Cloud Support R5: Infrastructure agnostic R6: Elastic runtime environment UCAML (this paper) PLAIN Kratzke, N. (2017). Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Container Platforms. In Proceedings of the 7th Int. Conf. on Cloud Computing and Services Science (CLOSER 2017)
  • 15. Evaluation E1 + E2 (Practicability) To evaluate the usability [R3] we described a Sock-Shop needing [R1, R2] deployed the Sock-Shop to Kubernetes, and Docker Swarm [R6] in AWS, Azure, GCE and OpenStack [R4] E3 (Transferability) For demonstrating IaaS independence [R4] we transfered the deployment at runtime between IaaS infrastructures of Amazon Web Services, Microsoft Azure, Google Compute Engine and a OpenStack installation. Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 15
  • 16. Evaluation E1 + E2 Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 16 See: https://microservices-demo.github.io/ „Sock Shop simulates an e- commerce website that sells socks. It is intended to aid the demonstration and testing of microservice and cloud native technologies.“
  • 17. Results of E3: Transfers between AWS, GCE, Azure and OpenStack Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 17 Transfer of a 1+5 cluster (one master, five workers) Only Kubernetes data presented (Docker Swarm basically the same)
  • 18. Conclusion Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 18 • For UCAML we rated DSL pragmatism and practitioner acceptance higher than richness of DSL expressions. • The DSL is intentionally designed for container and microservice architectures but has limitations outside this scope. • This limits DSL complexity but reduces possible use cases. • The DSL supports currently the following container platforms: • Kubernetes • Docker Swarm • And has been tested on the following IaaS infrastructes: • AWS, GCE, Azure • OpenStack • Because it is infrastructure and platform agnostic further infrastructures and platforms can be extended.
  • 19. Acknowledgement • Puzzle: Pixabay (CC0 Public Domain, PIRO4D) • Definition: Pixabay (CC0 Public Domain, PDPics) • Macro/Micro Architecture: isa-principles.org (CC-SA 3.0, innoQ GmbH) • Checklist: Pixabay (CC0 Public Domain, Tumiso) • Road Ahead: Pixabay (CC0 Public Domain, Nel_NZ) • Air Transport: Pixabay (CC0 Public Domain, WikiImages) • All cliparts: openclipart.com (CC0 Public Domain) Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 19 Picture Reference Our research is funded by German Federal Ministry of Education and Research (13FH021PX4). Presentation URL Paper URL
  • 20. About Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 20 Nane Kratzke CoSA: http://cosa.fh-luebeck.de/en/contact/people/n-kratzke Blog: http://www.nkode.io Twitter: @NaneKratzke GooglePlus: +NaneKratzke LinkedIn: https://de.linkedin.com/in/nanekratzke GitHub: https://github.com/nkratzke ResearchGate: https://www.researchgate.net/profile/Nane_Kratzke SlideShare: http://de.slideshare.net/i21aneka
  • 21. Backup Slides Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 21
  • 22. So, what would a cloud programming language be? Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 22 A computer programming language is a notation used to write computer programs, which involves a computer performing some kind of computation or algorithm and possibly control of external devices such as printers, disk drives, and so on. Adapted from ACM SIGPLAN/Wikipedia A cloud programming language is a notation on the macro architecture level used to define cloud applications to be provided via cloud infrastructures or platforms performing processes and possibly composing further internal and external services such as authentication, scaling, storage, messaging, logging, and further domain/problem specific services.
  • 23. Cloud-native Application Definition Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 23 [KQ2017a] Kratzke, N., & Quint, P.-C. (2017). Understanding Cloud-native Applications after 10 Years of Cloud Computing - A Systematic Mapping Study. Journal of Systems and Software, 126 (April).
  • 24. Cloud-native Application What? Be IDEAL • Isolated State • Distributed • Elastic • Automated management • Loosely coupled Why? There is a need for .. • Speed (delivery) • Safety (fault tolerance, design for failure) • Scalability • Client diversity How? Integrate ... • (Micro)service oriented architectures (M)SOA • Use API-based collaboration • Consider cloud-focused pattern catalogues • Use self-service agile platforms Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 24 C. Fehling, F. Leymann, R. Retter, W. Schupeck, and P. Arbitter, Cloud Computing Patterns: Fundamentals to Design, Build, and Manage Cloud Applications. Springer, 2014. M. Stine, Migrating to Cloud-Native Application Architectures. O’Reilly, 2015 A. Balalaie, A. Heydarnoori, and P. Jamshidi, “Migrating to Cloud-Native Architectures Using Microservices”, CloudWay 2015, Taormina, Italy S. Newman, Building Microservices. O’Reilly, 2015. Often heard by practitioners: „A cloud-native application is an application intentionally designed for the cloud.“ True, but helpful?