Como o Spotify migrou todo seu data center para o Google Cloud
O Spotify iniciou a utilização da Google Cloud Platform (GCP) em 2016, com investimentos de US$ 450 milhões em três anos. Para o Google, a plataforma de streaming de músicas tornou-se um cliente referência, não apenas pela sua marca e escala, mas também pela reputação como uma empresa centrada em engenharia e orientada por dados.
O Spotify, desde então, fechou ambos os data centers instalados nos EUA e estará livre de infraestrutura on-premise até o final do ano, após uma migração complexa.
Por que migrar?
Ramon van Alteren, diretor de engenharia do Spotify, comenta que, se pensar na quantidade de esforço necessário para manter a capacidade de computação, em armazenamento e rede de uma empresa global que atende a mais de 170 milhões de usuários, isso é uma quantidade considerável de trabalho.
Além de evitar que desenvolvedores se preocupem com provisionamento e manutenção de infraestrutura, a empresa também queria aproveitar algumas das inovações do Google Cloud, especificamente o data warehouse em nuvem BigQuery, Pub/Sub para envio de mensagens, além da ferramenta DataFlow para processamento em lote e streaming.
Migração de serviços: passo a passo
O plano de migração atual foi formulado em 2015 e dividido em duas partes: serviços e dados. A migração de serviços se concentrou na transferência de quase 1,2 mil microsserviços de data centers para o Google Cloud Platform.
Os três principais objetivos durante a migração, de acordo com van Alteren, foram minimizar a interrupção do desenvolvimento do produto, terminar o mais rápido possível para evitar o custo e a complexidade da execução em um ambiente híbrido, além de garantir que o Spotify não tivesse nenhum serviço executando em seus data centers.
Uma das primeiras ações que as empresas fizeram foi construir uma pequena equipe de migração de engenheiros e criar uma visualização real time de todo o estado de migração para que os engenheiros pudessem se assistir para ver o andamento do projeto.
Essa visualização parece um conjunto de bolhas vermelhas (data center) e verdes (Google Cloud), com cada bolha representando um sistema e o tamanho da bolha representando o número de máquinas envolvidas.
A migração de serviços começou com as dependências de mapeamento, já que a arquitetura no Spotify significa que cada microsserviço depende de 10 a 15 pessoas para atender uma solicitação do cliente. Isso significa que uma migração “big bang”, em que tudo para, não era uma opção, pois os clientes esperam um tempo de atividade constante do serviço.
Em vez disso, as equipes de engenharia do Spotify receberam a tarefa de transferir seus serviços para a nuvem em um sprint de duas semanas, período em que pararam efetivamente qualquer desenvolvimento de produto. Isso também permitiu que essas equipes começassem a avaliar sua arquitetura e desativassem qualquer coisa desnecessária.
Uma coisa que o Google Cloud fez especificamente para o Spotify durante a migração é a opção Virtual Private Cloud (VPC). “Isso permite que você construa de forma semelhante a uma rede interna que conecta vários projetos e eles podem cruzar conversas”, disse van Alteren.
Isso permite às equipes terem um bom controle de suas demandas e, com isso, elas conseguem fazer o que precisam e, se algo dá errado, é somente no setor, e não em toda a empresa.
Uma vez que a migração estava em fluxo total, a equipe de migração central começou a induzir secretamente falhas nesses sistemas de nuvem, registrando como as equipes reagiram na nova arquitetura.
“Isso ajudou a garantir que os sistemas de monitoramento fossem adequadamente estendidos para a nova implementação na nuvem, se uma equipe não percebesse, Finalmente, tivemos esta cartilha em que eles poderiam começar a usar os modos de falha na nuvem que talvez não tivessem no passado”, explica Peter Mark Verwoerd, arquiteto de soluções do Google.
Em maio de 2017, cada sprint de migração foi concluído e o tráfego estava sendo encaminhado para o Google Cloud. Então, em dezembro de 2017, o Spotify atingiu 100% dos usuários e já havia fechado o primeiro dos quatro data centers. Desde então, o segundo data center foi fechado e os dois últimos, ambos na Europa, serão encerrados até o final deste ano.
Migração de dados
Devido a um gráfico de dependência altamente complexo, foi um desafio mover 20 mil tarefas diárias de dados para o GCP sem causar falhas no fluxo, de acordo com Josh Baer, gerente sênior de produtos para a infraestrutura de machine learning do Spotify.
O Spotify começou avaliando a possibilidade de uma migração ‘big bang’. Porém, mesmo com um link de rede de 160 gigabits por segundo, seriam necessários dois meses para copiar os dados do cluster do Hadoop para a infraestrutura do Google. “Nós não seríamos um grande negócio se estivéssemos perdidos por dois meses”, acrescentou ele.
A melhor estratégia, então, foi copiar os dados. “À medida que você transfere seu trabalho para o GCP, você copia suas dependências e, em seguida, pode transportar seu trabalho”, explicou. “Então, se você tem consumidores downstream, talvez tenha que copiar a saída do seu trabalho de volta ao nosso cluster local para que eles não sejam quebrados. Como a maior parte da migração de dados durou de seis a 12 meses, estávamos executando muitos desses empregos para preencher lacunas em nossa árvore de dependência.
Lições aprendidas
Max Charas, engenheiro de nuvem do Google, alerta: “essa estratégia de migração é muito personalizada para o Spotify, então, quem quiser fazer algo assim, pode parecer muito diferente.”
A empresa aprendeu algumas lições importantes com a migração. A primeira delas foi a preparação. “Nós nos preparamos provavelmente dois anos antes da migração e cada migração levou cerca de um ano. Tentamos criar um caso de uso mínimo para mostrar os benefícios da mudança para o GCP, mas isso não poderia ser uma coisa pequena para mostrar a verdadeira valor”, diz Charas.
Em segundo lugar foi o foco. Para Van Alteren, é realmente incrível o que pode ser feito com uma equipe de engenheiros focada em uma única coisa. Isso também ajudará os parceiros de negócios, que ficam mais felizes com um curto período de tempo sem desenvolvimento de produto em vez de um longo período de tempo.
A terceira foi a construção de uma equipe de migração dedicada para atuar como proteção para ajudá-los a saber o que precisam, transmitir experiências e aprendizados passados e apenas os recursos de que precisam.
A última foi “sair do híbrido o mais rápido possível – todos esses trabalhos de cópia são caros e complexos”, disse Baer.
Resultados
Com a migração, os desenvolvedores estão com mais liberdade e maior escala, sem sacrificar a qualidade do serviço. “Qualidade de serviço é algo que medimos diligentemente e não houve degradação”, disse Van Alteren. “Os benefícios incluem nosso canal de entrega de eventos, que carrega os pagamentos de royalties para detentores de direitos. Quando mudamos para a nuvem, o pipeline transportava no pico de 800 mil eventos por segundo e agora carregam três milhões por segundo”, finaliza.
http://idgnow.com.br/ti-corporativa/2018/08/01/como-o-spotify-migrou-todo-seu-data-center-para-o-google-cloud/
"E o que as empresas podem aprender com isso; Migração foi complexa, mas agora desenvolvedores têm mais liberdade e maior escala."