Inside Natura &Co Global Commercial Platform with ScyllaDB
Filipe Lima and Fabricio Rucci share the central role that ScyllaDB plays in their Global Commercial Platform
Natura, a multi-brand global cosmetics group including Natura and Avon, spans across 70 countries and an ever-growing human network of over 7 million sales consultants. Ranked as one of the world’s strongest cosmetics brands, Natura’s operations require processing an intensive amount of consumer data to drive campaigns, run predictive analytics, and support its commercial operations.
In this interview, Filipe Lima (Architecture Manager) and Fabricio Pinho Rucci (Data and Solution Architect) share their insights on where ScyllaDB fits inside Natura’s platform, how the database powers its growing operations, and why they chose ScyllaDB to drive their innovation at scale.
“Natura and ScyllaDB have a longstanding partnership. We consider them as an integral part of our team”, said Filipe, alluding to their previous talk covering their migration from Cassandra to ScyllaDB back in 2018. Natura operations have dramatically scaled since then and ScyllaDB scaled alongside them, supporting their growth.
Here are some key moments from the interview…
Who is Natura?
Filipe: Wherever you go inside ANY Brazilian house, you will find Natura cosmetics there. This alone should give you an idea of the magnitude and reach we have. We are really proud to be present in every Brazilian house! To put that into perspective, we are currently the seventh largest country in population, with over 200 million people.
Natura &Co is today one of the largest cosmetics companies in the world. We are made up of two iconic beauty brands:
- Avon, which should be well-known globally
- Natura, which has a very strong presence in LATAM
Today Natura’s operations span over a hundred countries, where most of our IT infrastructure is entirely cloud native. Operating at such a large scale does come with its own set of challenges, given our multi-channel presence – such as e-commerce, retail and mainly direct sales, plus managing over seven million sales consultants and brand representatives.
Natura strongly believes in challenging the status quo in order to promote a real and positive social economic impact. Our main values are Cooperation, Co-creation, and Collaboration. Hence why we are Natura &Co.
Given the scale of our operations, it becomes evident that we have several hundreds of different applications and integrations to manage. That brings complexity, and challenges of running our 24/7 mission-critical operations.
What is the Global Commercial Platform? Why do you need it?
Filipe: Before we discuss the Global Commercial Platform (GCP), let me provide you with context on why we needed it.
We started this journey around 5 years ago, when we decided to create a single platform to manage all of our direct selling. At the time, we were facing scaling challenges. We lacked a centralized system interface for keeping and managing our business and data rules. And we relied on a loosely coupled infrastructure that had multiple points of failure. All of this could affect our sales process as we grew.
The main reason we decided to build our own platform, rather than purchase an existing one from within the market, is because Natura’s business model is very specific and unique. On top of it, given our large product portfolio, integrating and re-architecting all of our existing applications to work and complement a third-party solution could become a very time-consuming process.
At the time, we called that program LEGO, with 5 main components to manage our sales force, in addition to e-commerce that serves the end consumer.
The LEGO program is defined as five components, each one covering specific parts of the direct selling process – including structuring, channel control, performance and payment of the sales force.
Our five components are as follows:
- People/Registry (GPP)
- Relationships (GRP)
- Order Capture (GSP)
- Direct Sales Management (GCP)
- Data Operations (GDP)
The platform responsible for generating data and sales indicators for the other platforms is GCP (Global Commercial Platform). GCP manages, integrates, and handles all rules related to Natura’s commercial models and their relationships, processes KPIs, and processes all intrinsic aspects related to direct selling, such as profits and commission bonuses.
Why and where does ScyllaDB fit?
Fabricio: We have been proud and happy users of ScyllaDB for many years now. Our journey with ScyllaDB started back in 2018. Back then, our old systems were very hard to scale, in a way that it got to a point where it became an impediment to managing our own operations and keeping up with our ongoing innovation.
In 2018 we started this journey of migrating from our previous solution to ScyllaDB. Past that, we shifted to AWS and since then we have been expanding the reach of our platform to other business areas. For example, last year we started using ScyllaDB CDC, and currently we are studying to implement multi-region deployments for some of our applications.
The main reason why we decided to shift to ScyllaDB was because of its impressive scaling power.
Our indicator processing requires real-time execution, with the lowest latency possible. We receive several events per second, and the inability to process them in a timely manner would result in a backlog of requests, ruining our users’ experience.
The fact that ScyllaDB scales linearly, both up and out, was also a key decision factor. We started small and later migrated more workloads to it gradually. Whenever we required more capacity, we simply added more nodes, in a planned and conscious way. “Bill shock” was never a problem for us with ScyllaDB.
Our applications are Global (hence the platform’s acronym), and currently span several countries. Therefore, we could no longer work with maintenance windows incurring downtime. We needed a solution that would be always on and process our workloads in an uninterruptible way.
ScyllaDB’s active-active architecture perfectly fits what we were looking for. We plan to cover the Northern Virginia and São Paulo regions on AWS in the near future with a multi-datacenter cluster, and so we can easily ensure strong consistency for our users thanks to ScyllaDB’s tunable consistency.
What else can you tell us about your KPIs and their numbers?
Filipe: One aspect to understand before we talk about the numbers ScyllaDB delivers to us is how our business model works.
In a nutshell, Natura is made by people, and for people. We have Beauty Consultants all around the world bringing our products to the consumer market. The reason why the Natura brand is so strong (especially within Brazil), is primarily because we have a culture of dealing with people before we make important decisions, such as buying a car or a house.
What typically happens is this: You have a friend, who is one of our Beauty Consultants. This friend of yours offers you her products. Since you trust your friend and you like the products, you eventually end up trying it out. In the end, you realize that you fell in love with it, and decide to always check in with your friend as time goes by. Ultimately, you also refer this friend of yours to other friends, as people ask which lotion or perfume you’re using, and that’s how it goes.
Now imagine that same situation I described on a much larger scale. Remember: We have over 7 million consultants in our network of people.
Therefore, we need to provide these consultants with incentives and campaigns for them to keep on doing the great job they are doing today. This involves, for example, checking whether they are active, if they recovered after a bad period, or whether they simply ceased engaging with us. If the consultant is a new recruit, it is important that we know this as well because every one of them is treated differently in a personalized way.
That way, by treating our consultants with respect and appreciation, we leverage our platform to help us and them make the best decisions.
Today ScyllaDB powers over 73K indicators, involving data of over 4 million consultants within 6 countries of Latin America. This includes over USD 120M just in orders and transactions. All of this is achieved on top of a ScyllaDB cluster delivering an average throughput of 120K operations per second, with single-digit millisecond latencies of 6 milliseconds for both reads and writes.
How complex is Natura’s Commercial Platform architecture today?
Fabricio: Very complex, as you can imagine for a business of that size!
GCP is primarily deployed within AWS (heh!). We have several input sources coming from our data producers. These involve Sales, our Commercial Structures, Consultants, Orders, Final Customers, etc.
Once these producers send us requests, their submissions enter our data pipelines. This information arrives in queues (MSK) and is consumed using Spark (EMR), some streaming and others batch, this data is transformed according to our business logic, which eventually reaches our database layer, which is where ScyllaDB is located.
We of course have other databases in our stack, but for APIs and applications requiring real-time performance and low latency, we end up choosing ScyllaDB as the main datastore.
For querying ScyllaDB we developed a centralized layer for our microservices using AWS Lambda and API Gateway. This layer consults ScyllaDB and then provides the requested information to all consumers that require it.
As for more details about our ScyllaDB deployment, we currently have 12 nodes running on top of AWS i3.4xlarge EC2 instances. Out of the 120K operations I previously mentioned, 35K are writes, with an average latency of 3 milliseconds. The rest are reads, with an average latency of 6 milliseconds.