The document discusses Digital Distributed Containers from Trisotech.com which allow packaging of services built in Digital Modeling Suite as container images. These containers provide deployment, performance, agility and flexibility. They can be hosted by Digital Enterprise Suite or pushed to external container registries. The containers are self-contained representations of modeled decisions, processes and cases. They integrate with DevOps practices like continuous deployment for efficient software delivery.
2. Trisotech.com
Digital Distributed Containers
“A container is a standard unit of software that packages up code and all its dependencies,
so the application runs quickly and reliably from one computing environment to another”
Digital Distributed Containers allow to package services built in Digital Modeling Suite as container images
Service(s) are packaged as container images that
o Can be hosted by Digital Enterprise Suite
o Can be pushed to external Container Registry
Digital Distributed Containers are self contained, fully featured runtime representation of the modeled
decisions, processes and cases
Quote from https://www.docker.com/resources/what-container/
3. Trisotech.com
Development workflow
with Digital Enterprise Suite
Users model business logic with decisions, processes and cases
Users publish the models as service which is then available to be consumed on DES instance
Consumers interact with deployed services
Users can promote given service to different environment within the same DES instance
4. Trisotech.com
Development workflow
with Digital Distributed Containers
Users model business logic with decisions, processes and cases
Users publish the models as service which is then available to be consumed on DES instance
Container image is built
CI/CD pipeline can be triggered for built image
o Container image is scanned
o Container is deployed to TEST environment
o Running service is tested
o Container is promoted to PROD environment
Users interact with given service on PROD environment
Build
container
Test
environment
Prod
environment
5. Trisotech.com
Types of Digital Distributed Containers
Single Service Container
Any (decision, process, case) service can be included
Allows to include single service in the container
o This applies to a version of the service
Is automatically built upon deployment of the service
based on configuration of the execution environment
Can be built using API
Can be hosted by DES or pushed to external container
registry
Multi Service Container
Any (decision, process, case) service can be included
Allows to include many services in the container
o Version selector is provided – all versions, selected
version, latest version)
Can be built from Service Library for selected services
Can be built using API
Is always pushed to external container registry
6. Trisotech.com
Deployment
Digital Distributed Containers can be executed on any container runtime available
Kubernetes (container orchestration platform) is de-facto standard to deploy containers
Digital Distributed Containers are very well suited to target Kubernetes as deployment platform
• Service Library provides a ready to use Kubernetes manifest file for deployment
but are not limited to Kubernetes
Deploying services will vary mainly based on the type of the service and the usage requirements
o Stateless services such as decision services have less configuration options and can be scaled much easier
o Stateful services such as process or case services where there is a need to persist the state due to the
long running nature of these services
7. Trisotech.com
Agility
With the rise of DevOps practices, automation is the key to efficiently and securely deliver software
Digital Distributed Containers can play smoothly with DevOps practices such as
o Continuous Deployment
o Continuous Delivery
Digital Enterprise Suite comes with event emitters that can provide integration between DES and CI/CD
pipelines such as GitLab, GitHub and the like
Event emitters can use web hooks to trigger pipelines as soon as container image is pushed to repository which
in turn can execute number of steps based on what environment the container image was pushed to
o Scan the image
o Deploy to test/qa/prod environment
o Run automated system tests
o And more
8. Trisotech.com
Flexibility
Working with Digital Distributed Containers is flexible from many angles
o Container images can be created automatically
o Container images can be created by users via Service Library
o Container images can be created via API calls
o Container images can be hosted by DES or pushed to external registries
API allows to build both types of Digital Distributed Containers
o Single-service container
o Multi-service container
9. Trisotech.com
Performance
Usage requirements will drive the need for ensuring efficiency and availability of the services provided by
Digital Distributed Containers
To properly assess performance requirements and by that runtime configuration, it is important to understand
the needs
o How many automation transactions are planned per day? Hundreds, thousands, millions?
o Is throughput scaling (dynamic or static) of the automated services required?
o Is geographical distribution of the automated services required?
o Is a micro-service or bundled-service approach preferred?
Answers to these questions allow to configure the containers with right characteristics to be able to meet the
expectations
10. Trisotech.com
Scalability vs persistence
One of the main benefits to rely on Digital Distributed Containers is to be able to easily and efficently scale to
accommodate to the load on the services
On the other side, scalability comes with the cost of increased complexity to keep the state of the services in
order
Digital Distributed Containers provide two mechanism for storing service instances state
o File system based – requires mounted volume to be attached to the container
o MongoDB based – requires running MongoDB server that containers can access
12. Trisotech.com
Promote containers across environments
Digital Distributed Containers follow the main principle of containers – to be immutable
Immutable containers, once built should not be altered in a way that can make them to behave differently
when they are scaled up
Although there are several aspects of the container that requires to be provided at runtime
o Credentials to services that are called from the services – REST services
o Message brokers that trigger service instances
Above mentioned information should be provided per environment where container is deployed to but
without changing the container itself
13. Trisotech.com
Digital Distributed Containers
scalable, flexible and agile services
Digital Distributed Containers comes with two types of containers that allow to keep control on the granuality
of services being deployed
By the use of containers, that easily can be run on container orchestration platforms such as Kubernetes,
services can be easily scaled up and down to dynamically adapt to the load
Integration with DevOps practices to laverage CI/CD capabilities to provide an end to end software delivery
increases efficiency and improves security
Applying immutability priciple to the containers with possibility to override runtime configuration allows to
build once and run anywhere
Scalability and persistence comes hand in hand, being able to scale and keep your data up to date and
avaiable is critical in nowadays digitalized world