Our Product
Claromentis, a leading provider of intranet software, has been providing a substantial platform for over 20 years that includes a complete suite of intranet applications as well as advanced e-forms and workflows for business processes, an e-learning framework and task management – all in one central hub.
To maintain its position as a global leader in the industry, Claromentis has leveraged the power of modern technologies such as GitLab, CI/CD, Docker, and Terraform to create an automated and efficient end-to-end process for the development and installation of its platform.
This has been a significant project over many years, as we rearchitected our software and its supporting services to be able to leverage these prominent technologies.
GitLab
GitLab allows Claromentis to manage changes to its software codebase efficiently and securely, while its CI/CD pipelines automate the building, testing, and deployment of software. Docker containers make it easy to package and run software across different environments, and Terraform allows Claromentis to manage its infrastructure as code.
Docker
In particular, Docker has helped our team maintain consistency between development and production systems, eliminating most of the classic “it works on my system” errors. GitLab CI/CD, which uses Docker containers to automate tasks, has been leveraged to automate packing and updating the technologies and services used by our product, as well as automate building the Claromentis product and our internal services, all of which we can easily share with the entire team.
Stateless Architecture
In order to make the most of deploying our product using containers, we needed to refactor and redesign its core components to support a stateless architecture and rebuild some of its supporting services to run natively in the cloud. While this took years of planning and development, we’re now able to create and test universally consistent instances of the entire product within seconds, instead of hours or even days.
Containers have become the new standard for how we assess technologies, communicate about them, integrate them into our software ecosystem, and maintain a high engineering standard throughout the team. CI/CD has helped us codify our processes to avoid repetitive chores in our day-to-day product development.
Whilst we’ve been using Docker in our development environments for quite some time and have already seen huge benefits, we switched our focus to translating these benefits to our production environments, initially focussing on our Cloud (SaaS) offering.
Terraform
In order to add the same level of consistency and scalability to our Cloud Infrastructure that Docker brings to our application, we have invested time into the research and testing of other exciting technologies. In particular, our team has utilised Terraform, an open source project led by Hashicorp, which was introduced as a way to provision cloud infrastructure and resources, without being tied into a specific cloud provider/service (cloud agnostic).
Terraform, enables our team to describe our cloud architecture and is a form of Infrastructure as Code (IaC). Think of this as a blueprint that allows our team to collaboratively define which cloud resources we’d like to use, how they should be configured but also how they are maintained and eventually destroyed when no longer required.
Terraform is modular by design, so although the initial time to develop and test is perhaps greater than for example using an existing set of scripts or commands, we have the benefit of then being able to use these reusable blocks of code (modules) for other existing and future projects.
A good mark of how successful a technology will be, is the adoption by other key service providers and it’s been great to see more and more of our key technology partners adopting Terraform themselves and in turn, providing us with the means to automate how we integrate with their services, in a manner that is not only automated, but scalable.
The result of combining the use of Docker, our CI/CD pipeline and Terraform – a streamlined process that minimises errors, maximises consistency, auto-scales horizontally, and provides a great experience for customers from onboarding through upgrades while also facilitating any required custom development.
Early results clearly show that we can look forward to a huge decrease in retroactive testing and tracking of errors that were due primarily to inconsistent software versions and server environments.
All of these technologies will be used on our key internal systems to start with, over the next few months, before then plan the roll out to our SaaS production systems.
On Premise
Once we have learnt from our experience of using these technologies within our Cloud/SaaS environment, we’ll then look to introduce these improvements to our On-Premise customers. In the meantime, On-Premise customers (new and existing) will remain fully supported by our current installation procedures and documentation.
In conclusion, Claromentis has leveraged cutting-edge technologies like GitLab, CI/CD pipelines, Docker containers, and Terraform to revolutionise the entire lifecycle of our intranet software platform.
This has resulted in efficient automated processes that deliver a high-quality and reliable intranet software platform for all of our customers.