Histórias de clientes/Marketing digital

2021
Logotipo do Pinterest

Pinterest aprimora a confiabilidade do pipeline de build do iOS em 80,5% com as instâncias Mac do Amazon EC2

O Pinterest aprimorou a velocidade de desenvolvimento, a estabilidade da infraestrutura e o tempo de entrada no mercado ao migrar seu ambiente de compilação do iOS para instâncias Mac do Amazon EC2.  

80,5%

Diminuição das falhas de compilação relacionadas à máquina no pipeline de CI/CD em 80,5%

Custos reduzidos

Redução dos custos de desenvolvimento

18,4%

Aumento da velocidade de desenvolvimento e lançamento de aplicações iOS em 18,4%

Maior confiabilidade e estabilidade

Da infraestrutura CI/CD

Desenvolvedores capacitados

Para se concentrarem na criação de serviços inovadores

Visão geral

O Pinterest atende a mais de 444 milhões de usuários por mês, no mundo inteiro, com suas aplicações móveis e Web. Para dar suporte à sua aplicação iOS, os desenvolvedores do Pinterest usaram computadores on-premises que podiam acessar o macOS e o ambiente de desenvolvimento integrado Xcode da Apple, necessários para desenvolver, compilar, testar e implantar atualizações e novos recursos para qualquer aplicação da Apple. Porém, a plataforma de descoberta visual queria uma infraestrutura mais rápida e mais eficiente para seu ambiente de compilação do iOS e buscou uma solução na Amazon Web Services (AWS).

O Pinterest migrou seu pipeline de integração contínua e entrega contínua (CI/CD) para aplicações iOS para instâncias Mac do Amazon Elastic Compute Cloud (Amazon EC2), permitindo que os desenvolvedores provisionem e acessem ambientes de computação macOS em nuvem sem interrupções. Com instâncias Mac do Amazon EC2, o Pinterest reduziu as falhas de compilação relacionadas à máquina em 80,5% e aumentou a velocidade de desenvolvimento em 18,4%.

458961641

Oportunidade | Acesso a ambientes macOS em nuvem

Como um mecanismo de descobertas visuais usado para encontrar inspirações em categorias como decoração, comida, estilo e beleza, o Pinterest cresceu até se tornar uma plataforma global. Para criar, testar e implantar aplicações para seus usuários do iOS, os desenvolvedores do Pinterest usaram computadores on-premises, que a empresa precisava adquirir, configurar e atualizar manualmente. “Era muito difícil ter de gerenciar máquinas físicas”, afirma Oliver Koo, engenheiro de software sênior do Pinterest. “Precisávamos de pessoal para configurar todos os laptops, monitorá-los e atualizá-los continuamente. Se houvesse problema em uma máquina, enfrentaríamos interrupções no serviço e maior latência.” Esse ambiente on-premises prolongava o desenvolvimento, afetando o tempo de entrada no mercado do Pinterest para os recursos do iOS.

O Pinterest precisava de um modo escalável e eficiente de criar, testar e implantar recursos e atualizações do iOS. Tendo usado os produtos da AWS desde o lançamento em 2010, a empresa recorreu à AWS e descobriu as instâncias Mac do Amazon EC2. O Pinterest percebeu que poderia usar esse serviço para provisionar e acessar ambientes macOS em minutos, escalar a capacidade conforme necessário e otimizar seus custos de computação. “Descobrimos que migrar para a AWS simplificaria a experiência de desenvolvimento”, afirma Oliver. “As instâncias Mac do Amazon EC2 são o primeiro serviço que permite que os usuários executem ambientes macOS sob demanda na nuvem, o que é um divisor de águas.” Em março de 2021, o Pinterest começou a migração de seu pipeline de CI/CD para as instâncias Mac do Amazon EC2.

kr_quotemark

Com as instâncias Mac do Amazon EC2, reduzimos o número de falhas de compilação relacionadas à máquina em 80,5%, o que é excelente.”

Oliver Koo
Engenheiro de software sênior, Pinterest

Solução | Diminuição do tempo de entrada no mercado com as instâncias Mac do Amazon EC2

Em agosto de 2021, o Pinterest já havia concluído a migração para as instâncias Mac do Amazon EC2. Com essa solução, a empresa simplificou seu pipeline de CI/CD e agora consegue escalar seu ambiente de criação do iOS sob demanda. “Na AWS, agora podemos aumentar o número de máquinas de compilação em 400% no pico de demanda, em vez de gerenciar um grupo estático de máquinas”, afirma Oliver. O Pinterest usa o Buildkite Agent Scaler, que é executado como uma função no AWS Lambda, um serviço de computação com tecnologia sem servidor e orientado por eventos, para realizar a escalabilidade da infraestrutura de CI/CD da empresa com eficiência, acompanhando o número de trabalhos que precisam ser executados e ajustando devidamente o tamanho da frota de instâncias Mac do Amazon EC2 do Pinterest. “Durante períodos de baixa demanda, conseguimos reduzir a escala verticalmente com facilidade”, diz Oliver. Os desenvolvedores não precisam mais esperar que a capacidade fique disponível durante o pico de demanda, o que melhora a velocidade de desenvolvimento. Leva apenas alguns minutos para o Pinterest criar uma nova instância Mac do Amazon EC2, comparado às horas ou dias que levaria para adquirir uma nova máquina. Comparado à execução de compilações com máquinas on-premises, o Pinterest pode desenvolver e lançar aplicações iOS 18,4% mais rapidamente usando instâncias Mac do Amazon EC2. Por não precisar mais adquirir máquinas e pagar apenas pela capacidade de computação do macOS que usa, o Pinterest reduziu consideravelmente seus custos de desenvolvimento.

