Containers Overview
  • 25 May 2023
  • 2 Minutes to read
  • Dark
    Light

Containers Overview

  • Dark
    Light

Article Summary

Version 7.x .NET Architecture Change:
Versions 7.0.1 - 7.1 require .NET Core 3.1
Versions 7.2 - 7.9 require .NET 5
Versions 7.10+ require .NET 6

Impact on Upgrades: 

  • ALL custom libraries will need to be recompiled for the new .NET architecture.
  • Custom assemblies will need to be re-written.
  • Modules may require reinstallation or design refactoring.

Overview

Containers are independent architectures that are used to isolate applications with the required elements and dependencies that allow them to function as intended. Containers provide the ability to run an application regardless of the environment that they are launched from. 

This allows users to leverage container orchestration architecture to rapidly scale and descale implementations for better availability, performance, and/or hosting cost efficiency. 

There is no hard limit to the number of containers supported by a Decisions installation. 

Instead, the only 'soft' limiter would be the amount of traffic between the Decisions database and the ECS. Each container has its own unique IP.

The Docker module is best suited for organizations that require a large amount of back-end processing as this module cannot containerize front-end/UI interactions. In addition, Decisions supports containerization from other services such as AWS and Azure.

Prerequisites


Minimum Specifications

EnvironmentCPURAM
Development4 core16 GB
Production4 core
16 GB
Repo4 core
16 GB

How it Works

AWS ECS can operate each container headlessly allowing it to run nearly independently from its standalone environment. To accomplish this, the ECS configures the publicly available Decisions Docker Image from Docker Hub by defining environment variables to configure the container Image to connect to a Decisions Database.

Whenever a container aka a “Task” in ECS deploys, it uses the Docker Image and the Decisions database to acquire the resources (i.e. Flow/Rule Definitions) needed to execute the processes. Containers can sit behind an EC2 Application Load Balancer that routes and then distributes HTTP traffic across each container round-robin style.

ECS can auto-scale and descale the number of containers based on usage metrics such as Request Traffic and CPU/Memory Usage by utilizing AWS services such as Cloudwatch to create metric alarms. These alarms may define scaling policies in ECS services. In this case, 'service' also refers to 'container groups'. Each ECS service can also be associated with discrete AWS Target Groups that allow traffic to be routed to specific container groups with unique scaling policies that give distinct scaling criteria to Decisions processes.


Features and Limitations

Supported Features

Information on Version Update Plans
Decisions v7 brings greater support for containerization with the intent that the platform is fully Containerized by v8.

Due to the recent addition of the Docker Module, Decisions is working to provide a comprehensive list of all the supported features. The list below represents an overview of the currently available containerized features.

Some features (noted below) may not be available; please contact Decisions Support for additional information.

  • Execution of complex Flows and Rules
  • Most Core Decisions steps
  • Decisions Data Structures
  • Database Integrations
  • Headless functionality; the “ControlInstance/EC2 can be off but Containers will continue to work
  • Per-Container Caching
  • HTTP POST/GET Requests
  • FlowSets Module 
  • Integration with AWS CLI via the PowerShell Module to have direct & automated control over Container deployment

Limited Features

The following list represents some known limitations in regards to containerization in v7.
Note that some features are in development; please see Decisions Support for further information and questions.

  • Steps that rely on an external library may be currently unsupported.
  • Present issues with REST Integrations that should be resolved in a future update/version. 
  • Support for other Modules besides FlowSets is currently limited; see Decisions Support for assistance.


For further information on Installation, visit the Decisions Forum.

Was this article helpful?