Trisotech.com
Deployment, Performance,
Agility and Flexibility
Using Trisotech Digital Distributed Containers
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/
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
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
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
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
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
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
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
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
Trisotech.com
Demo
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
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
Trisotech.com
Questions

Deployment, Performance, Agility and Flexibility using Trisotech Digital Distributed Containers

  • 1.
    Trisotech.com Deployment, Performance, Agility andFlexibility Using Trisotech Digital Distributed Containers
  • 2.
    Trisotech.com Digital Distributed Containers “Acontainer 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 DigitalEnterprise 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 DigitalDistributed 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 DigitalDistributed 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 DistributedContainers 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 therise 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 withDigital 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 requirementswill 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
  • 11.
  • 12.
    Trisotech.com Promote containers acrossenvironments  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
  • 14.