Case Study

Webnode: Continuous Deployment with CI/CD pipeline

Table of Contents

Technologies we use

About The Customer

Webnode is an established business operating in the IT industry, specializing in providing an online platform for individuals and businesses to create and manage their websites. Traditionally, Webnode relied on an on-premises infrastructure that limited their growth and innovation potential and was configured for click operations. Their previous architecture offered minimal transparency into data center management, utilized a manual approach to infrastructure building, and employed a hybrid model. The situation fostered a limited understanding of Amazon Web Services (AWS) and constrained their ability to configure their infrastructure.

Customer Challenge

The absence of Continuous Integration/Continuous Deployment (CI/CD) processes and software release runbooks posed a significant challenge for the customer. The manual execution of changes on servers, coupled with reliance on a non-automated custom Ops toolset, resulted in a workflow that was error-prone and time-consuming. This approach not only increased the risk of human errors but also slowed down the deployment cycle, impeding the organization’s agility in responding to market demands. The lack of automation also hampered the repeatability and consistency of deployments across different environments, leading to potential inconsistencies and difficulties in troubleshooting.


Another pressing issue revolved around the customer’s dependency on the data-center management team for server provisioning and networking component setup. The extended duration of 5 to 8 working days required for these tasks led to substantial delays in project timelines and hindered the organization’s ability to scale and adapt quickly. Such a time lag in server provisioning resulted in missed business opportunities and reduced competitiveness. It also limited the organization’s ability to efficiently allocate resources based on real-time requirements.

Furthermore, the absence of version control for infrastructure changes introduced a layer of complexity and risk to the customer’s development process. While application versions were tracked in Git, the lack of a structured approach to manage and track infrastructure changes led to confusion, inconsistencies, and difficulties in maintaining a clear history of alterations. This lack of synchronization between application code and infrastructure configurations could potentially have resulted in compatibility issues, security vulnerabilities, and difficulties in replicating environments accurately.

Another pressing issue revolved around the customer’s dependency on the data-center management team for server provisioning and networking component setup. The extended duration of 5 to 8 working days required for these tasks led to substantial delays in project timelines and hindered the organization’s ability to scale and adapt quickly. Such a time lag in server provisioning resulted in missed business opportunities and reduced competitiveness. It also limited the organization’s ability to efficiently allocate resources based on real-time requirements.

Furthermore, the absence of version control for infrastructure changes introduced a layer of complexity and risk to the customer’s development process. While application versions were tracked in Git, the lack of a structured approach to manage and track infrastructure changes led to confusion, inconsistencies, and difficulties in maintaining a clear history of alterations. This lack of synchronization between application code and infrastructure configurations could potentially have resulted in compatibility issues, security vulnerabilities, and difficulties in replicating environments accurately.

Partner Solution

The challenges were overcome with a comprehensive solution. Manual updates for both infrastructure and application code were replaced by a robust GitLab-CI based CI/CD approach, ensuring controlled changes. Rigorous testing covered development, staging, and production, minimizing errors and promoting well-tested changes.
A sandbox environment encouraged innovation, facilitating experimentation with modern tools like EKS, AWS Batch, Aurora, and Lambdas. Infrastructure management was transformed using Terraform/Terragrunt under GitOps principles, optimizing configuration and reducing redundancy.


Deployment saw a remarkable shift. Applications were automatically channeled through GitLab CI/CD pipelines, eradicating manual code updates. This shift reduced deployment to minutes, thanks to a merge/pull request model that ensured automated testing before promoting changes to production. This accelerated process heightened reliability and stability.

Results and Benefits

Release times for infrastructure and code changes were drastically reduced from weeks to just hours, and in some instances, minutes. The Ops team experienced a significant shift – they no longer relied on the data-center management team to initiate server provisioning, a process that previously took up to a week. Instead, the Ops team efficiently created VMs themselves using Terraform/Terragrunt as Infrastructure as Code (IaC), taking just a few minutes. Application deployment was equally streamlined – non-dockerized applications benefited from prepared golden images through AMIs, while dockerized applications seamlessly operated on EKS, utilizing images from ECR.
As a result, the client now enjoys a streamlined yet highly effective CI/CD solution. This optimized approach allows for swift changes and rapid deployment cycles, boosting operational agility and responsiveness.