Infrastructure Automation Services for E-Commerce Platform

Unveil how our experts transform the E-commerce platform with infrastructure automation services

  • E-Commerce
  • Hong Kong
  • Infrastructure Automation
Infrastructure Automation Services

Executive Summary

Automated and Stable LPM’s Platform

Our Customer

LPM stands as one of Asia’s largest and most trusted precious metal retailers. The company carries a wide range of products including but not limited to popular newly released silver coins, gold bullion, certified coins and the newest and most innovative collectible numismatic issues. The company owns and operates the online marketplace for metal retailers.

The Obstacles They Faced

The client confronted the complexities associated with manual time-consuming code and infrastructure updates. The absence of distinct testing environments hindered development efficiency. The introduction of a robust monitoring system became imperative to rectify issues affecting system reliability. Moreover, the establishment of a resilient backup system emerged as a strategic imperative, mitigating risks and ensuring uninterrupted business continuity.

How We Helped

We orchestrated a comprehensive transformation of the client’s platform, automating code and infrastructure updates, and establishing isolated environments to enhance code integrity and minimize human error. Simultaneously, the implementation of a data backup system and a monitoring system significantly improved the platform’s performance stability and ensured strengthened continuity for the client’s business.

The Challenges

Manual Updates, Testing, and Business Continuity

Manual processing of code and infrastructure updates

The client operates a marketplace solution built with Adobe Commerce (Magento) hosted on Amazon EC2 virtual servers. The system further incorporates various Amazon Web Services, including the Relational Database Service, ElastiCache, and MQ, all manually configured. Consequently, both code and infrastructure updates are also carried out manually. This approach is, obviously time-consuming, introduces a risk of errors and hinders the client’s agility in responding to evolving business needs.

Unproductive and insecure development process

The client’s platform faced a challenge as it was devoid of separate, isolated environments for testing and debugging, which slowed down the entire development and testing process. Moreover, there was a need for access segregation in each environment, limiting users from making changes in lower-level environments while preventing actions in the production environment.

Inefficient and problematic troubleshooting

The monitoring system on the platform, responsible for collecting logs from servers, required improvements and quality updates due to architectural changes in the entire application. Due to the evident inconvenience of the current monitoring system, the client faced difficulties in promptly identifying and resolving issues on the platform, posing a risk to overall system reliability and performance.

Risk of business continuity vulnerability

The existing backup system and version rollback capability had some disadvantages that jeopardized the overall data integrity of the platform. In the case of unexpected issues or data loss, the inability to swiftly restore or roll back to a stable state raises alarms about potential system disruptions, leading to significant concerns about business continuity.

The Solution

CI/CD and Containerization for Optimized Performance

Infrastructure automation and containerization

Our initial step involved a thorough examination of the existing infrastructure, pinpointing key improvement areas based on the previously outlined challenges.

The Adobe Commerce (Magento 2) platform operated on the Amazon EC2, serving as the application’s foundational engine. So to tackle the identified challenges, the primary step of the devised plan is containerization of applications services and deploying them on Amazon Elastic Container Service (ECS), following AWS best practices. Upon this implementation, the platform could easily adapt to changing workloads, ensuring optimal resource utilization and accommodating evolving business needs.

By employing the Infrastructure as Code (IaC) approach, we managed to automate infrastructure using Terraform and Terragrunt. It ensured the automation of setting up, provisioning, deploying, and managing required environments. Apart from reducing manual errors, this automation expedited the overall development and testing lifecycle, thus enhancing operational efficiency.

Building upon the golden Docker image, we established a pipeline for creating Docker images with predefined configurations. Some configurations became easily changeable and updatable during the code build. This particular solution standardized deployment pipelines, ensuring consistency in deploying various services. Maintaining this consistency effectively minimized deployment-related issues.

Containerization also extended to the client application. In order to ensure the confidentiality of sensitive information, we leveraged AWS System Manager Parameter Store, securely storing all necessary build variables in an encrypted form.

Continuous integration and continuous delivery (CI/CD) pipeline automation

We configured pipelines to facilitate the deployment of essential applications, conduct infrastructure upgrades, and manage the deployment/removal of new environments. The Jenkins server was deployed to establish conceived CI/CD processes.

A dedicated pipeline was created to build a golden Docker image, serving as the foundation for future builds of services such as Varnish, Nginx, PHP-FPM, Fluent-bit, and the main Adobe Commerce (Magento 2) platform. This standardized procedure ensures consistency and efficiency in the deployment and maintenance of various components.

A Jenkin-based pipeline scenario was implemented to automate the creation and deletion of new environments for development and testing. It provides a streamlined and standardized approach to managing development and testing environments. This enhances operational efficiency as well as ensures consistency, scalability, and resource optimization across the software development lifecycle. The access control system additionally implemented on the Jenkins server, ensures that actions could only be executed in the relevant environments.

AWS account hierarchy and environments separation

We established an AWS Organization and built a hierarchy of distinct AWS accounts dedicated to separate environments, whereby each has its own purpose and infrastructure:

  • Management account responsible for billing and creating other accounts.
  • Service account for monitoring, CI/CD processes, users, and access to other accounts of the organization.
  • Production account to deploy the primary working product.
  • Staging and Dev accounts configured as exact replicas of production to provide environments closest to production for testing.

