clouns - a cloud-native application reference model for enterprise architects

28
ClouNS A Cloud-native Application Reference Model for (Enterprise) Architects 1) Lübeck University of Applied Sciences 2) Hof University of Applied Sciences Nane Kratzke 1 and René Peinl 2 1 Prof. Dr. rer. nat. Nane Kratzke Computer Science and Business Information Systems

Upload: nane-kratzke

Post on 08-Jan-2017

912 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

ClouNSA 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

1Prof. Dr. rer. nat. Nane KratzkeComputer Science and Business Information Systems

Page 2: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

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 KratzkeComputer Science and Business Information Systems 2

Page 3: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

We try to answer just one question ...

Prof. Dr. rer. nat. Nane KratzkeComputer Science and Business Information Systems 3

What is the meaningof cloud-native?

Page 4: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

Research Methodology

Prof. Dr. rer. nat. Nane KratzkeComputer Science and Business Information Systems 4

Main focus of this contribution

CNA == Cloud-native Application

Page 5: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

Systematic Mapping Study Resultson Cloud-native Applications (I)

Prof. Dr. rer. nat. Nane KratzkeComputer Science and Business Information Systems 5

0

5

10

15

20

25

30

PublishedPapers Extrapolation(for2016)

Google Trends (2006 – 2016)

Page 6: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

Systematic Mapping Study Resultson Cloud-native Applications (II)

Prof. Dr. rer. nat. Nane KratzkeComputer Science and Business Information Systems 6

Page 7: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

Systematic Mapping Study Resultson Cloud-native Applications (III)

Prof. Dr. rer. nat. Nane KratzkeComputer 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

Page 8: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

Microservices

Prof. Dr. rer. nat. Nane KratzkeComputer 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 itsown process and communicating with lightweight mechnisms, oftenan HTTP resource API.“

Martin Fowler

Page 9: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

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 orientedarchitectures (M)SOA

• Keep in mind: a serviceshould do one thingwell

• Use API-basedcollaboration

• Consider cloud-focusedpattern catalogues

• Use self-service agile platforms

Prof. Dr. rer. nat. Nane KratzkeComputer 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 UsingMicroservices”, CloudWay 2015, Taormina, Italy

S. Newman, Building Microservices. O’Reilly, 2015.

Page 10: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

Cloud-native Application Definition

Prof. Dr. rer. nat. Nane KratzkeComputer Science and Business Information Systems 10

Page 11: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

How to Avoid Cloud Vendor Lock-In?

Industrial Top Down Approaches

• CIMI + OVF (Infra)• OCCI (Infra)• CDMI (Data)• OCI (Container)

Open-Source Bottom UpApproches

• Deltacloud• fog.io• jClouds• Apache Libcloud

Formalized Deployment

• Several XML-based descriptional approaches

• TOSCA (Orch.)• SALSA (Elasticity)• SPEEDL

(Elasticity)

Prof. Dr. rer. nat. Nane KratzkeComputer Science and Business Information Systems 11

„Vendor lock-in is defined to make a customer dependent on a vendor for productsand 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 avoidapplication adaption efforts coming along when switching a cloud serviceprovider.

Page 12: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

Cloud Standardization ApproachesBasic Insight

Prof. Dr. rer. nat. Nane KratzkePraktische Informatik und betriebliche Informationssysteme 12

2 2

2 4 6 77

7 7 11 11

1 1

2 4 7 1014

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

Relationofconsid

eredservices

consideredbyCIMI,OCCI,CDMI,OVF,OCI,TOSCA notconsidered

