I saw this question popping up frequently on different forums also recently: what are the main differences when creating a Dynamics 365 Business Central Docker container by using the Sandbox artifacts vs by using the on-premise artifacts?
I think that every reader of this blog knows that with the BcContainerHelper Powershell module you can retrieve the latest artifacts of a particular localization by using the Get-BCArtifactUrl command.
In particular, this command retrieves the latest sandbox image for the IT localization:
$artifactUrl = Get-BCArtifactUrl -country "it"
and this command retrieve the latest on-premise image of the IT localization:
$artifactUrl = Get-BCArtifactUrl -country "it" -type onprem
What are the differences between these two containers?
In the following table I’ve summarized the main topics:
|SANDBOX ARTIFACTS||ONPREM ARTIFACTS|
|Multitenant by default||Not multitenant|
|IsSaaS (from “Environment Information” codeunit) returns TRUE||IsSaaS returns FALSE|
|IsSandbox returns TRUE||IsSandbox returns FALSE|
|IsSaasInfrastructure returns FALSE (as on-prem)||IsSaasInfrastructure returns FALSE|
|IsOnPrem returns FALSE||IsOnPrem returns TRUE|
|Task scheduler is automatically turned on||Task scheduler is turned off. You can turn it on by using the enableTaskScheduler parameter in BcContainerHelper|
|Uses entitlements exactly like in the online environment||Not using entitlements|
|Updated daily||Updated monthly|
Remember also that demo data are different between the two containers and that you can have insider builds from sandbox containers only.
UPDATE: Freddy remembers me that there’s a new parameter on BcContainerHelper for the New-BcContainer cmdlet: runSandboxAsOnPrem. This parameter will attempt to run sandbox artifacts as onprem (will only work with version 18 and later). Demo data will not change.
If I forgot something, please contribute to update the above table 😉 This can be helpful for many…