Na computação em nuvem, lidar com a escala é tanto um objetivo quanto um desafio. Isso é especialmente verdadeiro para empresas que precisam distribuir atualizações de software ou firmware pelo ar (OTA). O desafio aqui é gerenciar o volume, garantindo que os uploads e downloads sejam seguros, eficientes e oportunos. Uma configuração comum para algo assim é usar um sistema de arquivos virtual montado em um servidor de nuvem privada com uma CDN para distribuir o software globalmente. Embora essa seja uma configuração decente na qual muitas empresas confiaram para ajudar a dimensionar sua distribuição, como equilibrar isso com a redução de custos? Esse não é apenas um cenário hipotético, muitas empresas enfrentam desafios semelhantes, inclusive um cliente nosso de produtos eletrônicos que precisava distribuir atualizações de firmware OTA para milhões de smart TVs em todo o mundo.
A distribuição de um software como esse envolve altos riscos. Essas atualizações podem ser para novos recursos, refinamento da interface do usuário, patches de segurança ou melhorias de desempenho. Uma empresa que lida com atualizações OTA precisa ter certeza de que, se dezenas de milhares de clientes atualizarem suas TVs ao mesmo tempo, a solução poderá lidar com a carga de forma eficiente, sem custos adicionais ou despesas gerais. Esse não é um desafio único. Milhares de empresas usam OTA para seus produtos e software.
No caso do nosso cliente, o fabricante usou inicialmente vários serviços diferentes para gerenciar isso: Content Delivery Network (CDN) da Akamai para distribuição global, Elastic Compute Cloud (EC2) daAWS para poder de computação, Elastic Load Balancer para tráfego de entrada e Elastic File System (EFS) para armazenar e gerenciar os arquivos de firmware. Essa configuração foi criada para lidar com escalas imensas de distribuição de dados em todo o mundo. No entanto, ela também tinha um preço alto, principalmente para os custos de saída.
AWSO EFS da era parte integrante das operações do fabricante, o que permitia armazenar e gerenciar centralmente as atualizações de SO e firmware, além de distribuí-las globalmente de forma eficiente por meio da integração com o EC2 e o Elastic Load Balancer. No entanto, o custo associado ao EFS, especialmente ao lidar com transferências de dados em grande escala fora das redes da AWS, tornou-se uma preocupação crescente.
Os custos crescentes associados ao EFS, especialmente as taxas de saída para transferência de AWS, levaram a uma reavaliação do sistema de armazenamento e distribuição das atualizações de suas smart TVs. Isso marcou um momento crucial na estratégia do fabricante para gerenciar os custos e, ao mesmo tempo, manter seu sistema de distribuição global robusto, mudando do EFS para o Linode Object Storage.
Solução
Object Storage O fato de ser mais econômico não foi suficiente para convencer esse cliente a migrar do EFS. Ele também precisava se integrar perfeitamente ao fluxo de trabalho existente. Eles conseguiram fazer isso com a ajuda da equipe de suporte da Akamai e de algumas ferramentas de código aberto.
Em sua arquitetura, eles configuraram um bucket Object Storage primário na região Ásia-Pacífico e Japão e um segundo bucket nos Estados Unidos para servir como backup. Essa redundância evita a perda de dados e garante que a disponibilidade de atualizações de firmware permaneça constante, mesmo que o bucket de armazenamento primário falhe. Os dois buckets são sincronizados usando o rclone, um utilitário de código aberto conhecido por sua eficiência na transferência e sincronização de arquivos. Essa ferramenta foi fundamental para garantir que os dois buckets pudessem servir como servidores de origem confiáveis para a CDN.
A transição envolveu um desafio técnico significativo: substituir a solução de armazenamento existente (EFS) por um novo protocolo de armazenamento (Object Storage) sem interromper o fluxo de trabalho. O EFS e o Object Storage são fundamentalmente diferentes em sua arquitetura e funcionalidade. O EFS fornece uma interface e uma semântica de sistema de arquivos, que são essenciais para muitos aplicativos que exigem um sistema de arquivos tradicional. Em contrapartida, o Object Storage é acessado por meio de uma API da Web, que não oferece suporte nativo a operações de sistema de arquivos. Como resultado, você não pode simplesmente trocar o EFS pelo Object Storage.
Para superar isso, utilizamos o S3FS, uma ferramenta de código aberto que simula uma interface de sistema de arquivos sobre a API S3 . O S3FS nos permitiu "montar" os buckets do Object Storage nas instâncias EC2 existentes do fabricante, de modo que ele se comporta como o EFS. Essa abordagem permitiu que os aplicativos e processos existentes interagissem com o Object Storage como se fosse um sistema de arquivos tradicional, minimizando as alterações necessárias no código do aplicativo e reduzindo o risco de erros durante a transição.
Essa arquitetura (acima) não só agiliza o processo de atualização de software em milhões de dispositivos em todo o mundo, mas também proporciona uma economia significativa de custos. Ao fazer a transição do Elastic File System (EFS) do AWSpara o Object Storage, a empresa reduziu drasticamente os custos de armazenamento, com o Object Storage provando ser mais de 15 vezes mais barato por GB do que o EFS. Eles também observaram uma redução de 90% nos custos de saída, o que representa uma melhoria substancial em relação ao ambiente AWS anterior. Essas economias ilustram a eficácia da nova solução de armazenamento no gerenciamento da eficiência operacional e da relação custo-benefício.
Não se tratava apenas de uma atualização técnica, mas de um realinhamento com as metas de eficiência, escalabilidade e gerenciamento de custos do fabricante. Ao adotar o site Object Storage e integrá-lo sem problemas (com a ajuda de ferramentas como rclone e S3FS), o fabricante pôde reduzir significativamente seus custos operacionais sem comprometer a confiabilidade ou a velocidade da distribuição global de firmware. Esse estudo de caso demonstra como as decisões na adoção de tecnologia podem afetar significativamente os resultados de uma organização.
Análise crítica da eficácia do custo
Ao examinar a transição de AWS para Linode via Akamai, a decisão inicialmente parece uma clara vitória na economia de custos. No entanto, um mergulho mais profundo nas estruturas de custo e na comparação de produtos revela algumas nuances. Aqui estão alguns pontos-chave de decisão que você deve ter em mente:
- AWS S3 vs. Linode Object Storage: A arquitetura inicial canalizava um tráfego de saída considerável por meio do Elastic Load Balancer para a CDN da Akamai. Dada essa estrutura, o uso do Object Storage surgiu como mais econômico do que o AWS S3 devido aos custos de saída significativamente menores. No entanto, se combinado com o AWS Cloudfront, os custos de saída para o armazenamento de objetos poderiam ser zero.
- AWS Cloudfront vs. CDN da Akamai: a escolha de manter a Akamai em vez do AWS Cloudfront foi influenciada pela necessidade de minimizar as alterações na arquitetura. A organização valorizou o desempenho, a confiabilidade e o suporte comprovados da Akamai, bem como a flexibilidade proporcionada pelo uso de vários provedores de nuvem.
Para quantificar o impacto financeiro, vamos considerar um cenário hipotético em que, mensalmente, um cliente gerencia 50 TB de dados armazenados com 100 TB de transferências de saída. Abaixo está um detalhamento de custos simplificado para AWS EFS, AWS S3 , e Linode Object Storage:
Solução de armazenamento | Cálculo | Custo total |
AWS EFS | (US$ 0,3/GB * 50.000GB) + (US$ 0,03/GB * 100.000GB) | $18,000 |
AWS S3 | (US$ 0,023/GB * 50.000GB) + (US$ 0,09/GB * 10.000GB) + (US$ 0,085 * 40.000GB) + (US$ 0,07/GB * 50.000GB) | $8,950 |
Armazenamento de objetos da Linode | (US$ 0,02/GB * 50.000GB) + (US$ 0,005/GB * 49.000GB) | $1,245 |
(Observação: comparações holísticas de preços são difíceis. Isso leva em conta apenas os custos de armazenamento e largura de banda para o armazenamento de arquivos, mas não leva em conta a CDN. Também vale a pena mencionar que alguns provedores oferecem taxas com mais descontos para clientes com volume excepcionalmente alto).
Agora, vamos analisar os custos comparativos associados ao armazenamento e à saída para esses serviços em nuvem (Observação: os preços são baseados no custo no momento em que este artigo foi escrito).
Tipo de serviço | Descrição do custo | Preço | Notas |
Armazenamento EFS | Por GB por mês | US$ 0,30/GB | API intuitiva e fácil de usar, mas de alto custo. Considere alternativas para grandes volumes |
S3 Armazenamento | Por GB por mês para os primeiros 50 TB | US$ 0,023/GB | Econômico para armazenamento de grandes volumes de dados |
S3 Egresso | Por GB para os primeiros 10 TB | US$ 0,09/GB | Mais caro para alta transferência de dados, a menos que seja combinado com o Cloudfront. |
Por GB para os próximos 40 TB | US$ 0,085/GB | Dimensionamento de custos com volume | |
Por GB para os próximos 100 TB | US$ 0,07/GB | Melhores taxas para transferências de volumes ainda maiores | |
Armazenamento da Linode | Por GB por mês | US$ 0,02/GB | Mais econômico para armazenamento |
Egresso do Linode | Primeiro 1 TB gratuito, depois por GB | US$ 0,005/GB | Economia significativa na saída de dados, maximizando a eficiência orçamentária |
Nessa análise, o uso do Object Storage representa aproximadamente 1/15 do custo da solução original com o AWS EFS e cerca de 1/7 do custo do uso do AWS S3 (supondo que o AWS Cloudfront não seja utilizado para compensar as taxas de saída).
Conclusão
Essa comparação de custos ilustra a economia significativa obtida com a mudança para o Linode Object Storage. Ela também destaca a importância de adaptar as soluções de nuvem às especificidades dos padrões de tráfego de uma empresa e aos requisitos da rede de distribuição de conteúdo (CDN). Quando as empresas analisam suas estratégias de uso e distribuição de dados, elas podem descobrir oportunidades significativas de economia de custos que, de outra forma, poderiam ser ignoradas.
A decisão de trocar de solução de storage não foi tomada de ânimo leve; ela foi respaldada por uma avaliação detalhada dos requisitos operacionais e dos objetivos financeiros da empresa. Ao compreender o volume de dados que estava sendo gerenciado, a frequência de acesso aos dados e a distribuição geográfica dos usuários, a empresa conseguiu identificar a Linode como a solução mais econômica que também atendia às suas necessidades. Esse tipo de tomada de decisão informada é fundamental nas arquiteturas de nuvem, em que os custos podem variar drasticamente com base no tipo de armazenamento, nos volumes de transferência de dados e nas frequências de acesso.
Embora os programadores e arquitetos devam se concentrar no desempenho e na escalabilidade de uma solução, eles também precisam levar em consideração o impacto financeiro nas empresas para as quais trabalham. As soluções não devem apenas atender aos requisitos técnicos, mas também se alinhar às estratégias financeiras mais amplas de uma organização. Fazer isso pode evitar estouros de orçamento e garantir que os investimentos em TI proporcionem o máximo retorno possível.
Ajudamos as empresas a arquitetar soluções como essa o tempo todo. Se quiser saber mais sobre como implementar isso você mesmo, inscreva-se em nosso boletim informativo, conecte-se conosco no Twitter ou no LinkedIn ou assine nosso canal no YouTube. Além desses guias técnicos, se você ou sua organização estiver pensando em otimizar suas soluções de armazenamento em nuvem e CDN, poderá experimentar as soluções da Linode inscrevendo-se para obter US$ 100 em créditos gratuitos.
Comentários