Cloud Infrastructure Automation and CI/CD Pipeline Setup for Ecommerce PaaS

AWS DevOps Services for Online Marketplace PaaS | Customer Case Study | Ecommerce

Verified by AWS

Romexsoft AWS Partner Network Badge 2022

Executive Summary

Our Customer

Omnyfy is a multi-vendor online marketplace platform delivered as a PaaS offering. Omnyfy provides a feature-rich marketplace solution that enables its users to create almost any kind of marketplace – from product or service marketplace to B2B, procurement, or booking marketplaces.

Omnyfy’s e-commerce marketplace platform is delivered as a fully managed service for end customers (partners) and is built on top of Magento 2 and Amazon Web Services.

At the moment when Omnyfy started cooperation with Romexsoft, they had dozens of partners and planned to grow by 50% in the following 6 months.

The Obstacles They Faced

Manual configuration and provisioning of cloud infrastructures took a long period of time and required additional resources for proper validation and testing.

To support the company’s growth and improve time-to-market, Omnyfy sought an experienced AWS Consulting Partner to help them reduce operational overhead and enhance customer experience through Cloud Infrastructure Automation by applying best DevOps practices, such as Continuous Integration and Continuous Delivery (CI/CD) and Infrastructure as Code (IaC).

How We Helped

Romexsoft DevOps Team implemented an efficient Magento 2 AWS CI/CD Pipeline and delivered a comprehensive Cloud Infrastructure Automation Solution for the whole Omnyfy PaaS Organization to automate the provisioning of multiple infrastructures on the new AWS accounts.

The Challenge

By design, a particular client’s IT infrastructure utilizes the AWS Organizations service, where each marketplace has its AWS account within the central Omnyfy AWS Organization. However, the client’s environments and cloud resources within AWS accounts were manually configured, and the code was provisioned manually by BASH scripts on EC2 instances directly.

As the number of marketplaces grew continuously, automating the cloud infrastructure and deployment processes for existing and new marketplaces became an important task to implement.

Primary challenges were:

  • improve time-to-market;
  • reduce operational overhead;
  • increase observability & testability;
  • increase portability of the cloud environments;
  • remove manual work in cloud environments setup, configuration, and provisioning.

The Solution

Solution Delivered by Romexsoft

Romexsoft’s AWS Solutions Architects began by conducting a thorough analysis of Omnyfy’s infrastructure, cloud resources, and business operations.

As each marketplace built on Omnyfy’s platform is a separate replica of the infrastructure, the Romexsoft DevOps team created and implemented an automation script to eliminate the time and effort required for infrastructure spin-up. This script allows for the automatic deployment of infrastructure each time a partner creates a new marketplace or makes changes to an existing one.

To address this issue, Romexsoft suggested using the Infrastructure as Code (IaC) approach to automate infrastructure and set up a separate AWS Control account for provisioning, deploying, and managing all marketplaces from a single location. Upon the client’s agreement, Terraform was selected as the primary tool for IaC.

DevOps Automation
To eliminate a lot of manual development work required for the platform’s efficient operation, we prepared a script that allowed us to automate the following:

  • keeping track of the changes in the source code of the partners’ marketplaces
  • compiling the application (partner’s marketplace) from this code
  • launching unit/integration/automation tests
  • deploying partners’ applications (marketplace)
  • scanning all the necessary health checks and points
  • rerouting traffic to the latest version/release of partner’s marketplace

To support the successful implementation of the CI/CD project, Romexsoft’s DevOps team started with the migration from BASH to Ansible. Ansible roles were prepared instead of BASH scripts, and all hardcoded values were put into Ansible variables. Romexsoft rewrote all config files using Ansible Jinja2 templating, tested, and compared Ansible execution results with the existing BASH results. Ansible Vault was used to store all sensitive data in an encrypted file.

The next step included building Golden AMI. Romexsoft prepared and tested the Hashicorp Packer template to create a Golden AWS AMI (an image with installed and configured base packages: Nginx, Varnish, PHP, etc.) and performed the integration of Ansible roles. For this, Romexsoft used Golden AMI in the CI/CD configuration step in the Terraform code.

Finally, Romexsoft implemented the Magento 2 AWS CI/CD pipeline using AWS CodePipeline. Romexsoft created Terraform templates to spin up and set up CI/CD using AWS Resources (CodePipeline, CodeBuild, CodeDeploy, IAM roles/policies, S3 buckets).

Romexsoft also configured AWS CodeBuild’s read-only access to Bitbucket repositories and BitBucket webhooks to launch the Magento 2 AWS CI/CD pipeline autonomously from the partner’s side. The Ansible roles were used on each build phase. Romexsoft finished the project by testing CI/CD pipelines on the Omnyfy platform and the client’s partner solutions built on top of this platform.

