About Travelio
Travelio is a technology company in Indonesia that allows users to rent and carry out property buying and selling transactions. Travelio offers a variety of properties ranging from apartments, houses and villas. Travelio property inventory is available in various cities in Indonesia. Apartments that managed by Travelio currently available in several cities in Indonesia including Jakarta, Bogor, Depok, Tangerang, Bekasi, Karawang, Bandung, and Surabaya.
Travelio have multiple application running on their current environment, on-premise, and cloud environment. Travelio is implementing CI/CD pipeline to help them transform their monolith application with manual deployment in to cloud native environment.
Travelio Challenge
Travelio main business is focused on their website and supported by other surrounding applications. With the monolith architecture they are currently using, they always have challenges every time the schedule comes to deploy code to the server, because the application deployment is still done manually and has to spend an average of 30 minutes of downtime, not including if there is a human error or system error which will definitely take more time than normal.
And with a minimum requirement of 1 – 2 times deploying code updates monthly, each month they will sacrifice a minimum of 1 hour of downtime which will directly or indirectly have an impact on the Travelio business itself.
CDT Proposed Solutions
With the increasing business needs to keep up with increasingly fierce market competition, Travelio wants to have a pilot project with the implementation of the LioIS Application (Travelio HR Application) with the aim of increasing the effectiveness of performance in Travelio’s work environment.
CDT identified that the LioIS application has a monolithic architecture with the deployment process still being done manually that prone to human error, on the other hand the LioIS application saves data to S3, and the endpoint hosting is on public MongoDB using GCP.
Based on assessment process that Central Data Technology has done on current deployment process, business needs, and team capability. CDT propose several AWS Services to support those needs, including AWS Elastic Kubernetes Service Cluster for Travelio running their LioIS Application supported by AWS Elastic Container Registry as container registry, AWS Elastic Load Balancer as ingress for their EKS Cluster. And for monitoring task, Travelio will use AWS CloudWatch Logs and Metrics.
On the other hand, after considering to CI/CD process with Travelio Team, CDT decide to propose several third-party services to fulfill Travelio business process including implementation Bitbucket Pipeline, and ArgoCD to support continuous deployment process.
In this implementation process, the Bitbucket Pipeline will be used as a code repository and container image generator. Next, the container image will be stored in AWS ECR. On the other hand, ArgoCD will immediately detect if a new image is pushed to the AWS ECR Repository which will then apply the latest image to the AWS EKS Service. With a service configuration like this, Travelio will be able to optimize business processes that were previously an obstacle to improve company performance.
Results And Benefits
The main objective of this project is that Travelio targets to have maximum of 10 minutes downtime and with best result of eliminate downtime also minimize human intervention for each deployment by implementing CI/CD for LioIS Applications in their environment.
After implementing the solution offered by CDT using a combination of several AWS services above. The system currently running is ArgoCD checking for new images continuously from AWS ECR and applying them automatically to the AWS EKS Cluster. The most important part is after successfully deploying a new configuration using AWS, Travelio can now significantly reduce downtime by only taking 5 minutes of downtime from the previous 30 minutes, or 6x faster than their previous deployment process.