For most self managed Kubernetes environments the SQL database is one of the most important infrastructure parts. Typically SQL database servers are not designed to run on distributed nodes in an environment like Kubernetes. One solution is to run a single SQL database in a Kubernetes POD with a distributed filesystem like Longhorn or Ceph. This works well for example with PostgreSQL in most situations. Of course this can have some performance impacts and requires fast SSDs. Another solution is to run a distributed SQL Database like Cockroach. With the latest version of the Imixs-Cloud project we now offer a smart solution to run a SQL Database cluster within a self managed Kubernetes cluster.
Note: CockroachDB does not support the isolation level of transactions required for complex business logic. For that reason the Imixs-Workflow project does NOT recommend the usage of CockroachDB. See also the discussion here.
CockroachDB is a distributed SQL database with a build in replication mechanism. This means that the data is replicated over several nodes in a database cluster. This increases the scalability and resilience in the case that a single node fails. With its Automated-Repair feature the database also detects data inconsistency and automatically fixes faulty data on disks. The project is Open Source and hosted on Github.
CockroachDB supports a lower level of ACID transactions. This means guaranteed atomicity, isolation, consistency, and durability of data is not the same quality as in a PostgreSQL database . However CockroachDB can be used in combination with Jakarta EE and JPA. Supporting the PostgreSQL wire protocol, CockroachDB can be used with the standard PostgresSQL JDBC driver.
With the latest update of the Imixs-Cloud project the Kubernetes cluster environment now also supports GitOps. GitOps describes a concept in which a git repository can be used for the entire management process of an application – from development to deployment to maintenance. With the directory structure of separate sub-directories for each application the core concept of Infrastructure as Code was already supported by Imixs-Cloud from the beginning.
Now the project integrates the Open Source project Argo CD in its tool chain. If you already have a Imixs-Cloud environment running you can start Argo CD within seconds. Just edit the ingress deployment with your own Internet domain and start the deployment:
The new version of the open source project Imixs-Workflow provides an improved OCR integration and supports much more document formats.
With the upcoming release of Imixs-Archive v2.1.2, which is part of the Imixs-Workflow ecosystem, nearly all kinds of documents can now be analyzed on demand. The Optical character recognition (OCR) is based on the latest version of the Apache Tika project. The Imixs-Archive service detects and extracts metadata and text from all common file types (such as Word, PPT, XLS, JPG and PDF). All of these file types are parsed through an integrated microservice, making the data useful for fulltext search, content analysis, translation, and machine learning.
Even a snapshot taken with your smartphone from an invoice or a contract document can now be transferred to the Imixs workflow system in seconds. This makes the digitization of business processes even faster and easier.
With the integrated Workflow Management Suite Imixs-Office-Workflow your team can collaborate fast, clear and in a structured way.
Imixs-Workflow provides a modern microservice architecture. This means that you can integrate this solution into any container-based infrastructure such as Kubernetes. The Imixs workflow project already provides production ready Docker images.
With Imixs-Cloud we started a new open infrastructure project, providing a lightweight kubernetes cluster for small and medium-sized organizations. This projects goal is to build, run and maintain business applications in a production ready and self managed kubernetes cluster. The main objectives of Imixs-Cloud are simplicity, transparency and operational readiness.
The runtime environment is based on Kubernetes and provides an easy way to setup and maintain a medium-sized kubernetes cluster environment hosted on virtual servers or bare metal. The project is open source and constantly under development. You can join the project on Github.
The project contains information how to setup a kubernetes cluster on bare metal servers or cloud servers.