LFCA Aprenda computação, benefícios e armadilhas sem servidor - Parte 15

LFCA Aprenda computação, benefícios e armadilhas sem servidor - Parte 15

Sem servidor A tecnologia gerou muito hype na comunidade tecnológica, evocando muita curiosidade e recebendo alguma reação. É uma tecnologia que começou com o lançamento de AWS Lamba em 2014, que logo foi seguido por Funções do Azure Mais tarde em 2016.

Google mais tarde seguiu o exemplo com o lançamento de Google Cloud Funções em julho de 2018. Então, o que é a tecnologia sem servidor? Para melhor responder a essa pergunta, vamos levar nossas mentes de volta à computação tradicional baseada em servidor.

No modelo de TI tradicional, você estava encarregado de basicamente tudo. Como proprietário de uma empresa, você teria que fazer um orçamento para servidores e outros equipamentos de rede, como roteadores e interruptores, e racks para lamentar os servidores.

Você também teria que se preocupar em obter um data center intocado e seguro e garantir que ele possa fornecer suficientemente o serviço de resfriamento e energia redundante e Internet. Uma vez configurado, você precisaria instalar o sistema operacional e posteriormente implantar seus aplicativos. Além disso, você seria obrigado a configurar sistemas de monitoramento e implementar recursos de segurança, como firewalls e prevenção de intrusões e sistemas de detecção.

Como você deve ter adivinhado, isso é intensivo em recursos, caro e drenado.

Em seguida, a computação em nuvem invadiu o mundo da tecnologia, revolucionando completamente a maneira como implantamos e gerenciamos servidores e aplicativos. Ele anunciava uma nova era em que os desenvolvedores preparavam prontamente servidores e bancos de dados em nuvem em pouco tempo e começavam a trabalhar em seus aplicativos. Não se preocupe com questões associadas à computação tradicional de TI, como tempo de inatividade, equipamentos caros e aluguel de datacenters.

Embora a computação em nuvem tenha trazido consigo a conveniência e as economias de escala na implantação de recursos de TI, algumas empresas compravam unidades de espaço e recursos do servidores, como RAM e CPU, em antecipação a um aumento no tráfego ou atividade da rede que pode sobrecarregar os aplicativos.

Embora seja uma jogada prudente, o resultado não intencional é a subutilização dos recursos do servidor que geralmente vão para o desperdício. Mesmo com o AutoScaling, ainda assim, um pico imprevisto e repentino pode ser caro. Além disso, você ainda precisaria realizar outras tarefas, como a configuração de balanceadores de carga que também provavelmente aumentarão os custos operacionais.

É evidente que, apesar de mudar para a nuvem, alguns gargalos ainda permanecem e têm o potencial de aumentar os custos e causar desperdício de recursos. E é aqui que Computação sem servidor entra.

O que é computação sem servidor

Computação sem servidor é um modelo em nuvem que fornece serviços de back-end aos usuários em uma base de pagamento conforme o uso. Em termos simples, o provedor de nuvem aloca computam recursos e cobranças apenas pelo tempo em que os aplicativos estão em execução. Este é o equivalente a mudar de um plano mensal de pagamento a cabo para pagar apenas quando você estiver assistindo seus programas de TV.

O termo 'Sem servidor'Pode ser um pouco enganador. Existem servidores envolvidos? Claro, no entanto, neste caso, os servidores e a infraestrutura subjacente são puramente manuseados e mantidos pelo provedor de nuvem. Como tal, você não precisa se preocupar com eles. Como desenvolvedor, seu foco é puramente no desenvolvimento de seus aplicativos e garantir que eles estão trabalhando para sua satisfação.

Ao fazer isso, a computação sem servidor tira a dor de cabeça do gerenciamento de servidores e economiza tempo precioso para trabalhar em seus aplicativos.

Serviços de back -end fornecidos pela computação sem servidor

Um exemplo perfeito de serviço de back -end sem servidor é Função como serviço (Faas) plataforma. Faas é um modelo de computação em nuvem que permite que os desenvolvedores desenvolvam, executem e gerenciem código em resposta a eventos sem a complexidade de construir e gerenciar uma infraestrutura subjacente geralmente associada à implantação de microsserviços.

Faas é uma subcategoria de computação sem servidor com diferenças sutis. A computação sem servidor abrange uma ampla gama de serviços, incluindo computação, banco de dados, armazenamento e API para mencionar alguns. O FAAS está focado apenas em um modelo de computação orientado a eventos, onde os aplicativos são executados sob demanda, ou seja, em resposta a uma solicitação.

Exemplos de Faas Os modelos de computação incluem:

  • AWS Lambda da AWS
  • Funções do Azure da Microsoft
  • Funções em nuvem pelo Google
  • Cloudflare Workers by Cloudflare

