Está considerando a computação serverless? 20 dicas de especialistas (e alertas)
Os defensores dos modelos de computação serverless destacam o potencial de um desenvolvimento e implantação de aplicações mais ágil e econômico. Os desenvolvedores se libertam do gerenciamento de servidores, o que lhes permite focar na escrita de código, acelerar o tempo de lançamento no mercado e simplificar a escalabilidade.
No entanto, poucas tendências tecnológicas vêm sem complicações e, junto com suas vantagens, um modelo de computação serverless traz desafios próprios. A seguir, 20 membros do Forbes Technology Council compartilham conselhos importantes (e alertas) para organizações que estejam considerando um modelo de computação serverless. Leve em conta estas dicas essenciais para garantir que sua equipe faça uma escolha bem informada para a sua organização e esteja preparada tanto para os benefícios quanto para as compensações.
1. Esteja preparado para problemas de desempenho
Mergulhar nas aplicações serverless pode ser atraente para organizações que buscam escalar de forma eficiente. Meu conselho — ou melhor, um alerta — é entender as compensações envolvidas. A arquitetura serverless pode reduzir os custos operacionais e agilizar os processos de implantação, mas também introduz desafios relacionados a depuração, monitoramento e possíveis inconsistências de desempenho devidas aos arranques a frio. - Ken Ringdahl, Kantata
2. Atenção aos custos ocultos de mão de obra
Muitos especialistas recomendam serverless porque foi popular alguns anos atrás. No entanto, raramente é a resposta para a maioria dos problemas de infraestrutura. Já vi implementações serverless que resultaram em mais custos ocultos de mão de obra do que os monólitos. Saiba de quem você está recebendo o conselho e peça que expliquem por que serverless deveria ser preferido em vez dos monólitos. - Federico Imparatta, ataraxy
3. Entenda a necessidade de se comprometer por completo
As aplicações serverless executadas em um ambiente descentralizado são mais resilientes a problemas como pontos únicos de falha e censura, mas o seu sistema como um todo só consegue realmente aproveitar esses benefícios se for serverless em sua totalidade. Em relação aos atributos relevantes das aplicações serverless, o seu sistema como um todo é tão bom quanto o seu elo mais fraco. - Viktor Trón, Swarm
4. Estime e monitore os custos de uso
Embora as arquiteturas serverless exijam pagamento apenas pelos recursos consumidos, é fundamental estimar os custos com base nos padrões de uso, especialmente à medida que a aplicação escala. Você deve monitorar o uso (e emitir alertas, se necessário) para evitar picos de custo inesperados. Eu também recomendaria aplicar estratégias de economia disponíveis por meio do seu provedor de nuvem, como usar capacidades reservadas ou otimizar o código para maior eficiência de uso. - Ilya Lashch, Lightpoint Global
5. Considere se a sua aplicação se alinha com os pontos fortes do serverless
Meu conselho seria considerar cuidadosamente as necessidades e os requisitos específicos da sua organização antes de adotar aplicações serverless. É importante avaliar se a natureza da sua aplicação se alinha com os pontos fortes do serverless, como cargas de trabalho sem estado e orientadas a eventos. Além disso, considere os possíveis desafios da dependência de fornecedor e do controle limitado. - Robert Mao, ArcBlock Inc.
6. Avalie as opções de carga de trabalho e preço
Como diz a conhecida letra da música: "Você pode fazer o check-out quando quiser, mas nunca poderá ir embora". Estamos rapidamente caminhando para um mundo multinuvem e multiedge. Você deve arquitetar a TI e a OT do seu negócio de acordo com isso, aproveitando a nuvem serverless certa para a carga de trabalho certa ao preço certo. Se você apostar tudo em uma única nuvem para o seu negócio, estará se predispondo a ficar preso a preços desfavoráveis. - Pete Bernard, EDGECELSIOR
7. Saiba que algumas APIs podem esgotar o tempo de espera
É amplamente sabido que as aplicações serverless orientadas a eventos são adequadas para aplicações de microsserviços e não para aplicações monolíticas. Mas muitas aplicações de microsserviços que executam APIs de longa duração falham: esgotam o tempo de espera em certas ofertas serverless de nuvem pública por falta de otimização de desempenho. Meça o tempo das suas APIs antes de migrar para serverless. - Preeti Shukla, JustFund
8. Planeje uma futura migração
Ao adotar aplicações serverless, monitore e planeje os possíveis desafios de migração para evitar a dependência de fornecedor. O próprio começo deve se concentrar em explorar soluções híbridas e diversas opções de backup. - Aditya Malik, ValueMatrix.ai
9. Avalie os provedores serverless de acordo com as suas necessidades particulares
Avalie minuciosamente a escalabilidade, a segurança e a estrutura de custos do provedor serverless. Entenda como esses fatores se alinham com as suas necessidades específicas, em particular em torno dos padrões de tráfego e do gerenciamento de dados. O serverless pode oferecer benefícios, mas exige um planejamento cuidadoso para evitar custos e limitações inesperados. - Rohit Anabheri, Sakesh Solutions LLC
11. Assuma o controle de quem pode acessar o seu código
Ao usar serverless, preste atenção redobrada em manter tudo seguro. Como o seu código está distribuído, é mais fácil que surjam riscos de segurança. Garanta que apenas as pessoas certas possam acessar o seu código e verifique regularmente se há problemas de segurança. - Margarita Simonova, ILoveMyQA
12. Considere as limitações e a escalabilidade do seu produto
Entenda as limitações do seu produto. Muitas vezes, a simplicidade resulta em menos dívida técnica, o que, por sua vez, pode proporcionar uma aplicação flexível. Em seguida, foque na escalabilidade. Pergunte: "Isso consegue escalar, sendo serverless?". À medida que você mergulha no mundo dos microsserviços, é possível que acabe com uma miríade de aplicações de servidor que se apoiam umas nas outras. - WaiJe Coler, InfoTracer
13. Trabalhe para mitigar os arranques a frio
Os arranques a frio — em que as funções sofrem latência na invocação inicial — podem impactar o desempenho das aplicações serverless. Mitigue os problemas de arranque a frio otimizando o tempo de inicialização das funções, reduzindo dependências e implementando estratégias de aquecimento, como invocações agendadas ou concorrência provisionada, para determinar a abordagem mais adequada para a sua carga de trabalho. - Cristian Randieri, Intellisystem Technologies
14. Esteja atento ao aumento da complexidade de monitoramento e depuração
Esteja atento ao potencial aumento da complexidade no monitoramento e na depuração. Embora o serverless possa reduzir significativamente o gerenciamento de infraestrutura, ele pode dificultar a visibilidade dos problemas de desempenho. Adote ferramentas e práticas que aprimorem a observabilidade para manter o controle e garantir a confiabilidade e a eficiência da aplicação. - Ken Pomella, RevStar
15. Projete as aplicações serverless para serem desacopladas e sem estado
Ao adotar aplicações serverless, concentre-se em projetá-las de modo a serem desacopladas e sem estado, otimizando a eficiência do código. Ajuste cuidadosamente o sondeamento das fontes de eventos, modificando os tamanhos de lote e o tratamento de registros para aumentar a vazão. Utilize o parâmetro BatchSize e considere configurar uma janela de agrupamento para gerenciar a invocação de funções de maneira eficaz, maximizando a eficiência e minimizando a sobrecarga. - Anand Santhanam, Amazon Web Services
16. Considere qual nível de escala e desempenho é necessário
Para as organizações que pensam em lançar aplicações serverless, vale a pena questionar qual nível de escala e desempenho é necessário. Mesmo que o serverless seja flexível e barato, ele ainda pode ser incompatível com sistemas legados, e você pode ter que conviver com a dependência de fornecedor e problemas de latência. - Jared Thau, Gameverse Interactive Corp.
17. Fique atento à 'ilusão da infraestrutura invisível'
Você definitivamente deve adotar o serverless por sua escalabilidade e custo-benefício, mas fique atento à "ilusão da infraestrutura invisível". Quanto menos você vê, mais importante se torna entender os processos subjacentes para segurança, resolução de problemas e otimização. Não é mágica, é gerenciado: planeje-se de acordo. - Marc Rutzen, HelloData.ai
18. Considere o impacto nos pipelines de CI/CD
Considere o impacto do serverless nos seus pipelines de integração e entrega contínuas. Garanta que as suas práticas de implantação se adaptem à natureza sem estado da computação serverless. Além disso, o serverless pode reduzir os custos iniciais de configuração, mas avalie com cuidado os custos de longo prazo, pois um uso extensivo pode se tornar caro. - Jo Debecker, Wipro
19. Pense quanto tempo você consegue ficar sem acesso a certos dados
Seja cuidadoso ao migrar para um ambiente de nuvem. Esteja ciente de questões como prevenção de violações, indisponibilidade na capacidade de acessar dados e gerenciamento de acesso. Quanto à indisponibilidade, pense quanto tempo você consegue ficar sem precisar de acesso a certos dados. Um dia? Uma hora? Garanta que você esteja levando em conta o atraso de acesso que ocorre durante a migração. - Jordan Yallen, MetaTope
20. Evite a 'proliferação de funções'
Cuidado com a "proliferação de funções" que pode acompanhar a adoção do serverless. Uma governança rigorosa e diretrizes arquiteturais claras são vitais. Consolide funções relacionadas e elimine as desnecessárias para obter uma arquitetura mais enxuta e gerenciável. - Andrew Blackman, EZ Cloud