Technologies:

  • EKS (Elastic Kubernetes Service)
  • RDS Aurora
  • EC2 (Elastic Compute Cloud)
  • S3 (Simple Storage Service)
  • CloudTrail
  • ELK Stack
  • NewRelic
  • Prometheus / Grafana
  • CircleCI
  • Argo Workflows

Get ready to explore with us the journey of Otter, one of the largest European retailers towards achieving digital transformation with Kubernetes.

Challenge

With plans to scale its e-commerce business, Otter has embarked on a digital transformation journey in 2019. They focused on refactoring applications to be cloud-ready and consolidate their infrastructure around Amazon Web Services. “We knew that to become agile and have the capability to scale both our engineering team and our eCommerce business, we needed to start with a great foundation. Thus, we reached out to the people at CloudHero”. These are the words of Adrian Ciobanu, Head of Software Development at Otter.

Solution

Otter runs its entire eCommerce services on AWS using Kubernetes, Docker and Istio.

Impact

The software release cycle improved dramatically, as developers were able to deploy in production with great autonomy. Kubernetes provided infrastructure standardization across environments. This helped us reduce the number of bugs that could reach production. Migrating to the AWS cloud provided great benefits in terms of costs and speed, as well. Now, the company has the possibility to scale infrastructure with great flexibility.

Technologies Used:

  • AWS Services: VPC, EC2, ECR, EFS, ElastiCache, RDS Aurora, S3, SQS, CloudWatch
  • Cloud-Native Projects: Docker, Kubernetes, Helm, Isito, KOPS, Argo Workflows
  • Other tools: Terraform, Vagrant, Elasticsearch, Logstash

The Background of Otter Distribution

As one of the largest multi-brand shoe retailers in eastern Europe, with stores in Romania and the Czech Republic, Otter operates under 4 different brands (OtterTezyoSalamander and Aldo). From a technical perspective, there are 4 different eCommerce stores, running slightly different versions of Magento.

“When I first arrived at Otter, the infrastructure was duct-taped with various Bash scripts. Hence, it was very difficult to manage daily operations. Yet, it was even more complex to maintain them”, says Andrei PetrescuCloudHero CTO and Co-Founder.

“We had multiple struggles, the infrastructure was not scalable, and we didn’t have a proper software release workflow. Additionally, we had only one pre-production environment. As a consequence, it was very difficult and time-consuming to spin up new environments. The pre-prod environment was a development environment, as well. As a result, you could either develop or test. It was difficult to debug issues in production and on-boarding new developers was a long and frustrating process”, says Adrian.

Shortly, Otter decided to embark on a journey to fully migrate to the public cloud and deploy Kubernetes. This would be the default platform to run applications. We started by containerizing all applications, packaging them using HELM charts and deploying everything using CI/CD pipelines.

Presently, Otter is running its entire eCommerce services on Kubernetes. As soon as Otter began migrating applications to Kubernetes the results showed up, as well. Kubernetes provides a level of standardization that allows us to ship ideas to production in a consistent way. By doing this, they reduced time to market and increased software quality that translated. This resulted in a better end-user experience. Its self-healing capabilities and infrastructure automation using best practices reduced the operational complexity. Ultimately, a great developer experience was guaranteed.

Public Cloud Migration for Otter

“Moving to the AWS Cloud gave us the possibility to fast-track our journey to an Agile workflow. We were using Magento as our eCommerce solution, yet we needed a fast and reliable MySQL-compatible database. Then, we went with Amazon Aurora MySQL as the engine of choice. Next, Amazon Aurora has enabled us to have a fault-tolerant setup which could be very easily scaled as needs occurred. Yet, Magento requires a layer of caching, so ElastiCache Redis was a perfect fit. Hence, we use it to store our cache, as well as our user sessions. It has worked great from the day we started using it”, says Adrian.

“We wanted to make a “vanilla” instance of Magento work in a distributed infrastructure. This implied a centralized layer of persistency available to all containers running on Kubernetes that required access to that storage. Certainly, we had to use Amazon EFS”, says Andrei P. As we build new services using a modern message bus architecture, we knew we needed to use queues. What a better and more reliable queue mechanism to use than SQS?

Service Mesh Benefits

Here, Istio is a great addition to the Otter’s technology stack. Similarly, it enhances security and provides advanced telemetry at the same time. Most importantly, it provides advanced traffic routing capabilities required by modern eCommerce platforms. Istio is a game-changer for us! “We segment our users based on multiple criteria and deliver them different versions of our stores. This enabled us to perform powerful marketing experiments”, says Adrian.

The COVID-19 Challenge

“Surely, our decision to migrate to the cloud and Kubernetes was of great help during the COVID-19 lockdown, too. As all our physical stores have been closed, eCommerce surged. We now realized that we had the tools to scale fast and respond to changes in real-time”, says Adrian.

If you are an eCommerce or retail business tell us about your project. We will give honest feedback and advise you on your next steps.

Use this form to get in contact with us