Enquanto os principais provedores de serviços de computação em nuvem estão com pressa de adicionar cada vez mais recursos às suas plataformas PaaS, a DigitalOcean vem crescendo silenciosamente sua participação no mercado com sua nuvem pública apenas para IaaS. A DigitalOcean possui uma linha de produtos focada em VMs baseadas em Linux, todas com armazenamento SSD em nuvem e rede virtualizada, com uma alta demanda deste serviço. A NetCraft classifica a DigitalOcean como o segundo maior provedor de hospedagem do mundo e a Web Technology Surveys como o 4º maior provedor de websites de alto tráfego. A Digital Ocean acaba de lançar um balanceador de carga em nuvem para complementar o pacote IaaS existente.
Os balanceadores de carga são um recurso chave para alta disponibilidade e escalabilidade. Eles permitem que o tráfego seja distribuído entre vários servidores, e quando o balanceador de carga tem informações sobre o estado de cada um dos hosts, ele pode direcionar o tráfego apenas para os nós 'saudáveis 'e evitar os nós que estão com problemas.
Atualmente no mercado, a Microsoft Azure tem dois produtos para balanceamento de carga: um para serviços públicos e acessíveis pela Internet, e outro para serviços internos e privados. Já a Amazon AWS possui um balanceador de carga clássico, que distribui o tráfego entre clientes e servidores utilizando como base endereços IPs e portas TCP, operando na camada 4 do modelo ISO/OSI. Como opção, a AWS também oferece um balanceador de carga de aplicação que suporta o roteamento de tráfego entre clientes e servidores baseado no conteúdo da requisição, operando na camada 7 do modelo ISO/OSI.
Um balanceador de carga não é um requisito obrigatório para uma solução de alta disponibilidade. É possível distribuir o tráfego entre clientes em servidores no nível de DNS utilizando verificações de disponibilidade dos servidores, também conhecidos como health checks, a partir do provedor de DNS ao invés do provedor de hospedagem. A Digital Ocean disponibilizou uma abordagem alternativa, com endereços IP 'flutuantes' desde 2015. Este recurso permite uma troca rápida de endereços IP de um servidor para outro (failover), roteando o tráfego para o servidor backup caso o primário apresente problemas, e pode ser invocado via API para fornecer solução de failover automatizada.
O InfoQ conversou com Mitch Wainer, co-fundador da Digital Ocean, e perguntou sobre o que motivou a criação do serviço de balanceamento de carga.
InfoQ: Por que você introduziu o produto de balanceador de carga neste momento, quando você já tem uma grande base de clientes que, a princípio, estão satisfeitos com endereços IP flutuantes e DNS?
Mitch Wainer: As necessidades dos nossos clientes estão se tornando cada vez mais complexas, e eles estão solicitando recursos que os permitirão lidar com cargas maiores, aplicações mais críticas e casos-de-uso mais avançados. Muitos dos nossos clientes têm implantado sua própria solução de balanceamento de carga personalizada usando nossos recursos atuais, mas o processo de configuração é demorado. Nosso serviço de Balanceamento de Carga resolve esse problema fornecendo uma solução fluida, simples de usar e fácil de implantar e manter.
InfoQ: O seu balanceador de carga tem um bom conjunto de recursos, com terminação SSL e 'sticky-sessions' disponíveis. Você está planejando integrar balanceadores de carga com seu próprio DNS, para que vocês possam suportar o failover de uma região para outra?
Wainer: Esta é a primeira iteração do nosso produto de balanceamento de carga. Há várias melhorias planejadas, incluindo suporte à CLI (Command Line Interface), integração com 'Let's Encrypt' e muito mais. Failover entre regiões é um pedido comum que vamos resolver.
InfoQ: O preço para o balanceador de carga é fixo em US $ 20 por balanceador de carga, por mês. Existem limites de uso ou é possível configurar um balanceador de carga único em centenas de droplets, servindo centenas de terabytes de dados?
Wainer: Vamos continuar a expandir as capacidades dos Load Balancers. Agora, eles podem lidar com a carga de aplicações comuns em nossa infraestrutura. Estamos trabalhando de perto com grandes clientes que lidam com cargas extremamente elevadas para que os balanceadores de carga se adaptem às suas necessidades também.
InfoQ: O roadmap de seus produtos para 2017 tem muito a ver com simplificar a infraestrutura na nuvem. Você acha que IaaS é suficiente, ou você vai precisar olhar para PaaS ou produtos servless no futuro?
Wainer: Nós estamos sempre procurando simplificar as complexidades da infraestrutura e isso significa que vamos continuar a investir em produtos que irão abstrair a infraestrutura para que os desenvolvedores possam gastar mais tempo de codificação e menos tempo em suas operações.