Cloud standards improved. However, cloudstandardization coverage decreased (in relationto 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 theseproviders are the same.

So, cloud native applications are

vulnerable to vendor lock-in, especially if they are

provided by SMEs.

Page 13: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

Overcome Vendor Lock-In using onlyexisting Container Technologies

Prof. Dr. rer. nat. Nane KratzkePraktische 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 byIntegrating Already Available Container Technologies - TowardsTransferability 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 andMedium Sized Enterprises:• The aim is to provide methodologies and

tools to define secure, transferable andelastic services being deployable to anyIaaS cloud infrastructure.

• Migration of these services from one private or public cloud infrastructure to anothershould be possible.

• The solution should be manageable by smalland medium sized enterprises (1-person IT staffs).

Page 14: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

Research Surveillance of Practitioners

Prof. Dr. rer. nat. Nane KratzkeComputer Science and Business Information Systems 14

Docker SwarmSwarm Mode (sinceDocker 1.12) Clones

Kubernetes-like controlprocesses but integrates

them in just onecomponent. Secure by

default (control and dataplane). Hides operation

complexity.

GoogleControl processes that

continuously drive current stateof container based applicationstowards a defined desired state. Makes Google‘s experience ofrunning large scale productionworkloads available as open

source.

MesosphereApache Mesos based

datacenter operating systemfor fine grained resource

allocation. Frameworks tooperate containers and data

services. Datacenter focused. Mesos operates successfullylarge scale datacenters since

years (Twitter, Netflix, ...)

Practitioners ask for simple solutions (elastic platforms) ...

Page 15: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

Research Surveillance of Practitioners

Prof. Dr. rer. nat. Nane KratzkeComputer 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 whyMicrosoft is excited about it”, seehttps://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”, seehttp://www.qaware.de/fileadmin/user_upload/QAware-Cloud-Native-Artikelserie-Java_Magazin-1.pdf (accessed 4th August 2016)

MEKUNS Cloud Landscape Model

Page 16: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

Some Cloud-native Tools, Frameworks, Infrastructures

Prof. Dr. rer. nat. Nane KratzkeComputer Science and Business Information Systems 16

Page 17: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

We need some guidance ...

Prof. Dr. rer. nat. Nane KratzkeComputer Science and Business Information Systems 17

Page 18: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

The Cloud-native ApplicationReference Model

Prof. Dr. rer. nat. Nane KratzkeComputer Science and Business Information Systems 18

Page 19: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

The Cloud-native ApplicationReference Model

Prof. Dr. rer. nat. Nane KratzkeComputer Science and Business Information Systems 19

Page 20: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

The Cloud-native ApplicationReference Model

Prof. Dr. rer. nat. Nane KratzkeComputer Science and Business Information Systems 20

Page 21: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

The Cloud-native ApplicationReference Model

Prof. Dr. rer. nat. Nane KratzkeComputer Science and Business Information Systems 21

Page 22: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

The Cloud-native ApplicationReference Model

Prof. Dr. rer. nat. Nane KratzkeComputer Science and Business Information Systems 22

Page 23: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

This reference model guides ourresearch

Prof. Dr. rer. nat. Nane KratzkeComputer Science and Business Information Systems 23

Developing a description language for cloud-native applications.

Developing a standardized way of deploying a clusteredcontainer runtime environment for cloud-native applications.

Make use of commodity services of public cloud serviceproviders only (IaaS).

Page 24: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

Conclusion

Prof. Dr. rer. nat. Nane KratzkeComputer Science and Business Information Systems 24

For vendor lock-in aware enterprisearchitectures we advocate to operatecloud-native applications on portable elastic platforms.

However, it is work in progress ...

E.g. Layer 5 services could be categorizedmore precisely to provide more guidance.• service taxonomy systems

• standardized data transferabilityrequirements

• upward and downward standardizationrequirements

The reference model guides our• technology identification,

• classification,

• adoption,

• research and development processes.

The reference model contributes tomake• technologies,

• research approaches and

• standardization

for/of cloud-native applicationdevelopment• more comparable,

• more codifyable

• more integrated.

Page 25: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

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 KratzkeComputer Science and Business Information Systems 25

We would like to thank Dr. Adersberger from QAWARE GmbH. He inspired us with his thoughts about hisMEKUNS 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

Page 26: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

About

Prof. Dr. rer. nat. Nane KratzkeComputer 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

Page 27: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

About

Prof. Dr. rer. nat. Nane KratzkeComputer 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

Page 28: ClouNS - A Cloud-native Application Reference Model for Enterprise Architects

Backup Slides

Prof. Dr. rer. nat. Nane KratzkeComputer Science and Business Information Systems 28