To enhance the security of the environments, we have established all environments within private subnets, ensuring access to them is exclusively through a bastion server.

Monitoring system for identifying and resolving issues

We deployed a monitoring system based on Grafana and Amazon OpenSearch Service, incorporating such capabilities as collecting logs from all the necessary services, sending alerts, and analyzing logs and metrics data. Amazon Cloudwatch was also set up to monitor the load and increase or decrease the resources used depending on the load.

The monitoring system ensures continuous logging, allowing for efficient troubleshooting and rapid issue identification. With real-time alert notifications, potential problems can be dynamically tackled, thereby contributing to improved system stability. This proactive approach also enhances preventing and addressing performance issues which lead to potential disruptions.

Ensuring faster application performance

We leveraged Amazon Elastic File System (EFS) for storing static files and implementing Varnish Cache as a caching HTTP reverse proxy, contributing significantly to accelerated application performance speed. These measures, coupled with the configuration of Amazon CloudFront, not only facilitated efficient storage and retrieval of static content but also resulted in a substantial acceleration of the platform when it was loaded by the users. These optimizations in general established faster performance for the entire application.

Improving data backup system

As part of our infrastructure automation, we proactively established a robust data backup system for essential application services. The Jenkins server’s pipeline, designed for swift error recovery and version rollback, played a pivotal role in maintaining system stability. It facilitates a swift rollback to the previous version in case of errors. Leveraging Amazon EBS snapshots and Amazon RDS Backup and Restore contributed to the system’s ability to recover from errors and added a layer of resilience to the platform’s data integrity, as well.

Infrastructure Automation Services for E-Commerce – Architecture Diagram

Infrastructure Automation Services for E-Commerce

Amazon Web Services utilized

Amazon EC2
Elastic Compute Cloud (EC2)
Elastic Container Service icon
Elastic Container Service (ECS)
Amazon Elastic Container Registry icon
Elastic Container Registry (ECR)
Amazon Simple Storage Service icon
Simple Storage Service (S3)
Amazon EFS icon
Elastic File System (EFS)
Amazon Aurora icon
Aurora
Amazon ElastiCache icon
ElastiCache
Amazon CloudFront icon
CloudFront
Amazon OpenSearch Service icon
OpenSearch
Amazon Virtual Private Cloud icon
Virtual Private Cloud (VPC)
Elastic Load Balancing
Elastic Load Balancing (ELB)
Amazon Route 53 icon
Route 53
Amazon CloudWatch icon
CloudWatch
AWS Organizations icon
Organisations
Amazon MQ icon
MQ
AWS WAF icon
Web Application Firewall (WAF)
AWS Certificate Manager icon
Certificate Manager (ACM)
AWS Identity and Access Management icon
Identity and Access Management (IAM)

The Results

Improved Workflow with Automated Solutions

While the solutions implemented addressed the challenges outlined in the initial assessment, they also collectively led to a more performant, secure, scalable, and operationally efficient application for the client. The enhancements spanned different aspects of the application’s infrastructure, delivering a measurable positive impact not only on platform performance, reliability, and functionality but also on code integrity, operational efficiency, and the overall user experience.

Efficient and secure development process
The shift to Infrastructure as Code (IaC), combined with the creation of isolated environments minimized manual efforts, meanwhile offering the flexibility to create and test new features without disrupting production.

Cost optimization
All these infrastructure automation and development process improvements bring cost-efficiency for the client by expediting the creation of environments, allowing the freeing up of unused, costly resources.

Stable system performance
Implementation of a monitoring system has notably improved performance stability. The system’s ability to quickly detect and troubleshoot issues has been enhanced as well, positively impacting overall system reliability.

Reinforced business continuity
The boosted infrastructure automation provides the client with opportunities to expand and automate new processes seamlessly, fostering scalability and adaptability. A refined data backup system, coupled with the ability to swiftly roll back to stable states, has mitigated risks associated with data loss, addressing concerns about business continuity.

Why Romexsoft

Reliable Infrastructure Automation Services Provider

Romexsoft is AWS Advanced Tier Services Partner, trusted Software Development Company and Managed Service Provider, founded in 2004. We help customer-centric companies build, run, and optimize their cloud systems on AWS with creative, stable, and cost-efficient solutions.

Our key values

  • Delivery of quality solutions
  • Customer satisfaction
  • Long-term partnership

We have successfully delivered 100+ projects and have a proven track record in FinTech, HealthCare, AdTech, and Media industries.

Romexsoft possesses a 5-star rating on Clutch due to its strong expertise, responsiveness, and commitment. 60% of our clients have been working with us for over 4 years.

Related Success Stories

Cloud Infrastructure Automation and CI/CD Pipeline Setup for PaaS
Explore how we helped with cloud infrastructure automation which increased performance of the entire platform.
24/7 DevOps Support Services for E-Commerce Agency
Reveal how we achieved up to a 70% reduction of downtime incidents while enhancing customer's infrastructure security and cost-efficiency.

Craft Your Vision – Make the First Step.
Book a Consultation With Our Experts

    Contact Romexsoft
    Get in touch with AWS certified experts!