Basil Hendroff
Wizard
- Joined
- Jan 4, 2014
- Messages
- 1,644
I presently use two ways to deliver applications within FreeNAS. This is modelled below. In simple terms, this is how I think of application delivery within FreeNAS.
Understanding the Model
In this 'spreadsheet' model, there are three rows and three columns. For rows, there's Application, Mount Point and Data. For columns, there's Picture, Jail and Docker.
In the Picture column, there's an Application (top row) and it has some Data (bottom row) associated with it. There's something almost invisible in the middle, the Mount Point, which doesn't really feature in the Picture column (e.g. your mother might understand Applications and Data, but try explaining Mount Points to her!).
If you have a look at the Data row, my data is always stored within FreeNAS. FreeNAS is designed with data storage in mind and has exceptional tools for managing data.
If you have a look at the Application row though, I've described two popular ways for delivering applications within FreeNAS; through Jails and Docker containers. (There's also VMs for delivering applications, but that's not a focal point for this discussion).
Using the Jail approach for delivering applications (the Jail column), the Application resides in a Jail, but it's preferable for the Application's Data to reside outside the Jail within FreeNAS where it can be better managed. What connects the Application in the jail to the Data outside the jail is a Mount Point.
Now the Docker column is interesting. There are a couple of 'glue' elements that join together adjacent elements; Docker links the Docker container to the VM host, while Bhyve links the VM host to FreeNAS.
Using the Docker approach for delivering applications (consider the Docker column), the Application resides in a Docker container, while its Data resides in FreeNAS. What connects the Application to the Data is a Mount Point provided by the VM Host.
The Application Delivery Dilemma
Now the dilemma I'm facing is 'Which mechanism should I use to deliver applications if I have a choice - Jail or Docker?'. In some cases, the decision is made for me - the application is only available on FreeBSD and not Linux, or vice versa. An example is OnlyOffice, which is not available as a FreeBSD port, but is available in a Docker container. Another example might be Resilio Sync, which until recently, was available as a plugin on FreeNAS.
The decision gets harder when an application is available via both mechanisms i.e. both in a Jail or in a Docker container. How do I choose? How do you choose? I invite you to comment below and cast a vote for your preference. If you wish to remain anonymous, just cast a vote (voting buttons above). I'm hoping for and anticipating, some interesting dialogue on this topic.
Understanding the Model
In this 'spreadsheet' model, there are three rows and three columns. For rows, there's Application, Mount Point and Data. For columns, there's Picture, Jail and Docker.
In the Picture column, there's an Application (top row) and it has some Data (bottom row) associated with it. There's something almost invisible in the middle, the Mount Point, which doesn't really feature in the Picture column (e.g. your mother might understand Applications and Data, but try explaining Mount Points to her!).
If you have a look at the Data row, my data is always stored within FreeNAS. FreeNAS is designed with data storage in mind and has exceptional tools for managing data.
If you have a look at the Application row though, I've described two popular ways for delivering applications within FreeNAS; through Jails and Docker containers. (There's also VMs for delivering applications, but that's not a focal point for this discussion).
Using the Jail approach for delivering applications (the Jail column), the Application resides in a Jail, but it's preferable for the Application's Data to reside outside the Jail within FreeNAS where it can be better managed. What connects the Application in the jail to the Data outside the jail is a Mount Point.
Now the Docker column is interesting. There are a couple of 'glue' elements that join together adjacent elements; Docker links the Docker container to the VM host, while Bhyve links the VM host to FreeNAS.
Using the Docker approach for delivering applications (consider the Docker column), the Application resides in a Docker container, while its Data resides in FreeNAS. What connects the Application to the Data is a Mount Point provided by the VM Host.
The Application Delivery Dilemma
Now the dilemma I'm facing is 'Which mechanism should I use to deliver applications if I have a choice - Jail or Docker?'. In some cases, the decision is made for me - the application is only available on FreeBSD and not Linux, or vice versa. An example is OnlyOffice, which is not available as a FreeBSD port, but is available in a Docker container. Another example might be Resilio Sync, which until recently, was available as a plugin on FreeNAS.
The decision gets harder when an application is available via both mechanisms i.e. both in a Jail or in a Docker container. How do I choose? How do you choose? I invite you to comment below and cast a vote for your preference. If you wish to remain anonymous, just cast a vote (voting buttons above). I'm hoping for and anticipating, some interesting dialogue on this topic.
Last edited: