DevOps Implementation with Enterprise On-Premise Infrastructure - Muhammad Alvin; Rizal Fathoni Aji (JURNAL MEDIA INFORMATIKA BUDIDARMA, 2023)
Digital transformation is essential in today's VUCA era (volatile, uncertain, complex, ambiguous). As the primary driver of digital transformation, the software has widely adopted agile concepts with agile software development. Its short and iterative cycle makes it adaptable to change. Instead of producing significant changes simultaneously, the development team produces small but frequent changes. The operations team is overwhelmed with implementing these changes, and bottlenecks arise. DevOps comes to remove these bottlenecks and allow the development and operations teams to work together to release the software to users quickly. As part of the digital transformation, PT Logistik Pangan has started to implement DevOps with on-premise infrastructure, which is yet to be optimal. This qualitative research aims to understand the steps taken by the company for implementing DevOps with on-premise infrastructure using GitLab and offers suggestions on how to maximize its implementation. The results show that implementing DevOps with on-premises infrastructure requires additional works to manage the supporting infrastructures for DevOps. Implementation was done incrementally, by adopting DevOps practices one by one at a time. Version control (also known as source control or source code management) is implemented by using GitLab, and requires self-managed GitLab as supporting infrastructure. Continuous integration and continuous delivery are implemented by using GitLab CI/CD, and requires GitLab Runner as supporting infrastructure. Besides the DevOps practices, the company also implement container technology by using Docker that is upgraded to Docker Swarm later, and requires local Docker Registry as supporting infrastructure. All the supporting infrastructures are installed on-premise in company’s data center. It includes servers, storage, and networking that must be managed separately. Some improvements are ensuring mindset and culture have been adjusted, implementing other principles alongside automation, and should continuing beyond these stages: Code, Build, Test, Release, and Deploy. This research has limitation of using GitLab products only. Future research can use other DevOps tools or combine GitLab products with other products.