• cribeiro915

Arquitetura Serverless: O que é e quais são suas vantagens



Arquitetura serverless ou “computação sem servidor”, vem ganhando muita atenção dos profissionais no mundo da Tecnologia da Informação. Sua principal proposta é permitir que empresas de software criem e mantenham seus aplicativos web sem ter que se preocupar com a infraestrutura em que esses aplicativos estão rodando.


Nesse artigo, vamos analisar a arquitetura serverless em diversos aspectos: o que é, qual objetivo, benefícios e muito mais. Continue acompanhando a nossa publicação.


O que é arquitetura Serverless?


Como o nome sugere, serverless é um modelo de desenvolvimento nativo em nuvem para criação e execução de aplicações sem o gerenciamento de servidores. Esse modelo permite transferir responsabilidade de gerenciar servidores aos provedores de nuvens e, com isso, é como se não houvesse a necessidade de gerenciar servidores.


Essa tecnologia é inovadora e permite que o seu time de tecnologia tenha muito mais agilidade, foque seu tempo principalmente no negócio e gaste menos tempo gerenciando a infraestrutura. Os desenvolvedores precisam apenas empacotar o código em containers para que possam fazer a implementação.

BaaS – Backend como Serviço


Backend como serviço pode ser considerado como uma das principais formas de aplicações de arquitetura na nuvem. Ela é parte da evolução da arquitetura serverless, especialmente por conta das aplicações que são conectadas diretamente com um banco de dados em nuvem e são hospedadas em algum serviço Cloud. Com BaaS, os desenvolvedores têm acesso a diversos serviços e aplicações de terceiros.


FaaS – Função como Serviço


Em comparação com o BaaS, o FaaS proporciona maior controle aos desenvolvedores. Isso possibilita a criação de aplicações personalizadas e pode evitar dependência de uma biblioteca de serviços pré-gravados.


O servidor de computação em nuvem fornece toda a interface necessária para as comunicações e requisições HTTP nas suas rotas, dessa forma, a equipe de desenvolvimento passa a ter mais tempo para se dedicar às suas funções primárias, entregando muito mais serviço em um mesmo período.


Todos os principais provedores de nuvem pública oferecem ao menos uma função FaaS. Eles incluem Microsoft Azure com o Azure Functions, Google Could com diversas opções, Amazon Web Services com o AWS Lambda e muitos outros.


Princípios do FaaS:

  • Gerenciamento completo de servidores;

  • Orientado a eventos.

Quais são os prós e contras da computação serverless?


Como foi possível analisar no decorrer do texto, a arquitetura serverless traz uma grande inovação no mundo de tecnologia, por conta disso, há prós e contras que podem impactar seus negócios:


Prós

  • Gerenciamento operacional mais fácil;

  • Custos operacionais reduzidos;

  • Fica mais fácil adotar práticas de DevOps, porque os desenvolvedores não precisam mais descrever abertamente a infraestrutura que eles querem que a equipe de operações provisione;

  • Promove a inovação;

  • Gerenciamento operacional mais fácil.

Contras

  • Risco de segurança;

  • Controle total reduzido;

  • Risco de Recuperação de Desastres;

  • A duração da execução é limitada.

Arquitetura Serverless x Containers


As duas arquiteturas permitem que desenvolvedores criem aplicativos com muito mais flexibilidade do que aplicativos que são hospedados em servidores tradicionais ou mesmo em máquinas virtuais. Os containers são muito importantes para o impulso que a arquitetura serverless está tomando com o tempo.


Os containers são mais leves que as máquinas virtuais, mas as implantações serverless são ainda mais leves e fáceis de dimensionar do que as arquiteturas que são baseadas em containers.


Em uma arquitetura Serverless que utiliza o FaaS, a escalabilidade da aplicação é gerenciada de forma transparente e automática e possui a capacidade de uma alta granulidade do serviço para melhorar a sua performance. Plataformas que utilizam containers precisam que esse provisionamento tenha um gerenciamento manual, mesmo que com ferramentas automatizadas.


Por fim, o que vai determinar qual das duas formas de implantação será melhor utilizada é o estilo da aplicação e da infraestrutura disponível. A arquitetura serverless tem um alto nível de abstração de processamento de sistema operacional. Os containers evoluem e desenvolvem formas de automatização de escalabilidade e disponibilidade.


Dica bônus


Abaixo estão dois links para você saber mais sobre o tema:


Serverless Examples: Uma coleção de clichês e exemplos de arquiteturas sem servidor criadas com o Serverless Framework e AWS Lambda.

Awesome Serverless: Uma lista com curadoria de serviços, soluções e recursos incríveis para aplicativos sem servidor/sem backend.


Conclusão


O mundo Serverless veio para ficar e está mudando a forma como as empresas estão disponibilizando suas aplicações, seja via containers, com FaaS ou BaaS. As soluções serverless têm enormes vantagens em todo ciclo do desenvolvimento.


Mesmo que a abordagem serverless não exija muitas ressalvas, há técnicas e padrões de projeto sólidos que podem ser usados para criar aplicações serverless fortes ou integrar elementos serverless em arquiteturas que já existem.




Quer continuar por dentro dos nossos conteúdos? Deixe seu comentário lá embaixo e leia os outros artigos no nosso Blog.


Aproveite e nos siga nas redes sociais! Estamos no Facebook, LinkedIn, Instagram e também no Twitter!

14 visualizações0 comentário