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 infrastructure around Amazon Web Services (AWS). “We understood from the beginning, that in order 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, so we reached out to the people at CloudHero”, says Adrian Ciobanu, Head of Software Development at Otter.
Otter runs its entire eCommerce services on AWS using Kubernetes, Docker and Istio.
The software release cycle improved dramatically, as developers were able to deploy in production as often as they needed, with great autonomy. Kubernetes also provided infrastructure standardization across environments, reducing the number of bugs that could reach production. Migrating to the AWS cloud provided great benefits in terms of costs and speed, as the company now has the possibility to scale infrastructure with great flexibility.
- AWS Services Used: VPC, EC2, ECR, EFS, ElastiCache, RDS Aurora, S3, SQS, CloudWatch
- Cloud Native Projects used: Docker, Kubernetes, Helm, Isito, KOPS, Argo Workflows
- Other: Terraform, Vagrant, Elasticsearch, Logstash
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 (Otter, Tezyo, Salamander and Aldo). From a technical perspective there are four different eCommerce stores, running slightly different versions of Magento.
“We understood from the beginning that in order 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”, says Adrian.
“When I first arrived at Otter, the infrastructure was duct-taped with various Bash scripts, making it very difficult to manage day to day operations and even more complex to maintain them”, says Andrei Petrescu, CTO and Co-Founder at CloudHero.
“We had multiple struggles, the infrastructure was not scalable, and we didn’t have a proper software release workflow. We only had one pre-production environment, because it was very difficult and time consuming to spin up new environments. Moreover, the preprod environment was also a development environment, so basically 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.
Otter decided to embark together with CloudHero on a journey to fully migrate to the public cloud and deploy Kubernetes as the default platform on which to run applications. We started by containerizing all applications, packaging them using HELM charts and deploying everything using CI/CD pipelines.
At the moment, Otter is running their entire eCommerce services on Kubernetes. Once Otter began migration applications to Kubernetes the results were immediate: Kuberentes provides a level of standardization that allows us to ship ideas to production, in a consistent way, reducing time to market and increasing software quality that translates in a better end-user experience. It’s self healing capabilities and infrastructure automation using best practices, reduces the operational complexity and provides a great developer experience.
Public Cloud Migration
“Moving to the AWS Cloud gave us the possibility to use their services in order to fast-track our journey to an Agile workflow. As we were using Magento as our eCommerce solution, we needed a fast and reliable MySQL-compatible database, so we went with Amazon Aurora MySQL as the engine of choice. Amazon Aurora has enabled us to have a fault-tolerant setup which could be very easily scaled as needs occurred. Magento requires a layer of caching, so ElastiCache Redis was a perfect fit for us. We use it to store our cache, as well as our user sessions, and has worked great from the day we started using it”, says Adrian.
“In order to make a vanilla instance of Magento work in a distributed infrastructure, we needed a centralized layer of persistency, that can be made available to all containers running on Kubernetes that required access to that storage, so we used Amazon EFS”, says Andrei Petrescu. As we build new services using a modern message bus architecture, we knew we needed to use queues, and what better and more reliable queue mechanism to use than SQS?.
Service Mesh Benefits
Istio is a great addition to the Otter’s technology stack. It enhances security, provides advanced telemetry and 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 to them different versions of our stores. This enabling us to perform powerful marketing experiments”, says Adrian.
The COVID-19 Challenge
“In the end, our choice to migrate to the cloud and use Kubernetes proved to be of great help during the COVID-19 lockdown. 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 where to go from there.
Use this form to get in contact with us