Amazon Web Services Utilized

  • AWS EC2
  • AWS Aurora MySQL-Compatible
  • AWS ALB
  • AWS EFS
  • AWS Elastic IP
  • AWS S3
  • AWS Route53
  • AWS CodePipeline (AWS CodeBuild, AWS CodeDeploy)

Cloud Infrastructure Automation and Magento 2 AWS CI/CD Pipeline AWS Architecture Diagram

Magento2 AWS CI/CD Pipeline AWS Architecture Diagram
Cloud Infrastructure Automation and Magento 2 AWS CI/CD Pipeline for Multi-vendor Marketplace PaaS Architecture Diagram.

What We Achieved Together

Romexsoft successfully delivered the cloud infrastructure automation solution, as well as the CI/CD Magento 2 AWS pipeline, for the core Omnyfy e-commerce PaaS and all their existing partners.

Key deliverables:

  • automation of most business operational tasks;
  • reduced human factor errors and improved security posture;
  • increased performance of the entire PaaS system;
  • increased development efficiency and improved release cycle;
  • new partner engagement and marketplace launch takes only one business day;
  • new cloud infrastructure setup and provisioning now takes 2 hours compared to the previous 48 hours.

Feedback

Omnyfy Marketplace Platform
“Romexsoft always delivers great service and help us to achieve business goal.”
Marshall Lee, CTO at Omnyfy

Verified by AWS

This case study has been validated by AWS. AWS experts and professional auditors reviewed this case study and verified that Romexsoft has built a functional infrastructure and an efficient cloud solution.

It showcases the value that Romexsoft, as a certified AWS Consulting Partner, delivers cloud solutions according to AWS standards and best practices.

Please check out Romexsoft’s profile on the AWS Partner Network.

Romexsoft Select Tier Services AWS Partner Network Badge 2022

Why Romexsoft

Romexsoft is an AWS-certified Consulting Partner, a trusted Software Development Company, and a Managed Service Provider founded in 2004. We help customer-centric companies build, run, and optimize their cloud systems on AWS with creative, elegant, 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 our strong expertise, responsiveness, and commitment. 60% of our clients have been working with us for over 4 years.

Recent Success Stories

Building Text-to-Speech SaaS Solutions on AWS for AdTech Company

IT Staff Augmentation Services | Customer Case Study | AdTech

EHR Software Development Services for Health-Care Provider

Managed Team | Customer Case Study | HealthCare

24/7 DevOps Support Services for HealthTech Company

DevOps Support Services | Customer Case Study | Healthcare

Let’s Talk about Your Business Needs!

    Cloud Infrastructure Automation and CI/CD Pipeline Setup FAQ

    How does Infrastructure as Code (IaC) contribute to automating AWS for Magento?

    Infrastructure as Code (IaC) is a fundamental approach for managing and provisioning application technology stacks via software, replacing manual processes. It's instrumental in automating AWS for Magento, allowing developers to manage and provision resources through code, enhancing efficiency and reducing the likelihood of errors. In this context, Terraform was chosen as the primary IaC tool.

    How does a CI/CD pipeline improve the efficiency of a Magento 2 on AWS platform?

    A Continuous Integration/Continuous Deployment (CI/CD) pipeline boosts the efficiency of a Magento 2 on AWS platform by automating stages in the software delivery process, including integration, testing, and deployment. This automation results in accelerated development cycles, faster rollout of new features, and more stable software releases. AWS CodePipeline was utilized to establish the CI/CD pipeline in this scenario.

    What is the importance of tools like Ansible and Hashicorp Packer in automating Magento 2 on AWS infrastructure?

    Ansible is an open-source tool that enables Infrastructure as Code, assisting in automating the setup and configuration of Magento 2 on AWS infrastructure, making the process more efficient and less prone to errors. Hashicorp Packer automates the creation of machine images of any type and promotes modern configuration management by using automated scripts to install and configure the software within the images created by Packer.

    How does AWS CodePipeline aid in the automation of the software delivery process for Magento 2 on AWS?

    AWS CodePipeline is a fully managed continuous delivery service that automates the build, test, and deploy phases of your release process for Magento 2 on AWS. It enables quick and reliable application and infrastructure updates, facilitates rapid release of new features, and helps to avoid downtime during application deployment. It integrates with other AWS services like AWS CodeBuild, AWS CodeDeploy, and third-party tools, providing a comprehensive toolchain for end-to-end automation of software delivery processes.