We are continuing to shake down our Version 6 release and it is undergoing final QA testing while I write this blog post. One of the key features in this release is the support for Docker Containers, which has been a much-asked about feature that we are excited to launch.
This feature comes about as we slowly shift our product from .NET Framework to .NET Core. This will require a bit of an explanation here so let me jump right in: Decisions was originally built on the .NET Framework and even with the Version 6 release many of the features and capabilities still require the .NET Framework. Several years ago Microsoft launched .NET Core which includes many of the same shared API’s with .NET Framework (these shared API’s are called .NET Standard). However, .NET Core also contains new API’s that did not exist before in .NET Framework. Likewise, there are some old .NET Framework API’s that are not found in .NET Core.
These new API’s in .NET Core allow for cross-platform support and will allow for the creation of Docker Containers which can run on Windows, Unix, Linux and MacOS. Docker Containers are lightweight, stand-alone executable packages that contain everything needed to run an application. You can think of them like very lightweight, fully encapsulated VMs. This means that operations such as large batch jobs can be kicked off in separate containers that can be spun up to complete the job and then simply power down. This will likely be one of the first use cases from a Decisions standpoint.
There is one limitation to keep in mind with our first docker container version. Only flows and rules that do not contain UI components can be run in a Docker Container. Decisions still requires the .NET Framework to run our portal so only rules and flows without UI can be run in docker containers at this time.
To conclude, this means that you would need at least one VM running the Decisions portal and studio which can then kick off “jobs” to Docker Containers which would only include flows and rules with no UI elements. Things like batch processing, high volume ruleset executions and microservices would make good first applications to run in Decisions’ Docker mode. If you do plan to utilize this function we would ask that you stay in contact with our team so we can better understand your use case and ensure your success.
There will be much more to come on this feature once Version 6 is launched. If you have any questions or would want to learn more – please reach back to email@example.com.