Docker, Kubernetes and Other Technologies for Deployment, Management and Scaling of API Services for the Omnichannel Communication
Small Is beautiful: Granular microservices over monolith applications
Granular microservices, or Packaged Business Capabilities that can quickly and seamlessly integrate into existing IT infrastructures, including cloud environments, are becoming increasingly prevalent in corporate and government customer communications. Technologies such as Docker and Kubernetes provide the necessary foundation for their deployment, management, and scaling.
The End of Large Monolithic Applications
According to market analyst Gartner in its report, “Top Predictions for 2020 and Beyond: Technology Changes the Human Condition,” we are approaching the end of large monolithic applications. Instead, companies are increasingly assembling applications from small, individual building blocks, ideally using low-code or no-code development environments. Microservices or API services play a key role.
Gartner expects that by 2022, 30% of applications will be delivered this way, up from only 3% in 2019. According to Gartner, monolithic applications are like record albums were in the past: you had to buy an entire album to hear the one song you liked. Now, it’s common to download only the tracks you want and compile them into an individual playlist. Gartner says software is similar—only a fraction of a large enterprise application’s functions are actually used. As a result, there’s a shift toward SaaS solutions and API services, which offer much more convenience and flexibility in a user’s day-to-day operations. Instead of being tied to and having to align one’s business processes to the rigid design of a single, large application, granular microservices make a company more agile and able to react more quickly to market changes while retaining its existing IT infrastructures.
Demand for low-code tools, SaaS solutions, and API-centric microservices is rising. Even relatively conservative industries, such as public administration or the logistics and manufacturing industries, are increasingly addressing the topic. That is no surprise as IT departments are under enormous pressure to improve efficiency and cut costs. They must get the maximum out of existing systems and available resources and ensure high availability at all times, yet not accumulate any "excess capacity." So, in addition to business agility, it’s also a matter of optimally utilizing IT resources.
Gartner expects that by 2023, around 40% of users will be creating business applications according to their own needs. That may mean that functions are no longer offered as an "all-in-one package” but instead as a collection of building blocks or API services, depending on a company’s business requirements. Gartner says packaged business capabilities are increasingly coming into play.
1) Gartner Top Strategic Predictions for 2020 and Beyond: Technology Changes the Human Condition, October 22, 2019.
Automatic orchestration of microservices
With the increasing popularity of such services, there’s a question of their origin and distribution or deployment. That’s where proven technologies such as containers and Docker, a well-known open-source software that provides container technology, come into play (see Glossary). While not new, they have revolutionized the deployment of micro-applications or microservices that can be scaled as need and that run equally stably and reliably on all platforms. That allows agility, even when you need to update certain functions, such as microservices or a packaged business capability, or implement new ones.
Instead of updating an entire solution, as you’d do with a huge application, you only need to replace the image with the microservice you want to update. For example, suppose the USPS provides new postage discounts and you use a granular microservice postage optimization function within your output management system (OMS). In that case, you could simply replace it with the new one without affecting, or paralyzing, other OMS processes.
The question remains how to automate distribution, scaling, and updating of containers as much as possible while guaranteeing maximum availability. It’s important to remember that when a monolithic application is broken down into tens or hundreds of services, its complex landscape can be difficult to manage manually. Therefore, systems exist to monitor and control—or orchestrate—those services as containers.
Kubernetes (see Glossary) is the best-known platform in that context. Its basic principle is that services are distributed in the form of containers to several "nodes." That guarantees that if a server fails, its business-critical services are still available.
The benefits of such "orchestration platforms" are also apparent when it comes to scaling. When a particular service’s load demand increases, it can be monitored in real-time, and additional services added automatically to guarantee consistent high performance.
Kubernetes has a large supporter base among the major cloud providers, such as Microsoft Azure, Amazon Web Services, and IBM Red Hat. Whether the solution operates "on premise" as a private cloud or in a hosted cloud environment, the container applications’ orchestration can be deployed in various scenarios. That makes the platform virtually predestined for hybrid IT environments.
In other words, anyone with an architecture based on microservices should use standardized methods, such as Kubernetes, to scale services automatically and keep the service or business capability highly available at all times.
Packaged Business Capabilities for Document Processing
There is increasing fragmentation of powerful software solutions into small, scalable, and easy-to-integrate packaged business capabilities in the field of customer communications, where Compart is driving the issue forward.
Within Compart’s DocBridge® product family, the global omnichannel communication software manufacturer provides applications in cloud environments. That involves offering selected functions as services that can quickly and easily be integrated into existing infrastructures through well-documented and easy-to-use web APIs (usually based on the REST pattern) and linked with third-party applications.
There are a number of DocBridge® products already available as packaged business capabilities, which can be used as dedicated document and output management processes. They include DocBridge® Impress (document creation), DocBridge® Conversion Hub (a central conversion service for the digital inbox), and DocBridge® Document Viewer (a universal, web-based viewer for almost any format). Due to their granularity, they are a worthwhile alternative to monolithic on-premise applications.
DocBridge® Gear plays a central role in Compart continuing to expand the range of such solutions. It’s a software platform for modeling reusable tasks and processes, or worklets, that can be called via corresponding API. For example, if a customer requires a tool that converts AFP to PDF, it can model the process from a number of worklets that can then be integrated via API. In addition to REST, hot folders and even the command line are available to call a process in DocBridge® Gear.
Compart's goal is to support companies by automating their customer communication processes and making them more agile while also conserving their IT resources. To achieve that, Compart continues to push the automated provision, distribution, and orchestration of applications by using containers and Kubernetes to continue meeting the increasing demand for easily integrated microservices.
Case Study: Document Creation as an API Service in a Hybrid Cloud
Compart is currently running several projects on this topic, including a migration to a new ERP system that operates in the Microsoft Azure Cloud. It was also replacing the page-oriented output management system. A customer, therefore, was looking for a solution that could integrate well into the new hybrid cloud architecture and serve analog media, such as print, as well as electronic media, particularly email.
The company targeted several providers of document and output management software, including Compart. They did not want to back "one horse,” defined as a manufacturer that offers all the required functionalities in a single product from a single source. Instead, the customer pursued a "best-of-breed" approach—it sought granular microservices with clearly defined API interfaces, each covering only a specific document and output management process that could easily integrate into a new, modern infrastructure. They wanted an overall system that was scalable in terms of document volume and user numbers, and that interacts easily with other providers’ services as part of the hybrid cloud.
The company decided to use two core components of the DocBridge® Impress solution for its document creation DocBridge® Impress Designer and DocBridge® Impress Engine.
The customer uses both services to generate invoices, statements, verification documents, document copies, and in fact everything they produce in their new ERP system and send as an email or traditional letter. The two services’ tasks are clearly defined: While DocBridge® Impress Designer creates document templates and automatically distributes them to the production environment, DocBridge® Impress Engine uses those templates to generate finished documents in the correct format for the medium.
Resource Management for Document Creation
Another Compart API service, DocBridge® Resource Director, will soon be available for document generation. That component manages all the resources required to generate a document, such as fonts, logos, colors, text modules, images, and more, ensures that correct resources are assigned to corresponding documents, and monitors dependencies between resources. That prevents errors and rule violations in document generation, such as the use of outdated or non-existent logos and fonts. DocBridge® Resource Director also ensures that resources are not accidentally deleted, and incomplete projects are not sent into production. Another part of its scope is the automatic versioning of all resources.
The role of DocBridge® Resource Director cannot be overestimated. Document creation usually involves many templates and can quickly become confusing, especially if many text modules, images, and fonts are used. DocBridge® Resource Director manages resources in a document-dependent manner.
Case study: Travel insurance claims settlement as an API service
One Compart client in Germany, a large travel insurance provider, needed to establish a new, business-critical process involving communication between the customer, the call center, and its claims processing department. The company’s legacy system did not provide enough availability, and the client needed to either purchase additional licenses and update or expand its existing solution at great expense.
Instead of adapting their entire, highly monolithic legacy system merely for one use case, a better, much more affordable solution was to cover the communication process with a dedicated API microservice that automatically scales as needed.
Granular, flexible, and easy-to-integrate micro applications such as DocBridge® Impress Engine are a great solution. Using DocBridge® Impress Engine, an application process looks like this: A customer calls the travel insurer's call center to report a claim, such as an illness while on vacation abroad. The claim handler records the process, enters the necessary data into the system’s application, and uses DocBridge® Impress Engine to generate a PDF document that is electronically sent to the insured. The insured completes the document and returns it to the insurer. In other words, the DocBridge® Impress Engine REST web service both generates the PDF document from the company's existing specialist application and also returns it, once it’s filled out by the customer, to the company.
The service can also process formats such as HTML5, meaning it’s possible to do away with the PDF workflow entirely and instead create the document in HTML. That format is easier to process than PDF, which is strongly oriented towards the DIN A4 page standard and is, for instance, not well-suited for display and editing on mobile devices.
Compart expects increasing demand for granular API services in document and output management so companies and public authorities can quickly and easily add new processes to their document processing and augment and modernize existing ones. Using such services lets companies keep customer communications as flexible as possible against the backdrop of digitization, including new communication channels and document templates and formats.
Thorsten Meudt, Chief Marketing Officer at Compart, says, "We are deliberately focusing on these topics and will continue to expand our portfolio’s modular architecture in coming years. Our goal is to offer API microservices that are even more scalable and easily deployed and orchestrated as containers. Customers who intend to move to or are already in the cloud are in good hands with us.”
Software Solutions for Document and Output Management Based on API Microservices (Managed Business Capabilities)
DocBridge® Impress: Microservices for Omnichannel Document Creation
DocBridge® Impress is a scalable, platform-independent software for designing page- and device-independent documents. It’s easy to use even without IT know-how and can be an on-premise or private, hybrid, or public cloud solution. It allows the user to separate out certain functionalities as microservices and integrate them quickly and seamlessly into existing IT structures, including web-based API, such as REST, in the cloud.
Documents created with DocBridge® Impress are automatically omnichannel-capable and barrier-free, according to PDF/Universal Accessibility (PDF/UA) and Web Content Accessibility Guidelines (WCAG).
With the composition solution, documents can be created and sent to all relevant channels as different media—including a printed page, a PDF in an email attachment, a responsive HTML page both in a web browser and on a smartphone or tablet, and via Messenger services. Create a document once, and it’s available as all media types.
DocBridge® Impress represents a paradigm shift in document design. Creation is independent of predefined page size, based on open standards such as HTML5, and enhanced with print-relevant functions. There is an option to store business and language logic rules, as well as functions for the integrated management of templates, images, text modules, and other resources for consistent documents.
DocBridge® Impress architecture is based on two separate components—the web-based editor (Impress Designer) and the actual composition engine (Impress Engine). The components can be used together or separately as microservices directly connected to existing applications via web services.
DocBridge® Impress Designer
DocBridge® Impress Designer lets users or text administrators design a document via an intuitive interface and template. If needed, they can add layout details for digital channels or printing.
Users can store business logic rules in DocBridge® Impress Designer, determine which languages documents should be available in, and decide whether they should be generally accessible as per PDF/UA and WCAG.
- Inserting barcodes and control characters, such as OCR, OMR, and DV franking
- Previewing the document for all conceivable output channels
- Converting to the desired target formats including any format Compart supports (including HTML, PDF including specifics, ZUGFeRD, AFP, PCL, and PostScript)
DocBridge® Impress Engine
DocBridge® Impress Engine is the heart of DocBridge® Impress. It merges templates created in DocBridge® Impress Designer or elsewhere with variable, raw data from business applications to create a finished document that uses defined rules and the resources provided, such as images, text modules, and more.
Learn more about DocBridge® Impress: https://www.compart.com/en/docbridge-impress
DocBridge® Conversion Hub: Microservices for Preparing Standardized and Automated Documents in the Digital Inbox
The high-performance, scalable, and seamlessly integrated DocBridge® Conversion Hub platform goes beyond the scope and intent of other, conventional document conversion software. Probably the most significant advantage of the Compart solution is its almost unlimited format variety. DocBridge® Conversion Hub can process virtually every type of document type.
Even messages from messenger services, images in various formats, emails and their attachments, and content in proprietary or obsolete formats can be processed using the solution. DocBridge® Conversion Hub acts as a funnel—it takes every electronic document it receives and recognizes it, regardless of format, prepares it by converting it into a readable and analyzable format, and extracts its relevant data. That lays the foundation for further automated processing, which includes AI-based processes.
The platform’s core is its “dispatcher,” which analyzes every incoming message (whether email, fax, SMS, messenger service, or paper letter) and automatically decides on its optimal conversion route. Which format should it be converted to? How should further processing take place?
DocBridge® Conversion Hub includes an optical character recognition (OCR) function for extracting content and metadata and offers easily configurable integration with third-party applications. Via the DocBridge® Gear solution, DocBridge® Conversion Hub can integrate into complex document processing applications, such as those based on AI and robotics technologies.
Due to its granular architecture, the individual DocBridge® Conversion Hub functions can be obtained as separate API services and connected and used with existing applications in cloud environments.
Read more about DocBridge® Conversion Hub at www.compart.com/en/docbridge-conversion-hub
DocBridge® Document Viewer: Microservices for Viewing and Editing Documents of Any Format and Size
DocBridge® Document Viewer is web-based software for viewing digital documents in any format. Using the cloud-enabled application, you can display documents of any size and influence them by rotating, zooming, or opening several documents simultaneously. In addition, it displays metadata such as from AFP or print control data such as trays or duplex. There are no restrictions on the number of pages, file size, or number of users.
The solution is primarily aimed at companies looking for a multiformat view solution for a high or frequently changing throughput of documents they can easily integrate into existing applications and workflows. The application can be scaled as needed based on existing document volumes and the number of users.
Once you install DocBridge® Document Viewer on your central corporate server, users can use a browser to access the high-performance application right from their work station. That means it’s unnecessary to spend time and money maintaining a desktop application, and employees don’t have to copy or download confidential files to local computers to view them.
That high level of integration-capability with all systems is a key advantage of the software. It means an insurance company clerk or a commercial registrar can view and edit documents directly on the screen, regardless of the document’s format and which application the user is working on, and without installing any special software or browser plugin.
Due to its architecture, performance, and wide range of file formats, DocBridge® Document Viewer is a worthwhile alternative to conventional viewer offerings for companies that increasingly receive documents via web portals or make them available to their customers.
Other advantages include simple administration and maintenance. All changes and functional enhancements, such as upgrade releases, are imported once, and then after implementation, they are automatically available to all users. That means updates never have to be carried out at individual workstations.
Try the online document viewer DocBridge® Document Viewer for free at www.compart.com/en/docbridge-document-viewer-software-trial
More information at www.compart.com/en/docbridge-document-viewer
DocBridge® Gear: Platform for Automated Processes in Document and Output Management
Compart’s DocBridge® Gear software reflects API economy principles for customer communications: trouble-free interaction between all applications, systems, and services based on standardized and open programming interfaces, which lets users extend existing business processes or develop new ones.
With the DocBridge® Gear application, client-specific document creation, conversion, modification, and output processes can easily be configured based on raw data.
Typical quality assurance processes such as document review and comparison, validation, and release workflows can also be modeled. DocBridge® Gear works by utilizing reusable API services, or worklets, that represent specific functionalities and sub-processes. Those worklets can be granular, meaning small, manageable processes, or very large, as in multiple nested processes that utilize complex criteria.
DocBridge® Gear is the core of Compart's cloud and SaaS strategy and offers multiple ways to model separately deployable microservices.
DocBridge® FileCab: Microservices for Collecting, Reviewing and Transferring Microsoft Office Documents to Central Document Processing
DocBridge® FileCab software collects, checks, and transfers Microsoft Office documents to a company's central document processing system. Employees use the software to check correspondence they create against company-defined criteria and rules sets before forwarding it to the central output management system. Correspondence is checked immediately after it’s created in Microsoft Office, which significantly increases process quality.
Users can also use the DocBridge® Document Desktop add-on module, a web application, to combine the central collection of correspondence with an approval workflow. That allows the formal, rule-based review to be supplemented by visual, content-based quality assurance.
Components of DocBridge® FileCab:
- DocBridge® Document Desktop is a web application for document validation and approval that complements visual content quality assurance.
- DocBridge® Document Collector is a central server unit that collects individual correspondence from all connected FileCab clients. It selects documents awaiting review and transfers the released processes to the connected central analog (print) and digital processing at defined times.
Both components can also be used as separate microservices based on API.
More information about DocBridge® FileCab at www.compart.com/en/docbridge-filecab
In traditional shipping, transport containers allow for the quick distribution of goods in a standardized "package," whether the mode of transportation is ship, plane, train, or truck.
In IT, containers operate similarly: They package an application and the files required to run it into one handy unit.
Along with managing and distributing server applications, containers also make it easier to install and operate them. They facilitate handling complex server applications and allow extensive automation of a data center’s rollout processes. That’s particularly important when deploying scalable, distributed applications within a cloud environment.
When rolling out new applications or releases, an application is dependent on certain elements of its environment, such as local settings or function libraries. It’s often the case that settings in the development environment are different than those in the application’s test and production environment. Because of this, an application can work differently or not at all in rollout.
Other factors can interfere with a smooth rollout, too, including the application's underlying operating system, its version and settings, any added packages and modules, or the network configuration. Deploying multiple applications across different platforms can be a challenge.
That’s where containers offer an immediate advantage. Developers package an application along with everything it needs, such as libraries and configuration files, into a container. The application, therefore, is not installed directly on the target system. The container’s package provides the application’s complete runtime environment.
That lets developers easily move applications back and forth between different environments—to test the application in one hardware environment, for instance, and run it in another. Or they can run an application first on a physical machine and then in a private, public, or hybrid cloud.
Containers make applications independent from the environment where they are executed. They act similarly to a virtual machine (VM). A difference is that while a VM contains applications complete with an operating system, several containers can share one operating system kernel. Each application is given its own user space, which is an entirely isolated environment.
Compared to VMs, therefore, which contain gigabytes, containers consume significantly fewer resources such as computing power and main memory. Containers only contain megabytes. Many more containers than virtual machines, therefore, can fit on a server. Containers are also up and running much faster. While VMs sometimes take several minutes to start, applications are available almost immediately.
Containers complement virtualization
Virtualization solutions, though, are not suitable for all application scenarios, so they are not superfluous and will not be completely replaced by containers.
Containers are well-suited for infrastructures with a large number of application instances that run in parallel. They are also ideal for applications subject to frequent updates and functional extensions. For applications made of different components based on a microservices architecture, containers are an efficient way to implement a new rollout without a large overhead.
Virtualization with hypervisors is still a better choice, though, for some types of applications. One example is the provision and operation of standard server services such as database servers, directory servers, or even web servers. Others are standardized applications subject to longer update cycles that third parties provide.
Containers are, therefore, a useful addition to virtualization rather than a replacement.
Docker is open-source software for isolating applications in containers. It simplifies distribution because containers can easily be transported and then installed as files with all their necessary packages. Containers ensure the separation and management of resources used on a machine. According to Docker’s developers, that includes code, runtime module, system tools, and libraries—everything that can be installed on a computer.
Docker uses Linux techniques such as Cgroups and namespaces to provide the isolated workspace that is a container. Initially, it used the LXC interface of the Linux kernel, but Docker developers have since developed their own programming interface called libcontainer, which is also available for other projects. Docker uses the overlay file system AuFS as storage backend, but as of version 0.8, the software also supports btrfs.
Docker is geared towards virtualization with Linux. However, it can also be used with Hyper-V or VirtualBox on Windows and VirtualBox on macOS. Since resource separation is not entirely secure with Docker techniques alone, Red Hat implemented support for the security-relevant kernel extension SELinux, which secures the containers further at the host system level.
Docker was released by the company dotCloud in March 2013. The company was renamed Docker in October 2013. The platform-as-a-service product, still called dotCloud, sold to Berlin-based cloudControl in August 2014 and became increasingly well-known and popular that year.
Docker has become a fixed component of Red Hat Enterprise Linux. It’s also included in Linux’s openSUSE distribution.
In Summer 2014, Docker, Microsoft, IBM, Red Hat, CoreOS, Saltstack, and Mesosphere joined the Kubernetes project. This project, initiated by Google, aims to deploy containers on all public, private, and hybrid cloud environments.
Kubernetes is an open-source system for automated deployment, scaling, and management of container applications. Originally designed by Google, it was donated to the Cloud Native Computing Foundation (CNFC). It aims to provide a “platform for automated populating, scaling, and maintaining application containers on distributed hosts.” Kubernetes orchestration is supported by leading cloud platforms such as Microsoft Azure, Amazon AWS, Oracle OCI, and OpenShift.
Kubernetes was founded by Joe Beda, Brendan Burns, and Craig McLuckie. Other Google developers such as Brian Grant and Tim Hockin joined the project soon after its start. Google introduced Kubernetes in 2014.