AlignMinds Technologies logo

E-Commerce Evolutionary Leap: AlignMind's Server Migration and DevOps Revolution for a Leading US Furniture Manufacturer

About the Client

The client is a well-known furniture manufacturer with distribution warehouses located in several states across the country with a dedicated E-Commerce division.

The Challenges

The Customer’s IT infrastructure included more than 12 on-premises servers and a variety of integrated systems like CRM, accounting, a data warehouse, and an e-commerce platform created in Magento. The customer faced the following challenges.

  • Due to the immense popularity of the client’s products, the site was affected by frequent DDoS attacks, random user generation by bots etc.
  • Difficult to scale.
  • Lack of security policies, and data security.
  • Lack of Operations efficiency. In order to satisfy their customers, the customer needed to update their applications frequently as both the number of clients and their needs were growing quickly. The customer needed their IT infrastructure to be properly managed, regularly improved without critical operational errors and system failures, and continuously monitored to ensure their web services were highly available.
  • The domain was registered with a legacy domain registrar by an IT staff and the higher management did not have any ownership information. Also, the DNS was managed with a legacy DNS server.
  • Also, the on-premises Magento 1 server had to be migrated to AWS within a short span of 3 weeks.

  • The Process

  • AlignMinds assigned a group of DevOps experts with experience in system administration and software development to handle the customer’s infrastructure management tasks. AlignMinds sought to significantly accelerate the delivery of new software features, fixes, and updates in line with the Customer’s business objectives by combining the efforts of development (Dev) and operations (Ops) specialists.

  • Assessment

    To migrate each of the customer applications and to determine which should come first we followed a process based on the 4R Assessment Methodology.


    • Re-host:

    We use the method of Rehosting or the Lift and Shift method to move the on-premise application to the cloud environment without being altered. This method entails little risk and work. Additionally, it lowers infrastructure and operational costs. Long-term, this will help the company because it will encourage a cloud-first strategy and help the company grow its talent.

    Before entering this Rehost phase, we carefully documented all dependencies such as stack versions, web server configuration, etc.


    • Re-platform

    Re-platform or the Lift, Tinker, and Shift technique, which entails moving the applications while maintaining their current versions. We made only a few improvements before moving to the cloud, such as switching from self-hosted infrastructure to managed services.

    During this phase, we used MariaDB instead of MySQL as it is backward compatible and much faster than MySQL. We also used the below technology services but not limited to:

    • Application Load Balancer.

    • AWS ACM for certificates.

    • AWS WAF and rules to prevent bots, blacklisted IPs and to protect the Linux OS.

    • AWS Shield to prevent DDoS attacks.

    • S3 for storing static assets such as videos, images other static resources.

    • CloudFront for distributing the static resources over a CDN.


    • Refactor

    We added a serverless function to monitor new image uploads to S3 and optimized the image for improving the performance of the site.

    Since the project didn’t have the scope of code refactoring, it was done.


    • Retire

    The following old systems were retired.

    • Backup systems

    • Monitoring scripts

    • Firewalls

    • Load balancer

    • DNS configurations

    • Web Servers

    • Web application firewalls

    • Database connections, controls

    • APIs

Technical Advancements

DNS cleanup

During this migration process, we recreated all DNS records and transferred the domain to AWS Route53, creating a staging environment for the migration. AlignMinds was able to complete the whole transition within 4 weeks, including load testing and an AWS security audit.

Increased security, streamlined system operations, performance

By using the WAF and AWS Shield we reduced the number of attacks, server resources, and costs.

AlignMinds set up and managed the tools for load balancing, infrastructure monitoring, and log management to guarantee the flawless performance of the integrated systems. AlignMinds DevOps experts implemented the continuous integration and continuous delivery (CI/CD) pipeline to manage the Customer’s e-commerce website.

Magento was migrated from 1 to 2 and this added up to performance and security. We successfully adopted the DevSecOps in the early stage for the Magento 2 developments.

CI/CD pipeline implementation

DevOps engineers created a CI/CD pipeline using Jenkins as a CI/CD automation tool and AWS CodeCommit as a source code repository to speed up the processes of developing, testing and releasing updates and bug fixes for the Customer’s web applications based on Pimcore, Magento, etc. The AlignMinds team-controlled application configurations using Ansible and the Magento 2 is running on Auto scaling group in different availability zones.

To eliminate differences between the development, test, and production environments, AlignMinds DevOps practitioners implemented CI/CD pipelines and automated web application performance testing.

Load balancing and HTTP caching

