We live in the age of process automation and expert collaboration. To ensure that a system is delivered quickly and efficiently, DevOps specialists are involved in the software development process. DevOps (DEVelopment OPeration) is a set of practices aimed at increasing the efficiency of software development and operation processes due to their continuous integration and active collaboration of subject matter experts using automation tools.
According to Statista’s survey, almost 80 percent of respondents believed that DevOps is at least somewhat important, with almost half of them claiming it is extremely important. Softengi was approached by Nectain, a global tech company, to develop AI procurement software, which will incorporate the most advanced technologies into it. Nectain wanted a top-notch e-procurement system with smart tools and innovative features.
One of the main requirements of the client company was the fast and efficient development of the targeted system. However, the solution requested has to be very complex, with many modules based on various sophisticated technologies. That is why Softengi has engaged a large team of DevOps specialists to automate all stages of software creation, from development, building, and testing to deployment, release, and delivery to end-users.
The E-Procurement System
Softengi created top-notch software for procurement management, embedding it with AI, advanced analytics, Machine Learning technology, and a Data Mining system. The E-Procurement system contains several blocks, each of which is dedicated to a specific area of procurement.
As a result, Nectain’s procurement solution enhances the effectiveness of users’ routine procurement operations, increases the speed of the procurement processes, and reduces costs on sourcing management.
Read more about the E-procurement solution for Nectain.
DevOps for the E-Procurement System
Softengi assigned a DevOps team with the following objectives:
- Reduce time to market;
- Decrease the failure rate of new releases;
- Shorten the time required to fix bugs;
- Reduce the recovery time in case a new release fails.
In order to achieve these goals, our DevOps experts carried out a set of following actions:
- Automation of release build, testing operations, and deployment processes;
- Service versioning;
- Implementation of CI/CD patterns;
- Containerization of services;
- Deployment of rolling strategy;
- Database Migration;
- Infrastructure monitoring and notification sending in case of service failures;
- Notification and interaction with services via messengers;
- Deployment of client-server applications in the cloud;
- Virtual machine management.
The Solution Delivered
To automate and enhance release build, testing operation, and deployment processes, our team implemented a microservice architecture. Each service was allocated a separate container, which allowed to quickly determine if there was an issue with an individual module of the e-procurement system. From the user’s point of view, these units (containers) are completely identical to the individual operating system, which ensures that the containers are completely isolated, so applications from different containers cannot affect each other. For this purpose, our specialists used Docker software, which allowed to realize containerization, ensuring fault-tolerance of the system.
To orchestrate the defined containers, Softengi’s DevOps team applied Kubernetes that allowed to combine all the containers into a single cluster. As a result, it helped to balance the load on the system, dynamically scale the service, and prevent cluster breakdowns in case the single node fails. This tool also provided Rolling Updates for the system under development.
Additionally, our DevOps experts applied CI/CD patterns using GitLab CI, which allowed the release of a constant flow of software updates into production in order to accelerate the release cycles of Nectain’s procurement management software.
If you want to know more, read our article about DevOps Consulting.
Infrastructure Monitoring and Notification
Softengi’s DevOps specialists applied a smart infrastructure monitoring system for the development process to immediately detect issues when they occur. Using Prometheus allowed to collect and record real-time metrics from various systems in a time-series database and adjust allerting if there is any problem. In addition, to visualize service information, Grafana was used.
Also, in order to effectively interact with services via messengers, ChatOps patterns were used in the development project. With Azure ChatBot, Softengi’s DevOps employees integrated a bot into the development team chat, bringing functionalities, updates, and scripts into conversations. As a result, many tasks were automated, making collaborations better and faster.
Today, the need for speed drives DevOps shifts to the cloud. Softengi migrated Nectain’s system to the cloud for continuous delivery using Azure Compute instances, Azure AD, and Azure DevOps. As a result, this practice freed up more time to fix errors, accelerate debugging, speed up test cycles, and reduce the amount of sudden issues at the end of the development cycle.
With the DevOps practices that Softengi applied, Nectain benefited from proper management of its system infrastructure, which resulted in reduced costs on software development, higher quality of the solution, and accelerated time-to-resolution.
Mental Well-Being Clinic for Virryhealth
Softengi developed a virtual clinic with interactive and non-interactive activities where visitors could schedule therapy sessions with medical experts and visit a VR chat in the metaverse to interact with the amazing nature and animals of the African savanna.
AI-Based Visual Inspection Case Study
Explore how businesses improve production control quality with Ionbond – an automated visual inspection, classification, and anomaly detection solution.
WhTech-WMS: Warehouse Management Software
With WhTech-WMS you can manage access and always know the location of your assets. It allows you to create custom reports and keep an eye on real-time alerts due to crashes or emergencies which gives you the opportunity to always monitor and understand the status of your equipment.