ClouNS
A Cloud-native Application Reference
Model for (Enterprise) Architects
1) Lübeck University of Applied Sciences
2) Hof University of Applied Sciences
Nane Kratzke1 and René Peinl2
1
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
The next 30 minutes are about ...
• What is the meaning of 'cloud-native'?
• Research Methodology
• What are Cloud-native Applications?
• A Cloud-native Application Definition Proposal
• How to Avoid Cloud Vendor Lock-In?
• A Cloud-native Application Reference Model
• Conclusion and Outlook
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
2
We try to answer just one question ...
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
3
What is the meaning
of cloud-native?
Research Methodology
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
4
Main focus of this contribution
CNA == Cloud-native Application
Systematic Mapping Study Results
on Cloud-native Applications (I)
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
5
0
5
10
15
20
25
30
Published	Papers Extrapolation	(for	2016)
Google Trends (2006 – 2016)
Systematic Mapping Study Results
on Cloud-native Applications (II)
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
6
Systematic Mapping Study Results
on Cloud-native Applications (III)
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
7
CNA Architecture ←→ Patterns
Patterns ←→ CNA Design
CNA Design ←→ Microservices
Microservices ←→ Deployment Units (Containers)
Microservices ←→ Service Composition
Microservices ←→ (Elastic) Automation Platform
(Elastic) Automation Platform ←→ Resilience
(Elastic) Automation Platform ←→ Scalability
Microservices
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
8
„The microservice architectural style is an approach to developing a
single application as a suite of small services, each running in its
own process and communicating with lightweight mechnisms, often
an HTTP resource API.“
Martin Fowler
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
• Keep in mind: a service
should do one thing
well
• 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
9
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.
Cloud-native Application Definition
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
10
How to Avoid Cloud Vendor Lock-In?
Industrial Top Down
Approaches
• CIMI + OVF (Infra)
• OCCI (Infra)
• CDMI (Data)
• OCI (Container)
Open-Source
Bottom Up
Approches
• Deltacloud
• fog.io
• jClouds
• Apache Libcloud
Formalized
Deployment
• Several XML-
based descriptional
approaches
• TOSCA (Orch.)
• SALSA (Elasticity)
• SPEEDL
(Elasticity)
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
11
„Vendor lock-in is defined to make a customer dependent on a vendor for products
and services, unable to use another vendor without substantial switching costs“
(according to: The Linux Information Project, “Vendor Lock-in Definition”, 2006).
According to practitioner experiences, none of these approaches avoid
application adaption efforts coming along when switching a cloud service
provider.
Cloud Standardization Approaches
Basic Insight
Prof. Dr. rer. nat. Nane Kratzke
Praktische Informatik und betriebliche Informationssysteme
12
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	
Cloud standards improved. However, cloud
standardization coverage decreased (in relation
to available services) over the last 10 years.
Analyzed using over 2300 offical release notes of Amazon Web
Services (AWS). Data for other providers like Google, Azure,
Rackspace, etc. not presented. Basic conclusions for these
providers are the same.
So, cloud native
applications are
vulnerable to vendor lock-
in, especially if they are
provided by SMEs.
Overcome Vendor Lock-In using only
existing Container Technologies
Prof. Dr. rer. nat. Nane Kratzke
Praktische Informatik und betriebliche Informationssysteme
13
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).
Avoiding Vendor Lock-In for Small and
Medium Sized Enterprises:
• The aim is to provide methodologies and
tools to define secure, transferable and
elastic services being deployable to any
IaaS cloud infrastructure.
• Migration of these services from one private
or public cloud infrastructure to another
should be possible.
• The solution should be manageable by small
and medium sized enterprises (1-person IT
staffs).
Research Surveillance of Practitioners
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
14
Docker Swarm
Swarm Mode (since
Docker 1.12) Clones
Kubernetes-like control
processes but integrates
them in just one
component. Secure by
default (control and data
plane). Hides operation
complexity.
Google
Control processes that
continuously drive current state
of container based applications
towards a defined desired state.
Makes Google‘s experience of
running large scale production
workloads available as open
source.
Mesosphere
Apache Mesos based
datacenter operating system
for fine grained resource
allocation. Frameworks to
operate containers and data
services. Datacenter focused.
Mesos operates successfully
large scale datacenters since
years (Twitter, Netflix, ...)
Practitioners ask for simple solutions (elastic platforms) ...
Research Surveillance of Practitioners
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
15
Practitioners often prefer layer-based reference models ...
Jason Lavigne, ”Don’t let aPaaS you by - What is aPaaS and why
Microsoft is excited about it”, see
https://atjasonunderscorelavigne.wordpress.com/2014/01/27/dont-let-
apaas-you-by/ (last access 4th August 2016)
Johann den Haan, ”Categorizing and Comparing the Cloud Landscape”,
see http://www.theenterprisearchitect.eu/blog/categorize-compare-cloud-
vendors/ (accessed 4th August 2016)
Josef Adersberger, Andreas Zitzelsberger,
Mario-Leander Reimer, ”Der Cloud-Native-
Stack: Mesos, Kubernetes und Spring Cloud”,
see
http://www.qaware.de/fileadmin/user_upload/QA
ware-Cloud-Native-Artikelserie-Java_Magazin-
1.pdf (accessed 4th August 2016)
MEKUNSCloud Landscape Model
Some Cloud-native Tools, Frameworks, Infrastructures
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
16
We need some guidance ...
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
17
The Cloud-native Application
Reference Model
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
18
The Cloud-native Application
Reference Model
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
19
The Cloud-native Application
Reference Model
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
20
The Cloud-native Application
Reference Model
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
21
The Cloud-native Application
Reference Model
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
22
This reference model guides our
research
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
23
Developing a description language for cloud-native
applications.
Developing a standardized way of deploying a clustered
container runtime environment for cloud-native applications.
Make use of commodity services of public cloud service
providers only (IaaS).
Conclusion
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
24
For vendor lock-in aware enterprise
architectures we advocate to operate
cloud-native applications on portable
elastic platforms.
However, it is work in progress ...
E.g. Layer 5 services could be categorized
more precisely to provide more guidance.
• service taxonomy systems
• standardized data transferability
requirements
• upward and downward standardization
requirements
The reference model guides our
• technology identification,
• classification,
• adoption,
• research and development processes.
The reference model contributes to
make
• technologies,
• research approaches and
• standardization
for/of cloud-native application
development
• more comparable,
• more codifyable
• more integrated.
Acknowledgement
• Airplane: Pixabay (CC0 Public Domain, Gellinger)
• Definition: Pixabay (CC0 Public Domain, PDPics)
• Order Chaos: Pixabay (CC0 Public Domain, geralt)
• Railway: Pixabay (CC0 Public Domain, Fotoworkshop4You)
• Microservices: Robert Morschel, http://www.soa-probe.com/2015/03/microservices-
summary.html
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
25
We would like to thank Dr. Adersberger from QAWARE GmbH. He inspired us with his thoughts about his
MEKUNS approach (Mesos, Kubernetes, Cloud-native Stack). This research is funded by German Federal
Ministry of Education and Research (Project Cloud TRANSIT, 03FH021PX4; Project SCHub,
3FH025PX4).The authors thank Lübeck University (Institute of Telematics) and fat IT solution GmbH (Kiel)
for their support of Cloud TRANSIT.
Picture Reference
About
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
26
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
About
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
27
René Peinl
iisys: https://www.iisys.de/profile/rene-peinl.html
ResearchGate: https://www.researchgate.net/profile/Rene_Peinl
Backup Slides
Prof. Dr. rer. nat. Nane Kratzke
Computer Science and Business Information Systems
28

ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

  • 1.
    ClouNS A Cloud-native ApplicationReference Model for (Enterprise) Architects 1) Lübeck University of Applied Sciences 2) Hof University of Applied Sciences Nane Kratzke1 and René Peinl2 1 Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems
  • 2.
    The next 30minutes are about ... • What is the meaning of 'cloud-native'? • Research Methodology • What are Cloud-native Applications? • A Cloud-native Application Definition Proposal • How to Avoid Cloud Vendor Lock-In? • A Cloud-native Application Reference Model • Conclusion and Outlook Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 2
  • 3.
    We try toanswer just one question ... Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 3 What is the meaning of cloud-native?
  • 4.
    Research Methodology Prof. Dr.rer. nat. Nane Kratzke Computer Science and Business Information Systems 4 Main focus of this contribution CNA == Cloud-native Application
  • 5.
    Systematic Mapping StudyResults on Cloud-native Applications (I) Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 5 0 5 10 15 20 25 30 Published Papers Extrapolation (for 2016) Google Trends (2006 – 2016)
  • 6.
    Systematic Mapping StudyResults on Cloud-native Applications (II) Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 6
  • 7.
    Systematic Mapping StudyResults on Cloud-native Applications (III) Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 7 CNA Architecture ←→ Patterns Patterns ←→ CNA Design CNA Design ←→ Microservices Microservices ←→ Deployment Units (Containers) Microservices ←→ Service Composition Microservices ←→ (Elastic) Automation Platform (Elastic) Automation Platform ←→ Resilience (Elastic) Automation Platform ←→ Scalability
  • 8.
    Microservices Prof. Dr. rer.nat. Nane Kratzke Computer Science and Business Information Systems 8 „The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechnisms, often an HTTP resource API.“ Martin Fowler
  • 9.
    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 • Keep in mind: a service should do one thing well • 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 9 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.
  • 10.
    Cloud-native Application Definition Prof.Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 10
  • 11.
    How to AvoidCloud Vendor Lock-In? Industrial Top Down Approaches • CIMI + OVF (Infra) • OCCI (Infra) • CDMI (Data) • OCI (Container) Open-Source Bottom Up Approches • Deltacloud • fog.io • jClouds • Apache Libcloud Formalized Deployment • Several XML- based descriptional approaches • TOSCA (Orch.) • SALSA (Elasticity) • SPEEDL (Elasticity) Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 11 „Vendor lock-in is defined to make a customer dependent on a vendor for products and services, unable to use another vendor without substantial switching costs“ (according to: The Linux Information Project, “Vendor Lock-in Definition”, 2006). According to practitioner experiences, none of these approaches avoid application adaption efforts coming along when switching a cloud service provider.
  • 12.
    Cloud Standardization Approaches BasicInsight Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme 12 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 Cloud standards improved. However, cloud standardization coverage decreased (in relation to available services) over the last 10 years. Analyzed using over 2300 offical release notes of Amazon Web Services (AWS). Data for other providers like Google, Azure, Rackspace, etc. not presented. Basic conclusions for these providers are the same. So, cloud native applications are vulnerable to vendor lock- in, especially if they are provided by SMEs.
  • 13.
    Overcome Vendor Lock-Inusing only existing Container Technologies Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme 13 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). Avoiding Vendor Lock-In for Small and Medium Sized Enterprises: • The aim is to provide methodologies and tools to define secure, transferable and elastic services being deployable to any IaaS cloud infrastructure. • Migration of these services from one private or public cloud infrastructure to another should be possible. • The solution should be manageable by small and medium sized enterprises (1-person IT staffs).
  • 14.
    Research Surveillance ofPractitioners Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 14 Docker Swarm Swarm Mode (since Docker 1.12) Clones Kubernetes-like control processes but integrates them in just one component. Secure by default (control and data plane). Hides operation complexity. Google Control processes that continuously drive current state of container based applications towards a defined desired state. Makes Google‘s experience of running large scale production workloads available as open source. Mesosphere Apache Mesos based datacenter operating system for fine grained resource allocation. Frameworks to operate containers and data services. Datacenter focused. Mesos operates successfully large scale datacenters since years (Twitter, Netflix, ...) Practitioners ask for simple solutions (elastic platforms) ...
  • 15.
    Research Surveillance ofPractitioners Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 15 Practitioners often prefer layer-based reference models ... Jason Lavigne, ”Don’t let aPaaS you by - What is aPaaS and why Microsoft is excited about it”, see https://atjasonunderscorelavigne.wordpress.com/2014/01/27/dont-let- apaas-you-by/ (last access 4th August 2016) Johann den Haan, ”Categorizing and Comparing the Cloud Landscape”, see http://www.theenterprisearchitect.eu/blog/categorize-compare-cloud- vendors/ (accessed 4th August 2016) Josef Adersberger, Andreas Zitzelsberger, Mario-Leander Reimer, ”Der Cloud-Native- Stack: Mesos, Kubernetes und Spring Cloud”, see http://www.qaware.de/fileadmin/user_upload/QA ware-Cloud-Native-Artikelserie-Java_Magazin- 1.pdf (accessed 4th August 2016) MEKUNSCloud Landscape Model
  • 16.
    Some Cloud-native Tools,Frameworks, Infrastructures Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 16
  • 17.
    We need someguidance ... Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 17
  • 18.
    The Cloud-native Application ReferenceModel Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 18
  • 19.
    The Cloud-native Application ReferenceModel Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 19
  • 20.
    The Cloud-native Application ReferenceModel Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 20
  • 21.
    The Cloud-native Application ReferenceModel Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 21
  • 22.
    The Cloud-native Application ReferenceModel Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 22
  • 23.
    This reference modelguides our research Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 23 Developing a description language for cloud-native applications. Developing a standardized way of deploying a clustered container runtime environment for cloud-native applications. Make use of commodity services of public cloud service providers only (IaaS).
  • 24.
    Conclusion Prof. Dr. rer.nat. Nane Kratzke Computer Science and Business Information Systems 24 For vendor lock-in aware enterprise architectures we advocate to operate cloud-native applications on portable elastic platforms. However, it is work in progress ... E.g. Layer 5 services could be categorized more precisely to provide more guidance. • service taxonomy systems • standardized data transferability requirements • upward and downward standardization requirements The reference model guides our • technology identification, • classification, • adoption, • research and development processes. The reference model contributes to make • technologies, • research approaches and • standardization for/of cloud-native application development • more comparable, • more codifyable • more integrated.
  • 25.
    Acknowledgement • Airplane: Pixabay(CC0 Public Domain, Gellinger) • Definition: Pixabay (CC0 Public Domain, PDPics) • Order Chaos: Pixabay (CC0 Public Domain, geralt) • Railway: Pixabay (CC0 Public Domain, Fotoworkshop4You) • Microservices: Robert Morschel, http://www.soa-probe.com/2015/03/microservices- summary.html Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems 25 We would like to thank Dr. Adersberger from QAWARE GmbH. He inspired us with his thoughts about his MEKUNS approach (Mesos, Kubernetes, Cloud-native Stack). This research is funded by German Federal Ministry of Education and Research (Project Cloud TRANSIT, 03FH021PX4; Project SCHub, 3FH025PX4).The authors thank Lübeck University (Institute of Telematics) and fat IT solution GmbH (Kiel) for their support of Cloud TRANSIT. Picture Reference
  • 26.
    About Prof. Dr. rer.nat. Nane Kratzke Computer Science and Business Information Systems 26 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
  • 27.
    About Prof. Dr. rer.nat. Nane Kratzke Computer Science and Business Information Systems 27 René Peinl iisys: https://www.iisys.de/profile/rene-peinl.html ResearchGate: https://www.researchgate.net/profile/Rene_Peinl
  • 28.
    Backup Slides Prof. Dr.rer. nat. Nane Kratzke Computer Science and Business Information Systems 28