Em 1999, a Netflix começou a migrar sua aplicação legada para uma arquitetura baseada em APIs na nuvem da Amazon, documentando abertamente sua jornada pelo caminho. Netflix é uma das pioneiras em microserviços e APIs, e esse termo nem sequer existia quando o serviço por streaming começou a caminhar. Hoje, a plataforma sua é sustentada por um Gateway de APIs que lida com cerca de dois bilhões de requisições todo dia, tratadas por mais de 600 APIs. O negócio da Netflix obteve tanto sucesso com sua arquitetura que abriu o código de boa parte de sua plataforma pra desenvolvedores, incluindo as tecnologias que suportam suas APIs. Com isso, a Netflix se tornou um dos mais conhecidos exemplos de uma arquitetura moderna de APIs, a ponto de que se um artigo fala sobre cases de APIs, as chances de falar sobre a Netflix são bem altas.
Linha do tempo
A Netflix começou a mudar para uma arquitetura baseada em microserviços em cloud em 2009, inicialmente com a codificação de vídeo. Durante 2010, o site inteiro foi reformulado para nuvem, finalizando o processo no ano seguinte.
Motivos para a mudança
Houve vários motivos para a Netflix migrar de seu data center para uma arquitetura baseada em microserviços em cloud. A primeira razão para essa mudança teve a ver com disponibilidade, escalabilidade e velocidade. A empresa precisava de uma arquitetura que permitisse à Netflix estar no ar e funcionando 24/7, escalável de acordo com a estimativa de sua grandeza e otimizada para ter velocidade.
Em 2008, quando ainda operava em seu data center antigo, um simples ponto-e-vírgula errado na programação derrubou o site por várias horas. Aplicações legadas tendem a virar um código espaguete, com vários componentes linkados e se entrecruzando. Quando alguma coisa parava de funcionar nela, todos os engenheiros da Netflix eram alertados para verificar se o código deles foi o causador do problema, ocupando muito tempo dos profissionais envolvidos.
Claro que ainda existem erros de programação nas APIs, mas as interrupções são minimizadas radicalmente, uma vez que a plataforma é dividida em blocos de serviços que são livremente acoplados. Com isso, se um serviço para de funcionar, os outros podem muito bem continuar funcionando normalmente, já que possuem estrutura independente.
Outro motivo da mudança para uma arquitetura de APIs estava relacionado a escalabilidade. A Netflix simplesmente não dava conta de construir seus data centers de forma a acompanhar seu crescimento. Além de o número de usuários crescer exponencialmente, a Netflix também estava diversificando para plataformas como xbox, wii e mobile em uma expansão global. Com a cloud da Amazon, a Netflix conseguiu aumentar sua capacidade em minutos, com centenas de servidores virtuais podendo ser provisionados simultaneamente em caso de aumento na demanda dos serviços. No passado, aumentar a capacidade do data center poderia levar horas ou até mesmo dias.
A arquitetura de APIs permitiu à Netflix acelerar significantemente o seu desenvolvimento e a implementação da sua plataforma e serviços. A empresa conseguiu construir e testar serviços globais em larga escala, sem impacto ao sistema atual e permitindo voltar ao estado anterior em caso de problemas. A arquitetura de APIs também viabilizou a criação de 30 times de engenharia independentes que trabalharam com diferentes datas de lançamento, o que auxiliou no aumento da agilidade e produtividade no processo de desenvolvimento.
Netflix oferece software de código aberto
A Netflix teve tanto sucesso em migrar para uma arquitetura baseada em APIs que a companhia abriu o código de muitas das suas ferramentas e componentes para desenvolvedores. Em uma apresentação recente na conferência GOTO, Cockcroft explicou o que levou a Netflix a abrir tanto do seu código:
Durante 2011 houveram muitas interrupções, a Amazon e outros sites saíram do ar mas a Netflix não. E por que isso ocorreu? Bem, é porque nós arquitetamos uma estrutura com altíssima disponibilidade. Então, em 2012, nós vimos que gostamos desses recursos; é escalável, é altamente disponível, temos um canal de desenvolvimento muito rápido, continuamos ativos mesmo quando a Amazon sai do ar, é de baixo custo, continuamos indo em conferências e lutando contra as pessoas, então isso parece bom. Mas o mercado não conseguiu perceber como fazer isso por si próprio porque havia uma distância muito grande entre o que a Netflix estava falando para o que todo mundo estava fazendo. Então em 2012, nós começamos a abrir muitas partes do código.
A central de software de código aberto da Netflix oferece ferramentas e tecnologias que as empresas podem utilizar para construir uma arquitetura de APIs que roda na AWS.
Conclusão
Quando falamos que nós iriamos mover toda a Netflix para cloud, todos disseram que estávamos loucos. Ninguém acreditou que estávamos de fato fazendo isso, todos acharam que eram só boatos. (Cockcroft, 2014)
Existem hoje muitas empresas que migraram para cloud, adotando uma arquitetura moderna de APIs – Amazon, Google, IBM, LinkedIn, Spotify, Nike, Paypal, Twitter, Orbitz, Target, Nordstrom, e a lista só aumenta.
A Netflix foi uma das primeiras empresas a se mudar para cloud e implementar APIs, ajudando a pavimentar o caminho para outras empresas fazerem o mesmo. Netflix se tornou líder em tecnologia, especialmente quando se fala de cloud computing e APIs. Esse é o motivo pelo qual cada artigo que fala de APIs também fala de Netflix.