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.
Executive Summary
Cloud Infrastructure Automation Solution for Provisioning of Multiple Infrastructures
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.
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 client’s PaaS to automate the provisioning of multiple infrastructures on the new AWS accounts.
The Challenges
Automating the Cloud Infrastructure and Deployment Processes
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
Streamlining Marketplaces Deployments through DevOps Automation and IaC
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.
Cloud Infrastructure Automation and Magento 2 AWS CI/CD Pipeline – Architecture Diagram
Amazon Web Services Utilized
Verified by AWS
This case study is validated by AWS. Experts and professional auditors from AWS reviewed this case study and verified that we, Romexsoft, have built a functional infrastructure and efficient cloud solution.
It showcases the value that Romexsoft, being a certified AWS Advanced Tier Services Partner, delivers cloud solutions according to AWS standards and best practices.
The Results
What Client Gets from Cloud Infrastructure Automation
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.
Why Romexsoft
Partner With Us to Build Modern Application
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.
Related Success Stories
Cloud Infrastructure Automation FAQ
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.
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.
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.
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.