Os desafios para a gestão eficiente do ativo de mídias da OLX Brasil
Não é fácil — e nem barato — armazenar e distribuir o volume crescente de mídias nos marketplaces. Vamos ver como estamos nos preparando para atender a essa demanda de maneira sustentável?
A crescente demanda por mídias em plataformas de comércio eletrônico impõe desafios para o processamento e armazenamento de grandes volumes de imagens, exigindo a adoção de estratégias que viabilizem uma melhor experiência para os usuários de maneira eficiente.
Se você tem acompanhado o nosso Medium, já sabe que uma das estratégias que adotamos foi a escolha de um novo formato de arquivo para as imagens armazenadas e entregues. Mas não paramos por aí. Bora ficar por dentro da próxima?
Motivação
Uma vez que uma imagem é inserida na plataforma de mídias da OLX Brasil, aplicamos transformações de dimensão e compressão (além da conversão para um formato mais eficiente conforme mencionado anteriormente) com o objetivo de reduzir o tamanho do arquivo armazenado. Como resultado, guardamos hoje em torno de 5 bilhões de imagens com tamanho médio de 46,9 kB. Considerando a média diária de 5 milhões de novas imagens na plataforma, calculamos que nosso espaço utilizado para armazenamento cresce em torno de 234,5 GB/dia.
Qual o impacto desses números? O impacto é no bolso! Afinal, o custo de armazenamento é calculado pelo espaço utilizado e pelo tempo em que esse espaço é utilizado. Isso significa que, mantendo o volume atual, o armazenamento das nossas imagens custa em torno de $1.764 a mais todo ano. É neste cenário que podemos ter um comportamento preocupante: se não tivermos políticas de expurgo dessas imagens em algum momento, o custo de armazenamento crescerá proporcionalmente à quantidade de imagens inseridas na plataforma.
Como identificar em que momento uma imagem não precisa mais ser armazenada considerando as diferentes regras de negócio que se aplicam a ela?
O Ciclo de Vida
Será que precisamos guardar essas imagens pra sempre, nunca nos livrando do custo de armazená-las? Certamente não! Porém, uma vez que a missão do time de mídias da OLX Brasil é prover gestão de mídias agnósticas ao negócio isentando os clientes de preocupações como esta, como identificar em que momento uma imagem não precisa mais ser armazenada considerando as diferentes regras de negócio que se aplicam a ela?
Nossa proposta de solução parte de duas definições:
- Toda nova imagem deve "nascer" com uma data definida para exclusão;
- Estados e transições que contemplem o Ciclo de Vida das mídias (Imagem 1).
Como cada cliente usuário da plataforma de mídias possui um perfil de utilização associado a uma API Key, é possível configurar regras que serão utilizadas, por exemplo, na definição das datas para exclusão, adequando o comportamento às necessidades do negócio e ao mesmo tempo mantendo apenas as imagens relevantes armazenadas.
Estudo
A partir do Ciclo de Vida definido, conseguimos identificar os estados nos quais uma mídia pode ser excluída, sendo eles:
- Imagens expiradas — mídias ativas ou desabilitadas por tempo limite definido no perfil de utilização;
- Imagens órfãs — mídias que não foram associadas a nenhuma outra entidade pelo tempo limite definido (geral para todos os perfis);
- Imagens duplicadas — mídias identificadas como sendo igual a outra: nesse caso, manteremos apenas 1 versão.
Mantendo a preocupação de estarmos em acordo com a restrições legais que se aplicam aos dados dos usuários que armazenamos, as imagens contempladas pelo primeiro caso não serão excluídas de imediato. Essas imagens serão transferidas para um tipo de armazenamento que não permite o acesso frequente aos arquivos que lá estão, porém o custo desse armazenamento é até 95% menor. Caso haja a necessidade de recuperar alguma dessas imagens, será possível fazê-la mediante solicitação. Já para os dois outros casos, entendemos que essas imagens não trazem mais valor ao negócio e as restrições legais não recai sobre elas. Dessa forma, podemos excluí-las em definitivo.
A partir do momento em que as imagens referentes ao primeiro caso forem transferidas para o armazenamento mais barato, é definida a data para que sejam excluídas definitivamente. Por meio da configuração de regras do Amazon S3 Lifecycle, essas imagens serão excluídas uma vez que as restrições legais de tempo de armazenamento estabelecidas sejam cumpridas.
Para fazer jus a nossa ambição de ser o time especialista em gestão de mídias na OLX Brasil, precisamos de um produto que atenda às diversas necessidades de maneira segura, escalável e sustentável.
A gestão eficiente das mídias
Para fazer jus à nossa ambição de ser o time especialista em gestão de mídias na OLX Brasil, precisamos de um produto que atenda às diversas necessidades de maneira segura, escalável e sustentável, e entendemos que não é possível atingir esse objetivo se não cuidarmos do ciclo de vida de cada imagem que passa pela nossa plataforma. O crescimento incessante das imagens armazenadas não só leva ao aumento de custo insustentável, mas, também, pode acarretar na degradação dos serviços que trabalham com essas imagens, devido à quantidade de dados a serem processados que é sempre maior.
Com a implementação das definições aqui apresentadas, esperamos que o crescimento das métricas de imagens da OLX Brasil estejam mais atreladas ao crescimento de tráfego e clientes em nossos portais do que ao "lixo" guardado sem necessidade, e que, ao longo do tempo, desapeguemos dessas imagens tão logo elas não sejam mais úteis.
Quer saber mais sobre a nossa cultura e o como fazemos para ir #AoInfinitoEAlém? Acesse nossa página!