Em resumo, vimos isso com Faas, Você paga apenas pelo tempo que seu aplicativo está em execução e o provedor de nuvem faz praticamente tudo por você, incluindo o manuseio da infraestrutura subjacente. Gerenciar servidores é o menor de suas preocupações.

Benefícios da computação sem servidor

Até agora, você tem uma boa idéia de alguns dos méritos que a computação sem servidor traz para a tabela. Vamos nos aprofundar nas vantagens de abraçar a tecnologia.

1. Nenhum gerenciamento de servidor

Essa é talvez uma das maiores vantagens de adotar o modelo de computação sem servidor. Embora o termo 'sem servidor'Pode ser mal interpretado para sugerir que não há servidores envolvidos, o fato é que os aplicativos ainda são executados em servidores. O ponto crucial da questão é que o gerenciamento do servidor é inteiramente o negócio do fornecedor da nuvem, e isso concorda mais tempo para trabalhar em seus aplicativos.

2. Escala fácil e eficiente

A infraestrutura sem servidor fornece escala automática de aplicativos em resposta a um aumento no uso, demanda ou crescimento da base de usuários. Se o aplicativo estiver em execução em várias instâncias, os servidores iniciarão e pararão quando necessário. Em uma configuração tradicional de computação em nuvem, um pico de tráfego ou atividade pode sobrecarregar os recursos do servidor que levam a inconsistências com o aplicativo sendo executado.

3. Disponibilidade interna

Como desenvolvedor, você não precisa construir nenhuma infraestrutura especial para tornar seus aplicativos altamente disponíveis. A computação sem servidor fornece alta disponibilidade interna para garantir que seus aplicativos estejam em funcionamento quando necessário para fazê-lo.

4. Custos de operação reduzidos

A computação sem servidor aloca recursos em uma base de pagamento como uso. Seu aplicativo exigirá apenas funções de back -end quando o código for executado e escalará automaticamente com base na quantidade de carga de trabalho.

Isso fornece economias de escala, pois você só é cobrado pelo tempo em que os aplicativos estão em execução. No modelo de servidor tradicional, você deve pagar pelo espaço do servidor, bancos de dados entre outros recursos, independentemente de o aplicativo estar em execução ou ocioso.

5. Implantações mais rápidas de aplicativos

A arquitetura sem servidor elimina a necessidade de configuração de back -end e o upload manualmente de código para servidores como na configuração tradicional. É fácil para os desenvolvedores fazer upload de pequenas pilhas de código de maneira eficiente e lançar um ótimo produto.

A facilidade de implantação também permite que os desenvolvedores corrigam facilmente e atualizem certos recursos do código sem alterar todo o aplicativo.

Armadilhas de computação sem servidor

Existem desvantagens associadas ao modelo sem servidor? Vamos descobrir.

1. Segurança

Aplicativos mal configurados representam um dos maiores riscos associados à computação sem servidor. Se você optar por AWS, Por exemplo, é prudente configurar diferentes permissões para o seu aplicativo, que, por sua vez, determinarão como eles interagirão com outros serviços na AWS. Onde as permissões são vagas, uma função ou um serviço pode ter mais permissões do que é necessário, deixando amplo espaço para violações de segurança.

2. Bloqueio do fornecedor

Optar por um modelo sem servidor pode apresentar desafios ao migrar para outro fornecedor. Isso ocorre principalmente porque cada fornecedor tem seus próprios recursos e fluxos de trabalho que variam um pouco do resto.

3. Dificuldade em testar e depurar aplicativos

Outro desafio representado pelo modelo sem servidor é a dificuldade em reproduzir um ambiente sem servidor para testar e monitorar o desempenho do código antes de ir ao ar. Isso ocorre principalmente porque os desenvolvedores não têm acessibilidade aos serviços de back -end, que são uma reserva do provedor de nuvem.

4. Dificuldade em monitorar aplicativos sem servidor

Monitoramento de aplicativos sem servidor é um empreendimento complexo pelas mesmas razões que a depuração e o teste é uma tarefa difícil. Isso foi agravado pela indisponibilidade de ferramentas com integração a serviços de back -end, como AWS Lamba.

Conclusão

A computação sem servidor continua a ganhar tração e captação entre empresas e desenvolvedores por três razões principais. Um é a acessibilidade que implica custos operacionais reduzidos. Em segundo lugar, a computação sem servidor facilita a escala automática e rápida e, finalmente, os desenvolvedores não precisam se preocupar com a infraestrutura subjacente que é tratada pelo fornecedor.

Enquanto isso, os provedores de nuvem estão trabalhando 24 horas para abordar algumas das armadilhas associadas à computação sem servidor, como dificuldade em depurar e monitorar aplicativos.

Torne -se um Associado de TI certificado pela Fundação Linux (LFCA)