Histórias de clientes / Software e Internet
2022
A UIP da Salesforce usa instâncias spot do Amazon EC2 para reduzir o tempo de processamento de dados em mais de 90% e economizar mais de 1 milhão USD todos os meses
1 milhão USD
economizados por mês
200 a 250 TB
processados pelo mesmo custo anterior de 100 TB
4 horas para 15 minutos
redução do tempo de processamento
Testes de configuração
explorado e testado em poucas horas
Visão geral
A equipe da plataforma unificada de inteligência (UIP) da Salesforce gerencia um data lake em nível de petabytes e desejava inovar as análises e o processamento de dados com o objetivo de reduzir custos e aumentar a eficiência. Usando a Amazon Web Services (AWS) para uma combinação de modelos de provisionamento de instâncias do Amazon Elastic Compute Cloud (Amazon EC2), que fornece capacidade computacional segura e redimensionável para praticamente qualquer workload, a equipe da UIP conseguiu criar uma infraestrutura de computação escalável e elástica. A infraestrutura computacional remodelada leva menos tempo para processar o dobro de dados e, ao mesmo tempo, faz a empresa economizar mais de 1 milhão USD por mês.
A Salesforce usa a AWS para fluxos de trabalho de dados, enquanto a AWS usa a Salesforce para o gerenciamento de relacionamento com o cliente. Essa parceria facilita que os desenvolvedores que usam as duas tecnologias criem e lancem aplicações para clientes, apliquem os serviços da AWS de forma nativa no Salesforce e conectem dados e fluxos de trabalho com segurança na Salesforce e na AWS.
Oportunidade | Arquitetura para a eficiência na AWS
No final de 2019, a equipe da UIP começou a fazer a transição de seu cluster on-premises para o Amazon EMR, uma plataforma de big data em nuvem para executar trabalhos de processamento de dados distribuídos em grande escala, consultas SQL interativas e aplicações de machine learning usando estruturas analíticas de código aberto, como Apache Spark, Apache Hive e Trino. O uso do Amazon EMR ajuda a Salesforce a reduzir a complexidade do gerenciamento de suas estruturas de big data e fornece integração nativa para instâncias spot do Amazon EC2, que ajudam as empresas a aproveitar a capacidade não utilizada do Amazon EC2 na nuvem.
A equipe identificou que as workloads executadas no Apache Spark eram boas candidatas para o uso de instâncias spot como parte de uma estratégia de otimização de custos. O Apache Spark no Amazon EMR faz novas tentativas automáticas, que ajudam a fornecer resiliência no caso de recuperações de instâncias spot devido aos requisitos de capacidade do Amazon EC2. Além disso, a equipe da UIP usa o Spark Streaming para processar dados em janelas de 5 minutos, outro fator que ajuda a minimizar a chance de ter que fazer novas tentativas.
Para encontrar a maior disponibilidade pelo menor preço, a UIP do Salesforce experimentou o uso de instâncias spot junto com outras opções de compra do Amazon EC2. Diversos cenários foram executados em várias porcentagens de instâncias spot e instâncias sob demanda do Amazon EC2, pelas quais as empresas pagam pela capacidade computacional por segundo, sem compromisso de longo prazo e têm controle total sobre o ciclo de vida da instância. Para suas instâncias sob demanda, a UIP do Salesforce estava usando o Savings Plans, um modelo de preço flexível que oferece preços mais baixos em comparação com o preço sob demanda, em troca de um compromisso de uso específico. Buscando equilibrar a confiabilidade do cluster com descontos nas instâncias, a equipe da UIP identificou uma configuração ideal com 60% do uso do Amazon EC2 se beneficiando de instâncias spot e o restante usando a cobertura do Savings Plans. Para cumprir os contratos de nível de serviço (SLAs), a UIP da Salesforce criou frotas pensando no desempenho. As workloads foram divididas em clusters SLA e não SLA, dependendo das características do processador e da capacidade de atender aos requisitos de tempo dos SLAs. “Em termos de construir nossa frota, acho que o benefício real aqui é a quantidade de tipos de instância você pode usar”, diz Eric Legault, engenheiro principal da Salesforce. “Usar a AWS nos ajudou a lidar com muitas configurações diferentes de máquinas e experimentar cenários diferentes. Foi uma questão de alterar a configuração e, algumas horas depois, pudemos ver se realmente funcionou ou não. Então, acho que isso foi uma grande parte do sucesso.”
A escalabilidade gerenciada do Amazon EMR desempenha um papel importante em nossa habilidade de usar a capacidade elástica da nuvem. E reduzimos significativamente os custos apenas usando instâncias spot de uma forma inovadora.”
Eric Legault
Principal Engineer, Salesforce
Solução | Economizar milhões usando instâncias spot
Em alinhamento com as melhores práticas da AWS para o uso de instâncias spot, a equipe desenvolveu estabilidade adicional em sua frota ao passar de dois ou três tipos de instância para 27 tipos de instância, mantendo a mesma capacidade. A equipe da UIP executa 12 clusters especializados para finalidades diferentes, usando tipos de instância otimizados para CPU, memória ou workloads balanceadas e apresentando uma combinação de processadores Intel e AMD. “Quanto mais tipos de instância você tiver, mais resiliente será seu cluster”, diz Legault.
Agora, a UIP da Salesforce processa de 200 a 250 TB por dia e grava cerca do dobro dessa quantidade de dados por aproximadamente o mesmo custo necessário para processar 100 TB. Ao redefinir a arquitetura do processamento de ingestão para uma abordagem de streaming e usar instâncias spot para aumentar a infraestrutura e controlar os custos, a equipe também melhorou a eficiência do processamento, reduzindo o tempo de ingestão e processamento de dados de 4 horas para 15 minutos. Para fornecer maior visibilidade de suas métricas de computação, a Salesforce usa o Amazon CloudWatch, um serviço de monitoramento e observabilidade dos recursos da AWS. A equipe monitora as aplicações usando painéis personalizados criados com o software de código aberto Grafana, que fornece visualização de métricas operacionais.
A solução UIP da Salesforce também usa a escalabilidade gerenciada do Amazon EMR, que dimensiona automaticamente o cluster para obter o melhor desempenho com o menor custo possível. Para compensar a possibilidade de recuperação de uma instância spot, a Salesforce permite que seu cluster escale cerca de 5% acima da capacidade. A capacidade adicional significa um processamento mais rápido para fornecer mais disponibilidade e estabilidade no cluster quando necessário. “Acho que esse é realmente o benefício, podemos aumentar e reduzir a escala verticalmente quando a capacidade não é necessária”, diz Legault. “Esse processo também cuida de tudo o que saiu em termos de recuperação.” Além disso, o uso de um novo recurso na escalabilidade gerenciada do Amazon EMR impede que a UIP da Salesforce reduza as instâncias que armazenam dados de rearranjo intermediários para o Apache Spark, o que resulta em melhor desempenho e menor custo.
A incorporação de instâncias spot pela UIP da Salesforce complementa o uso do Savings Plans e reduz os custos de computação em mais de 60%, fazendo a empresa economizar mais de 1 milhão USD por mês. Além de dois clusters que funcionam em tempo integral, a equipe da UIP pode aumentar a escala verticalmente de maneira econômica com um terceiro cluster quando necessário para acomodar um fluxo repentino de dados. O uso de instâncias spot pela equipe da UIP para lidar com o aumento da escala também ajuda a reduzir os custos em outras áreas do Salesforce, liberando instâncias do Savings Plans que outras equipes podem usar para reduzir custos durante os períodos de pico.
Resultado | Construir inteligência no gerenciamento de frotas
Como parte do processo de otimização, a equipe da UIP usa o Spot Instance Advisor, que ajuda as empresas a determinar grupos com a menor chance de interrupção e oferece economia em relação às taxas sob demanda. A equipe espera criar ainda mais inteligência no gerenciamento dinâmico de frotas usando a pontuação de posicionamento spot do Amazon EC2, que pode recomendar, quase em tempo real, uma zona de disponibilidade ou região da AWS com base nos requisitos da Salesforce. Usando a pontuação de posicionamento spot do Amazon EC2, a equipe da UIP planeja obter uma capacidade ainda maior e preços mais baixos à medida que se expande pelas regiões da AWS. “Usamos a capacidade da nuvem e a ampla variedade de tipos de instâncias do Amazon EC2 para fazer coisas que não poderíamos fazer no local”, diz Legault. “A escalabilidade gerenciada do Amazon EMR desempenha um papel importante para que possamos usar a capacidade elástica da nuvem. E reduzimos significativamente os custos apenas usando instâncias spot de uma forma inovadora.”
Sobre a Salesforce
Como a principal plataforma de gerenciamento de relacionamento com o cliente (CRM) e engajamento do cliente, a Salesforce atende a mais de 150 mil empresas em todo o mundo. A Salesforce une equipes de vendas, serviços, marketing, comércio e TI com uma visão única e compartilhada das informações dos clientes, ajudando a desenvolver relacionamentos com clientes e funcionários.
Serviços da AWS usados
Amazon Elastic Compute Cloud (EC2)
O Amazon EC2 oferece a plataforma de computação mais ampla e profunda, com mais de 500 instâncias e opções de processador, armazenamento, rede, sistema operacional e modelo de compra mais recentes para ajudá-lo a atender melhor às necessidades de sua workload.
Instâncias spot do Amazon EC2
As instâncias spot do Amazon EC2 permitem aproveitar a capacidade não utilizada do EC2 na Nuvem AWS.
Savings Plans
O Savings Plans é um modelo de preços flexíveis que oferece preços mais baixos em comparação com os preços sob demanda, em troca de um compromisso de uso específico (medido em USD/hora) por um ou três anos.
Escalabilidade gerenciada do Amazon EMR
Com a escalabilidade gerenciada do EMR, você especifica os limites mínimo e máximo de cálculo para seus clusters e o Amazon EMR automaticamente os adapta para melhor desempenho e utilização de recursos.
Comece a usar
Organizações de todos os portes, em todos os setores, estão transformando seus negócios e cumprindo suas missões todos os dias usando a AWS. Entre em contato com nossos especialistas e comece sua própria jornada para a AWS hoje mesmo.