CambodiaHealth, a pioneer in Cambodia’s electronic health and medical records sector, made the decision to modernize its suite of applications’ Continuous Integration / Continuous Delivery (CI/CD) workflows by using Amazon Web Services (AWS) to automatically provision test environments and dynamically deploy components on the cloud. This effort helps CambodiaHealth to quickly offer new features and apps to its clients by allowing them to deploy test environments on-demand and having a uniform and automated approach across development teams.
CambodiaHealth is revolutionizing healthcare in Cambodia by providing a digital platform that allows doctors and health practitioners to better share information with patients and families. CambodiaHealth is the country’s leading provider of electronic medical records (EMRs), as well as a pioneer in home health monitoring (HHM), consumer health, benefits, and pharmaceutical administration.
CambodiaHealth hired 1Byte to modernize the continuous development workflows and toolset used by their internal development teams after a successful pilot project to transfer its web-based pharmaceutical application to the cloud. CambodiaHealth’s DevOps team worked with 1Byte to consolidate and modernize their diverse CI/CD workflows into a single standard, allowing development teams to create an infinite number of test environments on the AWS cloud to build and test against.
CambodiaHealth’s software platform enables a wide range of applications created by multiple development teams, each with its unique approach to code deployment. The DevOps team’s processes resulted in a time-consuming and long procedure due to the lack of contemporary technologies for the CI/CD process. It may take up to eight weeks to deploy a new test environment when additional features or apps are deployed.
CambodiaHealth’s DevOps team also sought to standardize and automate its Continuous Delivery (CD) operations to enhance the suite of apps’ overall dependability and stability. Following the completion of a proof-of-concept project to see if the development team’s existing workflows could be automated, it was determined that the platform would be re-architected to be more cloud-friendly and to function in tandem with the new CI/CD process. The new CD process will initially support:
- Deployments to Amazon Web Services (AWS) for test environments
- Deployments for production environments to on-premise data centers (When contracts with on-premise providers come up for renewal, transfer of production workloads to the cloud will be investigated)
The 1Byte Answer
1Byte created an AWS-improved deployment methodology that used configuration management tools and procedures to automate deployments. The following features are included in the newly architected cloud solution on AWS:
- Using centralized workflow tools to assist with the CI/CD process, as well as updated development processes that incorporate enforced pull requests and peer review
- Using DevOps best practices to modernize the CI/CD workflow so that test environments may be deployed dynamically. This involves deploying AWS infrastructure utilizing infrastructure-as-code maintained in a GIT repository to install not just AWS Autoscaling and RDS-enabled apps, but also underlying resources like VPCs, route tables, security groups, and NACLs. AWS serverless resources such as S3, DynamoDB, and Lambda may also be deployed using the approach.
- Creating a fault-tolerant, highly available, and secure infrastructure architecture that is spread across AWS availability zones and contains all deployed instances within well-defined security groups.
The 1Byte solution seeks to provide an automated and repeatable workflow that enables low-risk deployments and better code quality by providing a method for developing and delivering both the application and the infrastructure recorded in source code with any modifications being completely traceable.
CambodiaHealth’s DevOps team increased their release cycle agility with the ability to deploy test environments on-demand thanks to improvements to the CI/CD procedures. The platform’s test environment’s general dependability and stability have also been enhanced. The test environment processes will be used to move production workloads to AWS in the future. Other advantages include:
- Using industry-standard tools and procedures, fully automated provisioning of both infrastructure and apps to the AWS cloud platform. Increased agility and dependability have come from improvements to the whole DevOps process.
- With the capacity to provide robust, production-ready test environments at the push of a button, the platform’s dependability, scalability, and security have all improved.
- Ability to dynamically deploy an infinite number of test environments into the AWS cloud environment to support multiple release and feature branches, allowing development teams to release new features and applications more quickly.
- By standardizing processes across teams and modernizing their tools into an integrated toolset that supports GIT commit and merge standards, code reviews, and end-to-end traceability, increased cooperation, and transparency across the various development teams.