Published On: 5 March 2024

2023

About Katadata.co.id

Katadata.co.id is an online media, data, and research company in the economic and business fields. Founded on April 1, 2012, in Jakarta, this company provides in-depth news, information, and research results based on data for the benefit of business leaders and policymakers but packaged in a straightforward and attractive manner for easy understanding by the public. Therefore, news and information are not only presented in text form, but also in an attractive visual display. Katadata has a tagline ‘Kalau Bicara Pakai Data’ meaning ‘Speak with Data’ to encourage readers to always hold onto data firmly.

Problem Statement

They started their journey in AWS starting from 2018 and in 2022 they plan to modernize their application by implementing DevOps to their Website and CMS Application. It was built in monolithic architecture, using PHP Programming language. They aim to be accessed through Desktop and mobile devices, where both data was stored on the same server. They also build in 3 repositories which are desktop, mobile, and library repositories.

At that time, every time they deploy something, which is in a manual way, they required a downtime of at least 15 minutes, where the documentation for backup or rollback plan is not well documented. They also require to have a deployment process, once a week, scheduled at night since the traffic is low. Since the deployment will affect the web desktop, for each of the repositories changes.

The developer, QA, and DevOps teams must join every time the deployment happens, to ensure no issues during deployment. They also didn’t have any proper test automation, at times they have to delay the deployment due to unexpected errors. These lead to 70% failure rate for each deployment. They also experience troublesome bug fixing, which takes around 2 hours and this could lower their user experiences and impact lower business revenue.

ICS Proposed Solution

We created 2 environments for the application, which are staging and production environments. For automation, we use code pipelines for automatic deployment tools, which will save developer time during deployment and also increase security in the customer’s environment since the developer doesn’t have to enter the server for any deployment. We built 2 pipelines for production and staging, divided into 3 stages:

  • Source : to retrieve the latest code
  • Build : to check code quality automatically and build the latest docker image
  • Deploy : to deploy the docker image to ECS

Sources are taken from Katadata.co.id GitHub repository according to application and branch. Any changes in the repositories will trigger the code pipeline, then the build process is done via AWS CodeBuild to check quality code automatically, write the application configuration and create the docker image. Including uploading to ECR, and creating ECS tasks. The deployment process is carried out using the blue-green deployment method with the all-at-once type. This helps developers to do automatic testing and check the quality of the code. There is a check on the replacement application, if the testing is successful, it will replace the existing application with the latest application.

After the DevOps implementation, currently, the Katadata.co.id team does not have to schedule the deployment time to tackle the downtime, they could do deployment at any time. The DevOps implementation also enhances the security of their environment and application, since the developer is not required to access the servers for any changes. The code pipeline implementation also automatically triggers 3 repositories, so there is no missing out during the deployment.

They are very happy with the deployment and seek to modernize the other applications to enhance automation and security.

If you want to know more about this case study or would like further consultation on your cloud, please contact our sales team at sales@icscompute.com

Re:Invent Go:Beyond

Recently case study

  • June 24, 2024

    GenAI Virtual Assistant for Contact Center Application Provider

  • June 24, 2024

    GenAI HR Assistant for Empatia Talenta Indonesia on AWS