Digitalized In-Vivo Examinations
These days customers seek regular updates with constant improvements in functionality. It becomes imperative that the software development team iterates faster and deliver new features and improvements that are of high business value to the customers. This fast pace of development and release of code with each iteration calls for continuous integration and continuous delivery. This also requires high amount of collaboration between software development team and the IT infrastructure team.
Traditionally, software development occurred in silos, with IT and development working independently within their own teams and processes. This separation and competing values created an environment rife with miscommunication, poor alignment, and production delays. The goal is to bridge the gap between IT operations and development to improve communication and collaboration, create more seamless processes, and align strategy and objectives for faster and more efficient delivery.
DevOps is a set of practices that combines software development (Dev) and information-technology operations (Ops) which aims to shorten the systems development life cycle and provide continuous delivery with high software quality.
As part of this case study let us look at how DevOps helped one of our bio-technology customers who needed a Lab Management solution for pre-clinical trials for pharmaceuticals companies. Customer wanted the desired solution to replace an existing application with enhanced features. New solution was expected to be delivered using incremental approach rather than a big-bang approach. Existing and new modules to be released to the business users as and when developed. Keeping future needs in mind, solution (software and IT infrastructure) was expected to be highly scalable (IT resources scaling up and down based on the business need) and extremely robust.
Business need
The top challenges that we identified are listed below:
- Continuous integration and continuous delivery & deployment (short cycle)
- High scalability as the generic and highly configurable solution that being developed deployed to other businesses locations.
- Strong and continuous communication between stakeholders — the end users and customers, product owners, development, quality assurance, and production engineers; specially when stakeholders are not collocated.
2. Solution Implemented
To deliver fast and continuous incremental value, Decos team who have been working in Agile and Kanban for a long time, quickly adopted DevOps. For high scalability, reliability and easy deployment, team developed a Microservices architecture-based application and containerized (Docker) solution. Whereas open-source container-orchestration system Kubernetes was used for automating the application deployment, scaling and management. The application was containerized with 2 pods (Backend and UI pods) per deployment.
Developed application is deployable on cloud as well as on-premises.
Technology stack used:
- React
- GraphQL
- NodeJS
- EventStore
- Postgres
- TypeORM
- FluxCD
- Kubernetes
- Docker
- Git
Deployment Flow:
- Decos team worked on feature branches
- A Pull Request (PR) was raised for the code to be merged to the Master branch after feature was developed. When this PR got approved, the code was automatically merged to the Master branch for UAT.
- Once UAT was signed-off then a new PR was raised from the Master branch to the Stable branch. Once this PR got approved new updates were automatically pushed into production.
DevOps Continuous Integration/Delivery Process
Below diagram depicts the complete CI and CD process that was adopted by the team on the project.
Continuous Delivery
FluxCD was used for continuous delivery; It monitors branches for code changes/commits and triggers automatic deployment on configured environment.
Additionally, we followed Blue/Green deployment approach. In this the approach "green" version (new) of the application was deployed alongside the "blue" version (old). After testing if the new version met the requirements, we updated the Kubernetes Service object which played the role of load balancer to send traffic to the new version by replacing the version label in the selector field.
Our client is a leading manufacturer and service provider that offers medical devices and the relevant accessories and software, as well as services for diagnosis, monitoring and treatment of impairments and disorders that affect new-borns, the brain, nerves, balance, and hearing. The client’s medical devices, like the new-born hearing screener, are used in hospitals, medical clinics, and laboratories in many different regions.
The client’s new-born hearing screener is a portable and lightweight alternative to larger cart-based systems with different specifications. It is a handheld device that combines an otoacoustic emissions (OAE) screener with an auditory brainstem response (ABR) screener. It is used both during in-hospital screening and at non-hospital births and screening sites.
3. Benefits Derived
With focus on agility, collaboration and automation we achieved significant benefits, including:
- Reduced the operational cost by digitalizing several manual processes.
- Increased efficiency and accuracy in sampling and scientific assessment
- Eased in defining & configuring new lab procedures
This project highlights how technology can be leveraged to automate Laboratory Information Management System (LIMS). It also emphasizes on the benefits of DevOps in responding to fast changing business requirements. Customer appreciated Decos teams efforts in completing this project within time limits and for making life of lab technicians simple.
Explore how our DevOps expertise can transform your Laboratory Information Management Systems (LIMS)