• Aucun résultat trouvé

On Modelling Cloud Native Applications

N/A
N/A
Protected

Academic year: 2022

Partager "On Modelling Cloud Native Applications"

Copied!
2
0
0

Texte intégral

(1)

On Modelling Cloud Native Applications

Kent Inge Fagerland Simonsen

TietoEVRY

Email:[email protected]

Abstract. Cloud Native Applications (CNAs) have become a popular class of applications intended to run on cloud platforms. In this poster we will explore using a sub-class of Coloured Petri Nets to model CNAs.

Introduction Cloud Native Applications (CNAs) are quickly becomming one of the major application patterns for internet based applications. Although there is no generally accepted definition of CNAs, they do share some common prop- erties [3]. Furthermore, most CNAs are comprised of a limited, albeit evolving, set of component types. Among the components types mentioned in [1] are: Mi- croservices, Severless Applications, Event Hubs, Data Stores, and various Hosted Services. Our goal to use these elements as building blocks in order to model a large portion of CNAs.

In previous works, we have presented a sub-class of Coloured Petri Nets (CPNs) [2] called Pragmatics Annotated CPNs (PA-CPNs) [4].PA-CPNs have been used to model and generate code for network protocols. This is achieved by annotating models with so-called pragmatics that informs the code generator what code to generate for a given element. Furthermore, by restricting the mod- elling language to a set of clearly defined structures on each level of hierarchical models, the code generator is able to put thepragmatics in the right context.

Modelling Cloud Native Applications When modelling CNAs, we propose that the top level should include the major components of the CNA. Figure 1 shows how the top level of a simple CNA model might look. Each component is repre- sented by a substitution transition and annotated with pragmatics that describes the service. In the figure we can see a serverless application represented by the Serverless Appsubstitution transition. The serverless application is triggered by an http trigger (http requests) or by an event trigger (events). The server- less application has two outputs, one to a databaseDatabase, and one to an event engineEvent engine. The events emitted fromServerless Appare processed by the Event engine component which is annotated with event engine. The processed events are used to trigger the MicroService Appcomponent, which represents a microservice. Finally, the microservice writes to a second persistence componentsFile Store which represents a file system.

Copyright © 2021 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).

(2)

Figure 2 shows the page that is represented by the Serverless App sub- stitution transition. On this page there are two functions, Func and Durable Func, that are represented by substitution transitions. The functions are anno- tated with function type:functionandfunction orchestration. Additionally the functions are annotated with with the type of trigger that will cause each of the functions to be executed: httpTrigger that triggers on http events and eventTriggerthat is triggered by receiving an event.

Http Requests

<<http_requests>>

events

<<events>>

e1

<<event_queue>>

topic3

<<event_topic>>

Database buffer

file buffer Serverless

App

<<serverless_app>>

Function App Function App

Database

<<persistence>>

DB1 DB1

EventEngine

<<event_engine>>

EventEngine EventEngine

MicroService App

<<microservice_app>>

MicroService App MicroService App

File Store

<<file_store>>

File Store File Store

Fig. 1: The top level of an ex- ampl CNA.

topic2

<<event_topic>>

In

db buffer Out topic1

<<http_topic>>

In

e1

<<event_queue>>

Out Func

<<httpTrigger>>

<<function>>

Func Func

Durable Func

<<eventTrigger>>

<<function_orchestration>>

Durable Func Durable Func

Out

Out

In In

Fig. 2: The top level of an ex- ampl CNA.

Discussion We believe that we can create a subclass of CPNs that allow us to model CNAs by using the ideas and techniques from PA-CPNs applied to CNAs. Furthermore, the models could, similarly to PA-CPNs, be used to gener- ate infrastructure and application code for CNAs without imposing restrictions on the languages and technologies used in the implementation and operation of the CNAs. Finally, the models should also be amenable to formal verification.

In the future, we plan to precisely define the CPN subclass for CNAs, create tools for code generation for both infrastructure and application code and explore possibilities for verification of CNAs using these models. Further on, we hope to be able create tools that are useful for industry to both model and generate application and infrastructure code for CNAs.

References

1. D. Gannon, R. Barga, and N. Sundaresan. Cloud-native applications. IEEE Cloud Computing, 4(5):16–21, 2017.

2. K. Jensen and L.M. Kristensen. Coloured Petri Nets - Modelling and Validation of Concurrent Systems. Springer, 2009.

3. N. Kratzke and P.C. Quint. Understanding cloud-native applications after 10 years of cloud computing-a systematic mapping study. Journal of Systems and Software, 126:1–16, 2017.

4. K.I.F. Simonsen.Code Generation from Pragmatics Annotated Coloured Petri Nets.

PhD thesis, Technical University of Denmark, 2014.

Références

Documents relatifs

In this paper, we present a new runtime code generation tech- nique for speculative loop optimization and parallelization, that allows to generate on-the-fly codes resulting from

Cette confrontation montre qu'il existe de nombreuses analogies entre le domaine de la Manche et la région de la baie d'Audierne, Il existe en effet une

Facilitating the Design of ABM and the Code Generation to Promote Participatory Modelling.. Peter Uhnak a and Pierre

We show on several architectures, from Nehalem-EX with 128 cores to the Xeon Phi accelerator that the code generated with QIRAL competes in terms of parallel efficiency and

An action defines the amount of tokens consumed on the input, may change the actor state, and may output tokens using a function of inputs tokens and actor state.. Figure 1 shows

Unité de recherche INRIA Rennes : IRISA, Campus universitaire de Beaulieu - 35042 Rennes Cedex (France) Unité de recherche INRIA Rhône-Alpes : 655, avenue de l’Europe - 38330

enhanced by the use of Information and Communication Technologies (ICTs), could develop by 2030 in order to identify the research needs and policy challenges to be addressed [21].

The result of the numerical simulation is compared to an analytical solution, computed as an approximate solution of the linear shallow water equations with a forcing term [LLS03]..