A Unifying Domain-Specific Language To Abstract Containerization And Orchestration In Complex Applications

Abstract

Application containerisation has been introduced to mitigate the discrepancies

of the execution environment conguration and set up a complex

application goes through from development to production, including other

steps such as testing, staging, etc. Through an isolation mechanism, containers

bundle into one package (binaries plus all their dependencies) the entire

runtime environment required for an application or any of its components.

Depending on the complexity of the adopted architectural style, container

orchestration, the management and provisioning of containers, their loadbalancing,

security, scaling, and their network conguration might be needed

to smoothen the overall deployment and execution experience. In the peculiar

case of cloud-native applications, containerisation and orchestration are

even more crucial.

Application containerisation and orchestration have risen as two interrelated

technologies. However, they are handled with dierent toolset and

formalisms. This increases the complexity of deploying such applications

due to various moving parts. Moreover, for an independent team to try

out some components of an existing application, they now have to stick

to the prior deployment decisions made on their behalf. We argue that a

better approach is to describe the desired state of both containerisation and

orchestration and leave it to each team to decide on the actual tools and

infrastructure they intend to use.

In this research, we introduce velo, a unifying abstraction domainspeci

c language (DSL) for application containerisation and orchestration.

Intuitively, velo lets the user express the desired state of containerisation

and orchestration for a complex application. It has two components: (1)

an abstract specication language that describes the containerisation and

orchestration for a complex application; and (2) a transpiler, a source-tosource

compiler into both a container-specic and an orchestration-specic

environments.

In order to dene the specication language, we studied various

containerisation and orchestration tools, including docker, rocket,

kubernetes, mesos marathon, docker compose and docker swarm. The

resulting concepts are centred around a virtual bag, a space within the infrastructure

where containers can be run, and a container, an isolated space

in the cluster where various processes corresponding to services will run

and access resources (CPU, network, I/O, etc.). Containers are instantiated

within a virtual bag. Each of these concepts can be further rened and

represented in dierent ways. As well, several ne-grained descriptors are

introduced to complete the specication of an application containerisation

and orchestration. Furthermore, these descriptors can be provided during

specication time or at compilation.

The compiler in velo is implemented against the grammar dened for

Overall Rating

0

5 Star
(0)
4 Star
(0)
3 Star
(0)
2 Star
(0)
1 Star
(0)
APA

Ishuuwa, G (2021). A Unifying Domain-Specific Language To Abstract Containerization And Orchestration In Complex Applications. Afribary. Retrieved from https://track.afribary.com/works/a-unifying-domain-specific-language-to-abstract-containerization-and-orchestration-in-complex-applications

MLA 8th

Ishuuwa, Gervasius "A Unifying Domain-Specific Language To Abstract Containerization And Orchestration In Complex Applications" Afribary. Afribary, 06 May. 2021, https://track.afribary.com/works/a-unifying-domain-specific-language-to-abstract-containerization-and-orchestration-in-complex-applications. Accessed 24 Nov. 2024.

MLA7

Ishuuwa, Gervasius . "A Unifying Domain-Specific Language To Abstract Containerization And Orchestration In Complex Applications". Afribary, Afribary, 06 May. 2021. Web. 24 Nov. 2024. < https://track.afribary.com/works/a-unifying-domain-specific-language-to-abstract-containerization-and-orchestration-in-complex-applications >.

Chicago

Ishuuwa, Gervasius . "A Unifying Domain-Specific Language To Abstract Containerization And Orchestration In Complex Applications" Afribary (2021). Accessed November 24, 2024. https://track.afribary.com/works/a-unifying-domain-specific-language-to-abstract-containerization-and-orchestration-in-complex-applications