CI/CD and transition to the cloud for a medical app
The main goal of the project was to transfer a medical services application to the cloud and to automate and simplify the files conversion for the further data analysis process. The problems were as follows:
- Complex app deployment and configuration
- Low app performance
- Lengthy file conversion
Project requirements
The customer wanted IT Svit to perform the following services:
- The app deployment must be made quicker and error-proof through CI/CD
- The app must be able to receive and store .raw files from external sources
- .raw files must be converted into .zip files through a complex process
- There must be a storage with folders for the ready files.
Project results
We provided the following solutions:
- Building a CI/CD pipeline using Jenkins, allowing us to automate and drastically shorten the process of app deployment and configuration
- Enabling several operators to work simultaneously during app deployment, instead of waiting for a single operator to build the Docker image.
- Automation of files conversion process to speed up the app performance
- Terraform manifests for rolling out the required storage infrastructure for app operations
Location: France
Partnership period: 2018-ongoing
Team size: 2 – 4 people
Team location: Kharkiv, Ukraine
Services: cloud architecture, cloud infrastructure management, CI/CD
Expertise delivered: GCP cloud administration, DevOps services, cloud infrastructure management
Technologies: GCP, Kubernetes, Nginx, Jenkins, Ansible, Terraform
Product Overview
Client’s goals
The customer’s existing infrastructure was unreliable and was prone to failing under heavy workloads. The main reason was the huge amount of resources needed for file conversion and the lack of system feedback, so once the 2.5-hour long job was started, the operator had to wait for the outcome. If the process had failed, the operator could discover it only in 2.5 hours.
We had to accomplish the following improvements:
- Design the new infrastructure on AWS or any other provider
- Ensure the system operational stability and resilience
- Enable CI/CD pipelines for the file conversion processes
- Enable simple system configuration and monitoring
- Allowing multiple operators to use the system at once
Project implementation and challenges resolved
After analyzing the project requirements and existing customer’s infrastructure, IT Svit made the following suggestions:
- Use Google Cloud provider
- Use Jenkins pipelines for the files conversion
- Apply Ansible to install Jenkins, Docker, Java, Nginx, pip
- Apply Terraform manifests to manage the future infrastructure in the cloud and to create the bucket in Google Cloud Storage for files
- Use Nginx as a proxy server