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 Crãciun, I. Ivanciu, V. Dobrota
{"title":"Implementation of a Continuous Integration and Deployment Pipeline for Containerized Applications in Amazon Web Services Using Jenkins, Ansible and Kubernetes","authors":"Artur Cepuc, Robert Botez, Ovidiu Crãciun, I. Ivanciu, V. Dobrota","doi":"10.1109/RoEduNet51892.2020.9324857","DOIUrl":null,"url":null,"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.","PeriodicalId":140521,"journal":{"name":"2020 19th RoEduNet Conference: Networking in Education and Research (RoEduNet)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-12-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 19th RoEduNet Conference: Networking in Education and Research (RoEduNet)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/RoEduNet51892.2020.9324857","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10
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.
在Amazon Web Services中使用Jenkins, Ansible和Kubernetes实现容器化应用程序的持续集成和部署管道
如今,云计算已经成为大多数企业的首选解决方案。这导致了DevOps技术的引入,开发人员与网络工程师密切合作,以确保快速可靠地部署他们的应用程序。本文介绍了一个完整的自动化流程,从检测基于java的web应用程序源代码中的变化开始,在Kubernetes集群中创建新的资源来托管这个新版本,最后在AWS中部署容器化的应用程序。该解决方案遵循DevOps最佳实践,并在持续集成阶段依赖于Jenkins。这里的新颖之处在于我们使用了Ansible for Continuous Deployment,从而增加了可伸缩性和整体易用性。尽管该解决方案结合了六种不同的技术,并且只需要很少的计算资源,但它确保了零停机时间和快速验证。