Introduction
The company that worked with Elinext specializes in software development for pharmaceutical companies, which speeds up scientific research and drug discovery. The company developed a platform for automating work tracking carried out in laboratories, which improves laboratory and scientific research operations processes. Before Elinext, all the work for the platform had been covered by the in-house team. However, due to the constantly increasing amount of work with the platform and infrastructure, it became clear that the client needed outside help.
The client’s platform can be easily integrated and used both through the web interface and API and allows to:
- Manage sample inventories;
- Create and fulfill sample orders;
- Manage stores and freezers;
- Track sample transfers;
- Configure and optimize Lab operations workflows;
Challenge
The main objectives that Elinext’s experts had when working on the project were to:
- support all IT operations aspects of the company;
- strive for innovation and evolution of the project’s cloud infrastructure;
- collaborate on the continuous improvement of the project’s DevOps KPIs;
- ensure compliance with the latest industry standards in terms of security and privacy.
There were some challenges that our developers had to overcome:
- The pharmaceutical industry has high security standards. A lot of work was expected to be done to improve the security of the application (patches, updates, testing, etc).
- Finding the balance between the speed of the CI/CD process and the price of the infrastructure involved.
- Kubernetes platform ― an open-source platform for managing containerized workloads and services ― needed an upgrade, which implied reconfiguration of the whole self-hosted build process that would not disrupt the process of product development.
- Proactive monitoring of the application was needed to discover possible bottlenecks that could hit back during application usage at scale.
Solution
The client’s in-house team has been using Agile methodology, so when Elinext’s DevOps Engineer joined the client’s team, he started working within the existing process. He passed special training to learn the basics of scientific research of samples, mixtures, and so on and looked for the best way to implement the needed upgrades to the operations processes. First, he helped develop a branching strategy so that the team of developers could make the product and add features faster. Then, he took part in various aspects of development to make them more efficient, namely:
- User access management
- Project migration
- Gitlab-runner configuration & enhancement
- Gitlab-runner updates & troubleshooting
- Optimization of pipeline (i.e. adjusting the number of steps, reducing execution time, etc.)
- Adding schedule steps for maintenance purposes
During the time the Elinext team worked with the client, it made a number of updates:
- Implementation of GitOps
- Infrastructure as code (IaC) was fully described using Terraform, which allowed to significantly decrease the time to create and destroy new environments that had a single source of truth and were therefore idempotent.
- Product changes caused evolutionary updates to the CI/CD pipeline, which included additional security tests (static application security tests (SAST), dynamic application security tests (DAST), secret detection, code security scanning, and image vulnerability scanning).
- Continuous improvement of Helm charts that were used to deploy the application to AWS Elastic Kubernetes Service.
- Enhanced monitoring was configured by means of Prometheus and Grafana stack featured by AWS Cloudwatch.
Result
The benefits the client saw as a result of Elinext’s work were significant. Application development got quicker, the platform became more stable and secure, and the delivery process became faster. There was a decrease in overall infrastructure costs and less time became required for operations-related work. CI/CD process optimization, eventually, reduced build, test, and deployment time by 15 minutes. Cost optimization of AWS services usage saved up to 2000 USD/monthly without any decrease in performance.
The Elinext team is made up of skilled developers who enjoy taking on tough projects. If you've got a project in mind, reach out to Elinext to find out more about our development services.