Processadores com arquitetura ARM são mais simples, consomem menos energia e custam menos, essas características fazem com que eles sejam escolhidos para maioria dos dispositivos pequenos e moveis, mas será que sevem para executar as tarefas em grandes servidores de aplicações?
Quem acredita que sim?
Empresas como Amazon, Rancher e Oracle acreditam que sim, Amazon disponibilizou em seu serviço de nuvem AWS os processadores Graviton e Graviton2 com arquitetura ARM, Rancher por sua vez mantém o K3S que roda até mesmo em um cluster de dispositivos Raspberry Pi e que apesar de menor e mais leve é uma distribuição Kubernetes certificada e que roda desde dispositivos ARM pequenos com 2 GiB de memória até mesmo em grandes servidores x86 bem mais parrudos, a Oracle também aposta na arquitetura com os processadores ARM Ampere Altra em seu serviço de nuvem o OCI e além dessas empresas a AMD parece estar querendo entrar na brincadeira e já declarou estar pronta para entrar nesse segmento.
Nem todos concordam...
Linus Torvards criador do núcleo do Linux que é atualmente o sistema operacional mais utilizado em grandes servidores, recentemente declarou que ARM serve apenas para o usuário final e a fragmentação do ecossistema ARM entre outros fatores tornariam a implementação da arquitetura em servidores um problema.
O que ganharíamos com a arquitetura ARM?
Com custo e consumo de energia menores manter servidores com a plataforma ARM é mais barato, seja on-premisse ou em cloud, além disso processadores ARM tendem a gerar menos calor o que facilita e também barateia o sistema de climatização do data center que é essencial para esse tipo de equipamento.
Quais seriam os problemas?
Além dos mencionadas por Torvards, nem todos os tipos de aplicações foram portadas para ARM e algumas que usam instruções que são específicas da plataforma x86 não poderiam ser portadas sem perda de performance já que teriam que simular tais instruções que são complexas e também pesa o fato de que a disponibilidade de servidores com a plataforma ainda é limitada.
E quanto a performance?
Tanto Amazon quanto Oracle que já disponibilizam a arquitetura em seus serviços garantem que a relação custo/performance da plataforma é melhor que o já tão conhecido x86, a Amazom alega que seu Graviton2 tem 40% de ganho nessa relação, a Oracle por sua vez alega em um post feito em seu blog por Clay Magouyrk que sua instância A1 com o Ampere Altra traz um ganho na relação custo/performance não só sobre o velho x86 mas também sobre o Graviton2 da AWS.
Mas já é possível usar para algo real?
Fiz testes com algumas de minhas aplicações e com suas dependências no A1 da Oracle que oferece uma faixa gratuita dessa instância bem generosa, o que posso dizer é que aplicações escritas com linguagens como Java, Python, Go, C e C++ entre outras não tem nenhum problema para rodar na plataforma, também dependo bastante do velho Apache2 e do PostgreSQL e tudo isso funcionou incrivelmente bem no A1, o que deu um pouco mais de trabalho mas nada que assuste foi configurar o PostGIS que adiciona capacidades geográficas ao PostgreSQL.
Mas não tive problemas para compilar para a plataforma, nem para configurar suas dependências, também criei algumas imagens de containers para a o ARM64 que rodou tranquilamente e testei também o OKE o Kubernetes da OCI usando instâncias A1, configurei o Traefik e testei alguns pods, então sim, eu diria que pode ser usado para muita coisa.
O que eu penso a respeito?
Não fiz nenhum benchmark comparando com o x86, mas eu uso VMs da plataforma x86 na DigitalOcean e no Google Cloud e o que senti foi que o A1 não deixa nada a desejar em desempenho, a única diferença que posso perceber é no bolso e a diferença é considerável, migrei dois projetos para OCI usando instâncias A1 e pretendo migrar outros dois ainda maiores.
Vale a pena?
Se vai mesmo dominar esse segmento ou não, ou até mesmo se a plataforma veio para ficar ou vai desaparecer logo, é incerto e nessa area é comum vermos uma tecnologia promissora perder fôlego com alguns poucos anos e desaparecer, mas o ARM no data center hoje me parece muito promissor e tem nomes de muito peso apostando nisso, então se você é desenvolvedor eu diria que vale a pena testar ainda mais sabendo que você pode aproveitar a generosa faixa gratuita que a Oracle disponibiliza para o A1.