O Pinterest também simplificou seus processos de compilação usando instâncias Mac do Amazon EC2. Agora ficou mais rápido e mais simples testar novos recursos e atualizações. “O processo de atualização, aplicação de patches e implantação de correções de segurança em nosso pipeline de CI/CD era bastante complexo”, diz Oliver. “Mas as instâncias Mac do Amazon EC2 e os novos processos que desenvolvemos são bem simples de entender.” Para iniciar uma instância do Amazon EC2, o Pinterest compila uma imagem de máquina da Amazon (AMI) contendo informações, como permissões, que controlam quais contas da AWS poderão usá-la. Como os desenvolvedores agora têm a capacidade de criar uma AMI e configurar rapidamente essas regras, a velocidade de desenvolvimento do Pinterest aumentou 42%. Com a infraestrutura simplificada, a integração de novos funcionários do Pinterest também fica mais simples. Consequentemente, os desenvolvedores podem começar a trabalhar mais cedo e a inovar mais rapidamente.

Para manter seu pipeline de CI/CD seguro, o Pinterest conta com produtos da AWS, como o AWS Identity and Access Management (AWS IAM), que fornece controle de acesso detalhado em toda a AWS. Cada cluster de instâncias Mac do Amazon EC2 usa um perfil diferente do AWS IAM com diferentes permissões atribuídas. Quando um usuário tenta acessar o cluster, o sistema automaticamente permite ou nega o acesso com base nas políticas de segurança que o Pinterest configurou. A empresa também usa o AWS Secrets Manager, que ajuda os desenvolvedores a alternar, gerenciar e recuperar facilmente credenciais de bancos de dados e chaves de API ao longo dos ciclos de vida. O Pinterest recorre ao AWS Secrets Manager para centralizar a autenticação do macOS, evitando que usuários não autorizados acessem seu ambiente de compilação do iOS.

O Pinterest usa instâncias Mac do Amazon EC2 para melhorar a estabilidade de seu pipeline de CI/CD, de modo que seus desenvolvedores possam lançar novos recursos mais rapidamente. Antes, os desenvolvedores precisavam reiniciar frequentemente as máquinas on-premises após longos períodos de atividade, interrompendo o desenvolvimento. Agora, eles sempre têm acesso a uma infraestrutura confiável de CI/CD. Consequentemente, os desenvolvedores do Pinterest podem desenvolver recursos melhores e evitar atrasos ao enviar atualizações para a Apple App Store. “Com as instâncias Mac do Amazon EC2, reduzimos o número de falhas de compilação relacionadas à máquina em 80,5%, o que é excelente.” Ao usar as instâncias Mac do Amazon EC2, os desenvolvedores do Pinterest não precisam mais dedicar tempo para solucionar problemas e gerenciar a infraestrutura, assim, podem se concentrar na criação de novos recursos inovadores para oferecer melhor suporte aos usuários do Pinterest.

Resultado | Suporte à inovação contínua com a AWS

Com as instâncias Mac do Amazon EC2, o Pinterest melhorou significativamente os tempos de desenvolvimento e de entrada no mercado, bem como a estabilidade do pipeline de CI/CD. Futuramente, a empresa pretende usar o Amazon Relational Database Service (Amazon RDS), que simplifica a configuração, a operação e a escalabilidade de um banco de dados relacional na nuvem para registrar e monitorar falhas de compilação. Usando esses insights, o Pinterest consegue entender melhor com que frequência determinados erros ocorrem e implantar soluções para solucioná-los. “A AWS é a primeira a fornecer ambientes macOS sob demanda na nuvem”, afirma Oliver. “Com as instâncias Mac do Amazon EC2, os ambientes de compilação iOS e as máquinas Mac ficam bem mais prontamente disponíveis e acessíveis aos desenvolvedores.”

Sobre o Pinterest

O Pinterest é um mecanismo de descoberta visual usado por mais de 444 milhões de pessoas todos os meses para encontrar receitas, ideias de decoração e estilo e muito mais. Com sede em San Francisco, Califórnia, o Pinterest foi lançado em 2010.

Produtos da AWS usados

Amazon EC2

O Amazon Elastic Compute Cloud (Amazon EC2) é um serviço da Web que disponibiliza capacidade computacional segura e redimensionável na nuvem. Ele foi projetado para facilitar a computação em nuvem na escala da web para os desenvolvedores.

Saiba mais »

Instâncias Mac do Amazon EC2

As instâncias Mac do EC2 permitem que os clientes executem workloads macOS sob demanda na nuvem pela primeira vez, o que amplia a flexibilidade, escalabilidade e o custo-benefício da AWS a todos os desenvolvedores da Apple.

Saiba mais »

AWS Secrets Manager

O AWS Secrets Manager ajuda você a proteger os segredos necessários para acesso a aplicações, serviços e recursos de TI.

Saiba mais »

Explore a jornada de inovação do Pinterest usando a AWS

Mais histórias do Pinterest

nenhum item encontrado 

1

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.