Nota: O seguinte artigo irá ajudá-lo com: Ofertas sem servidor, como o AWS Lambda, não atingiram o grande momento, mas o Kubernetes pode ajudar
Comentário: O Serverless falhou em atingir seu potencial, argumenta Corey Quinn. Os contêineres podem ajudar a mudar isso.
Serverless não está servindo ao seu propósito. Assim afirmou Corey Quinn, notável homem do Twitter e economista-chefe de nuvem do The Duckbill Group, e ele tem razão.
Sete anos atrás, no AWS re:Invent 2014, a AWS anunciou o AWS Lambda, um serviço de computação orientado a eventos para aplicativos dinâmicos que não requer provisionamento de infraestrutura. Em vez de brincar com a infraestrutura, os desenvolvedores poderiam se concentrar em escrever a lógica de negócios, economizando dinheiro no processo (já que a função acionaria apenas computação/etc. ” de maneiras que a nuvem havia prometido há muito tempo, mas ainda não havia sido totalmente entregue).
Foi uma promessa gloriosa. No entanto, aqui estamos em 2021 e, na ausência de alguma atualização surpreendente da AWS no re:Invent (ou algo semelhante do Google ou da Microsoft em seus respectivos eventos de 2022), o serverless ará mais um ano “fail[ing] para cumprir sua promessa e [not] provar[ing] ser particularmente lucrativo para qualquer um”, disse Quinn. O que deu errado?
VEJO: Kit de contratação: engenheiro de nuvem (TechRepublic )
Lock-in, uma função de cada vez
Para aqueles preocupados com o aprisionamento do fornecedor, seria difícil encontrar algo mais ajustado para mitigar a portabilidade do que o serverless. Afinal, por sua própria definição, serverless exige que você conecte sua lógica de negócios a uma nuvem específica. Como escrevi, existem maneiras de minimizar esse impacto e, sem dúvida, as vantagens do aumento da produtividade superam as desvantagens de estar preso a uma plataforma específica.
No entanto, é esse argumento de “aumento da produtividade” que Quinn questiona.
Como Quinn escreveu: “A maior parte do seu tempo criando aplicativos sem servidor não será gasto escrevendo a lógica do aplicativo ou focando nas partes do seu código que são de fato o diferencial pelo qual você está sendo pago para trabalhar. Simplesmente não vai.” Oh sério? Sim, realmente. “Em vez disso, você ará a maior parte do tempo descobrindo como combinar essas funções com outros serviços desse provedor de nuvem. Qual formato está esperando? Você tem os endpoints corretos? O escopo de segurança é preciso?” Isso, por sua vez, se torna pior quando algo dá errado (e dará – afinal, é um software corporativo): logs coerentes de um CloudFront –> API Gateway –> configuração do Lambda é uma porcaria.”
Em suma, embora os desenvolvedores economizem algum tempo, eles também podem esperar gastar uma boa quantidade de energia tentando descobrir como aprofundar sua dependência dos serviços de uma nuvem específica. Pior, como Quinn continuou, existem relativamente poucas pessoas que entendem de serverless, então mesmo se você descobrir como fazer um zumbido sem servidor, sua empresa pode estar a um ponto de não conseguir atualizar o aplicativo que você construiu (Quinn: “É acontece que, embora seja super fácil encontrar pessoas que saibam [products like] WordPress, você está em apuros se ambos os desenvolvedores freelance que entendem serverless estiverem doentes naquele dia – sem mencionar que eles custam aproximadamente tanto quanto um anestesista”).
Emojis de rosto triste ao redor.
VEJA: Multicloud: Uma folha de dicas (PDF grátis) (TechRepublic)
Como os contêineres ajudam
Ou não. Jeremy Daly, da Serverless Inc., refutou os argumentos de Quinn, mas o tl;dr é “A dor era necessária como um o intermediário. Agora é a hora da festa.” Ele pode estar certo, mas eu gosto de como o distinto estrategista de nuvem da Lacework, Mark Nunnikhoven, traduziu a tensão entre os argumentos de Quinn e Daly: Na ausência de maneiras claras e fáceis de obter o máximo da nuvem (usando serverless, por exemplo), os desenvolvedores voltaram a o mundo que eles conheciam antes da nuvem, mas facilitados por meio de contêineres.
É por isso que os contêineres dispararam em popularidade. Especialmente em comparação com designs sem servidor nos últimos três anos. Vejo muitas soluções baseadas em contêiner que seriam melhores como designs sem servidor. Melhor porque seriam mais eficientes, menos dispendiosos e mais fáceis de escalar. Por que essas soluções baseadas em contêiner continuam aparecendo? Os contêineres atingiram o ponto ideal. Eles são familiares o suficiente, mas empurram o envelope de maneiras interessantes. Eles permitem que os construtores sejam mais produtivos usando métodos de desenvolvimento modernos. Ao mesmo tempo, eles não requerem um novo modelo mental.
Em outras palavras, tanto Quinn quanto Daly podem estar certos (e errados), mas enquanto isso… containers (e Kubernetes) estão preenchendo a lacuna. Como Nunnikhoven escreveu: “A maioria da comunidade de TI está adotando um cenário orientado a contêineres… Com o tempo, isso se tornará muito complexo e oneroso. Então o modelo mental de serverless se tornará o modelo dominante.” Portanto, fique tranquilo: o Serverless terá seu dia – ironicamente, os contêineres ajudarão a que isso aconteça.
.