44 - containers
55 - singularity
66 - linux
7- - registry
7+ - orchestration
88authors :
99 - name : Vanessa Sochat
1010 orcid : 0000-0002-4387-3819
1111 affiliation : 1
1212affiliations :
1313 - name : Stanford University Research Computing
1414 index : 1
15- date : 1 July 2019
15+ date : 24 June 2019
1616bibliography : paper.bib
1717---
1818
@@ -28,31 +28,35 @@ Traditionally, this meant that Singularity users could run an entrypoint built i
2828(called a runscript), execute a custom command, or shell into a container.
2929Unlike Docker, these basic interactions simply interacted with processes in the
3030foreground (e.g., running a script and exiting) and were not appropriate to run
31- background services. This was a task for container instances [ @SingularityInstances ]
32- that were developed in the years to come.
31+ background services. This was a task for container instances [ @SingularityInstances ] .
3332
3433A container instance [ @SingularityInstances ] equates to running a container in a detached or
35- daemon mode. It is a persistent version of the same container image that
36- can also be isolated. Instances allow for running persistent services in the background,
34+ daemon mode. Instances allow for running persistent services in the background,
3735and then interaction with these services from the host and other containers.
3836Examples of services include databases, web servers, and associated applications
39- that interact with them. For sibling container technology Docker, an early solution,
40- Docker Compose was developed to allow for simple orchestration
41- on a host, meaning creation of a ` docker-compose.yml ` file to define services,
42- volumes, ports exposed, and other customizations to networking and environment
43- [ @DockerCompose ] .
37+ that interact with them. While a container technology can provide command line
38+ and other programmatic interfaces for interaction with instances, what is also needed
39+ is a configuration file for orchestration and customization of several instances.
40+ For sibling container technology Docker, Docker Compose was developed
41+ for this purpose. For local and production usage, the user could create a ` docker-compose.yml `
42+ file to define services, volumes, ports exposed, and other customizations to networking and environment
43+ [ @DockerCompose ] . There was strong incentive for the development of such a tool.
44+ Docker Compose existed before Kubernetes was available in the middle of 2015 [ @Wikipedia_contributors2019-bw] .
4445
4546No equivalent orchestration tool has been created for Singularity container
4647instances until now. While Singularity has empowered enterprise users to run
4748services via platforms such as Kubernetes [ @Meyer2019-sd ] , these platforms come
4849with privilege. It is often the case that a production Kubernetes cluster is not
4950readily available to a user via his or her institution, or that the user
5051cannot pay a cloud provider to deploy one. However, this does not imply that
51- a user that is not associated with an enterprise (e.g., an open source developer
52- or academic) would not benefit from such an orchestration tool. This is a classic
53- example of mismatched incentives. The company supporting Singularity is not
54- incentivized to provide the tool, and so it is the responsibility of the open
55- source community to step up.
52+ a non enterprise user (e.g., an open source developer
53+ or academic) would not benefit from such an orchestration tool. Unfortunately,
54+ since the current trend and strongest potential for making profits is centered
55+ around encouraging usage of enterprise tools like Kubernetes [ @Wikipedia_contributors2019-bw] ,
56+ there is not any urgent incentive on part of the provider companies to
57+ invest in a non-enterprise orchestration tool. It is logical, rational, and
58+ understandable that companies exist to make profit, and must make profit
59+ to exist. As the need is unfulfilled, it is the responsibility of the open source community to step up.
5660
5761
5862## Singularity Compose
0 commit comments