The AlignMinds DevOps engineers used the following tools to properly balance the load, distribute network traffic, and cache HTTP requests across the Customer’s IT infrastructure.

IT infrastructure monitoring and log management

To monitor disk usage, RAM and CPU consumption, DevOps engineers set up and applied Sensu, an Opensource application for monitoring Windows and Linux Server resources. AlignMinds team used PagerDuty integrated with our collaboration tool Slack to notify the engineers.

AlignMinds engineers configured Graylog to collect and analyse errors from the server and application log and alert using PagerDuty.

Technologies Used

  • Slack:Collaboration

  • SonarQube:SonarQube empowers all developers to write cleaner and safer code. SonarQube is an open-source platform developed by SonarSource for continuous inspection of code quality to perform automatic reviews with static analysis of code to detect bugs and code smells on 29 programming languages.

  • Graylog:Graylog is a leading centralized log management solution for capturing, storing, and enabling real-time analysis of terabytes of machine data.

  • PagerDuty:PagerDuty is an American cloud computing company specializing in a SaaS incident response platform for IT departments.

  • Sensu:Sensu is a cloud-based network monitoring solution that assists businesses of all sizes with performance data collection and diagnostics. Its key features include server performance, bandwidth monitoring, uptime monitoring, network resource management and event logs.

  • Varnish:Varnish is an HTTP accelerator designed for content-heavy dynamic web sites as well as APIs.

  • NGINX:NGINX accelerates content and application delivery, improves security, and facilitates availability and scalability of the websites.

  • Redis:Redis stores its data on the primary memory, reading and writing are made faster than databases that store data on disks.

  • AWS CodeCommit:is a secure, highly scalable, fully managed source control service that hosts private Git repositories.

  • Jenkins:Jenkins – an open-source automation server which enables developers around the world to reliably build, test, and deploy their software.

  • Pimcore:Used for Digital Asset Management

  • Magento 2:Magento is an open-source e-commerce platform written in PHP.

  • PHP and MariaDB:For programming and database storage.

  • AWS Route53:AWS Route 53 lets developers and organizations route end users to their web applications in a very reliable and cost-effective manner. It is a Domain Name System (DNS) that translates domain names into IP addresses to direct traffic to your website.

  • AWS Shield:AWS Shield is a managed distributed denial of service (DDoS) protection service that safeguards applications running on AWS.

  • AWS S3:Used to store website’s static assets.

  • NAT Gateway:Used for security and initiate all outgoing connections from one or more static IPs. A NAT gateway is a Network Address Translation (NAT) service. You can use a NAT gateway so that instances in a private subnet can connect to services outside your VPC but external services cannot initiate a connection with those instances.

  • RDS:Amazon Relational Database Service is a distributed relational database service by Amazon Web Services. It is a web service running “in the cloud” desigtned to simplify the setup, operation, and scaling of a relational database for use in applications.

  • Autoscaling:AWS Auto Scaling monitors your applications automaically adjusts capacity to maintain steady, predictable performance at the lowest possible cost. Using AWS Auto Scaling, it’s easy to setup application scaling for multiple resources across multiple services in minutes.

  • Availability Zone:Used for High Availability. Availability Zones are distinct locations within an AWS Region that are engineered to be isolated from failures in other Availability Zones. They provide inexpensive, low-latency network connectivity to other Availability Zones in the same AWS Region. Important. Each region is completely independent.

  • AWS EFS:Amazon Elastic File System (Amazon EFS) is a simple, serverless, set-and-forget, elastic file system. There is no minimum fee or setup charge. You pay only for the storage you use, for read and write access to data stored in Infrequent Access storage classes, and for any provisioned throughput.

  • CloudFront:Amazon CloudFront is a content delivery network operated by Amazon Web Services. Content delivery networks provide a globally distributed network of proxy servers that cache content, such as web videos or other bulky media, more locally to consumers, thus improving access speed for downloading the content.

  • AWS Application Load Balancer:Serves as the single point of contact for clients. distributes incoming application traffic across multiple targets, such as EC2 instances, in multiple AZs, which increases the availability of the application.

Results

AlignMinds’ DevOps engineers’ efforts gave the customer the chance to frequently improve the e-commerce solution without causing delays in the business process while achieving the following.

  • Increased performance of the application by 250%
  • Achieved website availability of up to 99%
  • Improved security and prevented DDoS attacks
  • Reduced server costs and increased performance using proper cache mechanism and CDN.
  • Decreased the release time using CI/CD.
  • Integration with SAST tools such as SonarQube and build badge improved security awareness and fix.
  • DevOps culture helped the operation and developer to work together and improve the overall software development efforts.