DevOps for Maintaining and Optimizing an E-commerce System

Setronica Team October 23rd, 2024
PROJECT SUMMARY
INDUSTRY

E-commerce

COLLABORATION

Team augmentation

8+ years of collaboration

CHALLENGE

Ensure the round-the-clock availability of the platform

Enhance in-house capabilities through shared expertise

TECH STACK
Ansible
Terraform
Jenkins
Puppet
Elasticsearch
RESULTS

Terraform upgrade

CI/CD optimization

Transition from Puppet to Ansible

One of the UK’s leading deal platforms partnered with us to maintain and optimize its high-traffic e-commerce system. As a large provider of discounts in the UK, the platform handles a massive number of daily users and transactions, similar to selling high-demand event tickets online.

Collaboration and challenges

The project began 8 years ago, albeit with some minor interruptions along the way. During our first online meeting, we singled out 3 main business objectives:

  • Ensure the round-the-clock availability of the platform, maintaining operations 24/7/365
  • Provide expert DevOps support to address complex technical challenges 
  • Enhance in-house capabilities through shared expertise and best practices

While the client had laid the groundwork with their established system, they required our expertise to keep it not just operational but thriving. 

Our DevOps engineers collaborated closely with the in-house team, jointly solving technical challenges and improving the digital platform. This allowed the client’s management to stay focused on the core business goals.

Workspace support

When joining the project, we faced a significant challenge: the client’s outdated Puppet system for instance configuration. This legacy system created security risks and blocked modern DevOps implementation.

We collaborated with the in-house DevOps team to transition from Puppet to Ansible. Their engineer developed initial Ansible configurations, which we then reviewed and refactored to ensure best practices and maximize efficiency.

Ansible and Puppet comparison

The move to Ansible resulted in more flexible, scalable, and maintainable infrastructure-as-code practices, significantly enhancing the overall infrastructure stability and security. This strategic shift not only resolved the immediate challenges posed by the outdated Puppet system but also positioned the platform for more agile and secure DevOps operations in the future.

CI/CD setup

The primary objective in enhancing the CI/CD pipeline was to significantly increase the stability of build and deploy jobs. 

We optimized existing jobs to reduce build times and boost reliability, while also updating CI/CD tools for new features and security improvements. The implementation of new jobs automated manual processes, which reduced human error and increased overall efficiency.

CI/CD pipeline

The revamped pipeline incorporated a suite of modern DevOps tools and technologies. Jenkins served as the primary CI/CD orchestration tool, while Ansible handled configuration management and application deployment. 

For infrastructure-as-code and cloud resource management, Terraform proved essential, complemented by custom automation scripts in Bash, Python, and Groovy. During this process, the legacy Puppet tool underwent gradual phase-out. 

These improvements delivered a more stable, efficient, and automated CI/CD pipeline, which significantly reduced deployment errors and increased successful release frequency.

Looking to scale your DevOps smoothly?

Schedule a free call to discuss improving your infrastructure.

We’ll get back to you within 1 business day to suggest possible next steps.

Log collection system setup

We updated the log management system to cut costs, add new features, and improve alerts. Our approach had clear phases, starting with moving from self-hosted Splunk to Splunk Cloud. This change made the system more scalable and reduced maintenance work.

Here are the tools we’ve used for this project:

log collection system setup

Monitoring setup

We also built a complete monitoring system across the client’s entire infrastructure. Our strategy focused on three main areas:

  • Cost optimization
  • Feature enhancement
  • Seamless integration

The team explored solutions that offer better value for money, identifying and implementing additional monitoring and analytics capabilities, and ensuring smooth integration between logging and monitoring solutions for a holistic view of system health.

This project is still ongoing. When complete, it will give the client a more affordable monitoring solution with better features and deeper insights into their infrastructure and application performance. This work shows our commitment to improving operational efficiency and technical capabilities.

Tech stack

Here’s the overview of the whole tech stack we’ve used for this project:

  • Ansible and Terraform for workspace support
  • Ansible, Jenkins, Puppet, Terraform, and Bash/Python/Groovy scripting for CI/CD setup
  • Splunk, Elasticsearch, Kibana, and fluentbit for log collection system setup
  • Splunk, Elasticsearch, and AWS Cloudwatch for monitoring setup

Results and client’s feedback

Over the course of the project, numerous specific features have been implemented. To summarize some of the major developments:

  • Terraform upgrade (from version 0.11.14) and refactoring
  • CI/CD optimization

These improvements have contributed to the overall evolution and efficiency of the project’s infrastructure and development processes. The consistently positive feedback from the client’s COO and CTO, acknowledging our superior knowledge and expertise, underscores the success of this partnership. 

What the client got:

  • Maintenance of a robust, high-performing e-commerce platform
  • Enhanced ability to handle peak loads and transactions
  • Access to expert DevOps knowledge and support

As for us, we built a long-term relationship with a major UK e-commerce company while gaining deep knowledge in managing busy, business-critical systems. Through this partnership, we established ourselves as a trusted DevOps partner for complex e-commerce sites. 

We continue to provide the client with DevOps support, ensuring the platform runs smoothly and profitably. At present, there is only one participant from Setronica’s side involved in the project.

The immediate plans for the entire team responsible for infrastructure, not just Setronica, include migrating from Puppet to Ansible for the production environment. Additionally, we are preparing a Proof of Concept (POC) for log collection and alerting to replace the existing Splunk solution.

Let’s solve your technical challenges, too! Contact Setronica via the form below to get a free project estimation and expert DevOps advice.

Chapters