About the Project

Syndigo (former Content Analytics) is a leading eСommerce optimization platform for brands. The company's system helps brands to appear first among millions of SKUs available online. E-Commerce brands can store, catalog, and syndicate content to optimize their business and increase sales.

Goals of the Project

Cloud services cost reduction

Routine processes automation

Easily manageable cloud-based ecosystem construction

Deployment time reduction and failure minimization

Decrease time-to-market of the released features

Higher website performance

Challenge

The project had limited technical documentation. Thus, we couldn't conduct the full analysis of the system until we audited the infrastructure, deployment pipelines, and monitoring system. It was essential for seeing the big picture and building a step-by-step optimization plan.

Solution

Along the way to 40% of overall costs cut, we have not only halved the price but also optimized the infrastructure and automated deployment processes. Below you can see the solution developed by our engineers.

Cost Reduction

Raising cloud expenses was an issue of immense importance for Syndigo. And the client has set multiple tools and AWS services that the client didn’t use so the overspending issue arose. The expense reduction process took us several steps to execute a price cut. Here are some of the steps we took to help with cost optimization:

1. Stop the services that were in place but weren’t used by the client.

2. Server optimization. Our team conducted an in-depth analysis of the existing servers which allowed us to optimize the processes.

3. Use Graviton (ARM) based instances for managed services that support it (e.g. RDS Aurora for MySQL)

Routine Processes Automation

To test a new feature the Syndigo team had to clone new production servers which became extremely time-consuming. Before migration to Kubernetes, it took about 20 minutes to create a new environment for a client.

OpsWorks Co. helped Syndigo automate copying, creating, removing, and migration of servers. Now, creating a new production environment for a client requires pressing a single button in their CI/CD tool. Once automation has been executed, it takes 20 seconds maximum.

Syndigo was already using Jenkins as a Continuous Integration tool for its infrastructure.

Cloud-based Ecosystem Construction

There are hundreds of servers to host Syndigo infrastructure. Previously, the team used OpsWorks Co. for the servers management and configuration. However, it turned out to be quite difficult and time-consuming. Because OpsWorks Co. supports Chef recipes to handle installing, configuring packages and deploying apps, the team considered it inefficient to write and execute them.

As our primary goal was to reduce costs, we decided to migrate the infrastructure to Kubernetes, which consequently simplified the management of the servers.

Deployment Optimization

As it was mentioned before, Syndigo owns hundreds of servers. When a feature was tested, engineers deployed code on tens of servers simultaneously. If one of them failed, the deployment stopped, and they had to launch the process manually.

We used Jenkins to optimize and advance the infrastructure. With this technology, test environments are created and killed due to emerging needs.

Monitoring Flexibility

Initially, Syndigo was using Nagios as a monitoring system for its infrastructure. Nagios’ approach had several disadvantages. It involved manual work for server creation and removal. Even though it took only five minutes to execute either adding or deleting a server, it turned out to be extremely time-consuming for the infrastructure that has hundreds of servers.

Another issue concerns proactivity. The Nagios system notifies a user about an issue after it emerges and doesn’t analyze the trends to predict glitches. The monitoring solution developed by our engineers was based on Prometheus and Zabbix integration. We use Prometheus for cluster monitoring and Zabbix as an auxiliary tool. Also, it involved ELK Stack implementation for logging.

Why AWS?
Syndigo has an immense IT infrastructure which requires the hosting to be flexible and reliable at the same time. Furthermore, optimizing the infrastructure, we needed to reach the highest possible level of security due to the need for the platform to protect user's data while cutting costs by 40%. AWS is the oldest cloud hosting provider among all on the market, giving it the privilege to be the most developed one in the means of its services. As a result, the tools we chose for the Syndigo infrastructure optimization allowed us to meet all client's requirements and even more.
Project Results
During our collaboration, we have accomplished hundreds of tasks and consequently made significant changes to the Syndigo infrastructure. The main improvements include:
Fast deployment
Deployment time reduction from 30 to 5 minutes by virtue of optimizing and improving deployment scripts and processes.
Lower cost
Fourfold costs reduction due to databases migration from RDS to Azure.
Automation
No routine job owing to automated on the production and testing stages.
Shorter time-to-market
Shorter time-to-market and improved customer satisfaction due to automating and optimizing CI/CD Pipeline.
Technologies we use
Nest steps

Properly set up DevOps processes in the company. It requires continuous cycles optimization and infrastructure and processes adjustment to comply with the five pillars of the Well-Architected Framework.

We are going to collect new metrics and business requirements and ensure a seamless operation for the client’s infrastructure.

Clients' Feedback
Sergei Bruksha
VP of Engineering at Syndigo

Before we collaborated with OpsWorks, our infrastructure was optimized not enough to satisfy both project demands and the available budget. Also, there was a need to improve existing infrastructure and move it to the containerized environment. OpsWorks engineers helped us to deconstruct these problems into separate parts and implement step-by-step solutions that would meet our requirements. They are passionate about what they are doing, and engineers are available 24/7. There are still a lot of improvements and tweaks to be made to the existing infrastructure, and we are looking forward to continuing our collaboration. The work that has already been done is significant, and we appreciate it. OpsWorks can handle all the tasks that are needed for your infrastructure just in time and within the available budget. Great company to collaborate with.

Oleksandr Slubsky
CTO&Co-founder at LMS Collaborator

Our team is impressed by the job quality and professional skills level of the engineers at OpsWorks Col. These guys are known to do their job pretty good!

Oleksandr Slubsky
CTO&Co-founder at LMS Collaborator

Our team is impressed by the job quality and professional skills level of the engineers at OpsWorks Col. These guys are known to do their job pretty good!