Litcius/Paper detail

Implementation of a Continuous Integration and Deployment Pipeline for Containerized Applications in Amazon Web Services Using Jenkins, Ansible and Kubernetes

Artur Cepuc, Robert Botez, Ovidiu Craciun, Iustin-Alexandru Ivanciu, Virgil Dobrotă

202035 citationsDOI

Abstract

Nowadays, cloud computing has become the go to solution for most enterprises. This has led to the introduction of DevOps techniques in which developers work closely with network engineers in order to ensure fast and reliable deployment of their applications. This paper presents an entire automated pipeline, starting with detecting changes in the Java-based web application source code, creating new resources in the Kubernetes cluster to host this new version and finally deploying the containerized application in AWS. The solution follows DevOps best practices and relies on Jenkins for the Continuous Integration stage. The novelty herein is that we used Ansible for Continuous Deployment thus increasing the scalability and overall ease of use. The solution ensures zero downtime and proves fast, even though it combines six different technologies and requires very few computational resources.

Topics & Concepts

DevOpsComputer scienceCloud computingSoftware deploymentJavaMicroservicesScalabilityPipeline (software)Software engineeringWeb applicationWeb serviceDistributed computingOperating systemWorld Wide WebDistributed and Parallel Computing SystemsCloud Computing and Resource ManagementScientific Computing and Data Management