Learn how higher platform reliability translates to lower time to value and faster growth for KLER's e-commerce presence.
Founded in 1973 by a master upholsterer, KLER has over the years become a leading manufacturer of high-quality furniture for Central and Eastern European markets. Now the company delivers its products globally — with many sales taking place through its online store established in 2015.
KLER keeps growing and showcasing new collections at renowned furniture fairs, e.g. Salone Internazionale del Mobile in Milan, the world's largest trade fair of this kind, and also has to meet increasing traffic to its online store.
Buyers' growing interest in furniture that will meet expectations in terms of quality and design has made KLER luxury furniture even more popular and more frequently purchased by customers from around the globe. Along with expanding into other markets, KLER wanted to provide the highest possible customer service, which inextricably entailed providing a flexible, scalable and secure infrastructure.
As a company dealing in luxury goods, the necessity to meet the highest standards has always been clear to KLER. However, being able to provide high-quality products along with equally high levels of customer care online comes with its own set of unique challenges.
To ensure a seamless shopping experience for its customers and to stay ahead of the curve, KLER chose AWS — the most trusted cloud provider, and Chaos Gears — a team of top-notch engineers with experience implementing DevOps practices — as partners in its cloud journey.
Together with KLER, we analyzed the status quo, outlined all key challenges, prioritized improvements and set out to prepare a remediation plan to meet them.
Our ultimate goal was to separate the infrastructure into two highly-available environments – development and production – integrated through an automated CI/CD pipeline to increase development velocity and confidence along with overall reliability, while simultaneously reducing KLER’s time to value. As an intermediate step, we would naturally also have to migrate our client’s existing infrastructure to this new setup.
Once those goals were clear, Cloud Architect, 2 DevOps Engineers, the engineer responsible for conducting the AWS Well-Architected Review (WAR) and Project Manager from ChaosGears teamed up with developers from a third-party company to put the plan into action.
Based on our practical experience, our initial modernization plan for KLER’s infrastructure revolved around decomposing the monolith we encountered at least partially into serverless functions orchestrated automatically by AWS Fargate over AWS ECS. With such an architecture we would be able to defer resource management entirely to AWS.
Not having to tackle resource isolation nor scaling – as those would be handled by AWS Fargate to fluidly meet actual compute demand in a granular manner – the burden on KLER would be drastically reduced, enabling the company to focus on its core business domain and meet its customer’s needs without having to worry about the infrastructure needed to meet those needs.
However, everything in computing is a matter of tradeoffs and no one solution meets the practical needs of everyone. In this case, while the benefits of a serverless architecture were tangible to all stakeholders, the actual implementation proved difficult performance-wise – mostly due to KLER’s existing codebase, which was not easily amenable to a serverless mindset based on decomposed microservices.Â
Refactoring the entire codebase was not practically feasible either – but it was also not necessary to achieve the goals we aimed for. After all, AWS catalog of managed services is extensive, and the flexibility this fact alone provides is invaluable. As any business is all too well aware of, plans must be flexible enough to adjust to any and all circumstances.
Thus, we simply slightly scaled down our proposed best case scenario and instead of AWS Fargate opted for a more traditional container based architecture running EC2 instances directly on AWS ECS.
We had to tackle the provisioning of resources after all, but still introduced a major modernization to the flow – infrastructure as code (IaC). Terraform helped us organize and describe KLER’s infrastructural needs, allowing the client to flexibly adjust them on the go in a centralized, coherent, versioned – and most importantly: automated – fashion.
The solution we delivered auto-scales resources based on actual compute demand and is easily amenable to both high short-term variance, as it is to long-term business growth. What’s more, it is not intrinsically bound to AWS – KLER can now opt for multi-cloud deployments, if it chooses to do so.
Both the production and development environment have AWS ECS at their core, responsible for scaling the services horizontally to keep up with demand on one hand, and on the other to guarantee their high availability. With appropriate redundancies finally in place, we further enhanced this setup with a Load Balancer, to make optimal use of all provisioned resources.
Amazon EFS was also used, which makes the data accessible across all services simultaneously – and potentially even beyond a single geographic region. Its auto-scaling characteristics further reduce the need to pre-estimate demand.
Last but not least, all production data is now finally automatically backed up as appropriate, providing an essential part of previously severely lacking durability.
Everything we do at Chaos Gears aims to meet even the most stringent security and compliance requirements. While not initially envisioned by KLER as part of the process, and even though the company does not operate in a highly-regulated sector, based on our experience our team still suggested performing a Well-Architected review of KLER’s existing infrastructure and codebase to identify potential issues which were not immediately apparent during our initial meetings.
We performed this review in the initial phases, parallel to our work on the new infrastructure, and delivered a thorough report outlining several key issues. Those observations later formed the basis of the Modernize phase of the process, helping shape further tasks that needed to be performed after the intermediary migration to the new infrastructure.
Yet, as we operate based on industry best-practices, we were able to anticipate and remediate several of the identified issues much earlier in the process.
For instance, AWS Systems Manager is one of the core services we employ for our clients on AWS, and is an integral part of our toolset. As we set up the new environments and CI/CD pipeline, we naturally relied on its Parameter Store for the secure handling of crucial credentials, secrets and configuration parameters.
Services in the production/development environments were automatically configured based on this centralized store – even before we uncovered that several of such secrets had been previously hardcoded in KLER’s applications and as such posed a security risk, for which services like the Parameter Store – or HashiCorp’s Vault – are the perfect remediation. Many of such issues can be prevented even without dedicated security audits, simply by leaving implementation details to certified experts adhering to best-practices – such as Chaos Gears’ team.
Security best-practices additionally hardened external dependencies of the applications.
Together with Chaos Gears' engineers, we achieved the set goals. Now KLER owns modern cloud infrastructure in AWS, that meets our stringent requirements for durability, scalability, availability and reliability.Â
The DevOps team from Chaos Gears really delivered what we were looking for. The whole process ran without any business disruption. With their effective troubleshooting and responsiveness, the Chaos team has proven to be a reliable partner.
— Marek Kołodziej, Website & Analytics Manager, KLER
We managed to meet all the goals we set out to achieve. Despite not being able to implement the best-case scenario we envisioned initially, our team provided KLER with a scalable, highly-available, reliable and durable infrastructure which continues to serve as a future-proof basis for further business growth.
Automated scaling, load balancing and resource management took many burdens off of employees, simultaneously allowing for a more efficient allocation of resources based on actual demand, capable of automatically reacting to high short-term variance.
KLER’s technical teams suffer from drastically less configuration friction and finally have a reliable development and testing environment at their disposal. A well thought-out CI/CD pipeline binding it with the production environment gives them the necessary confidence to experiment and innovate, without the risk of taking down the client’s entire online presence in case of a mistake.
Automated processes replaced many manual tasks which previously – and frequently – took hours to complete, while the overall architecture that is now in place lends itself naturally to automate even further menial labor. It is now easier than ever for KLER to focus its resources on its core competencies and meet actual business goals as it looks towards the future, instead of being bogged down by legacy.
As this case exemplifies, it is not sufficient to simply move one’s infrastructure to a public cloud to actually reap all the benefits that are commonly associated with such a migration. Without proper practices and the right mix of expert knowledge and experience – or simply a partner like Chaos Gears – such a move can leave you confused as to why all the promised benefits did not materialize in practice.
Last but not least, the company is no longer left on its own, lacking any documentation of its infrastructure whatsoever. Having established the key ingredients to the client’s success online, we continue to cooperate with KLER, providing on-going operational support as it keeps moving forward.
Find out how we help our clients create tailored, cloud-based solutions that exceed expectations.