O que é um microsserviço sem servidor? | Microsserviços sem servidor explicados

Os microsserviços são segmentos menores de um aplicativo executados independentemente uns dos outros e podem ser implantados de várias maneiras. Um microsserviço sem servidor é implantado em uma arquitetura sem servidor.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Definir um microsserviço sem servidor
  • Entender como funcionam os microserviços sem servidor
  • Diferenciar microsserviços, contêineres e funções

Copiar o link do artigo

O que é um microsserviço?

Imagine pegar um aplicativo, dividi-lo em pedaços e executá-lo como uma coleção de partes menores, em vez de um todo monolítico. Isso é basicamente como funciona uma arquitetura de microsserviços. Cada parte do aplicativo é chamada de "microsserviço" e executa apenas um serviço, ela é executada independentemente das outras partes do aplicativo, opera em seu próprio ambiente e armazena seus próprios dados. Apesar do nome, os microsserviços não precisam ser pequenos. O que os torna "micro" é que eles lidam apenas com um serviço e são partes de um aplicativo maior.

Pense em um aplicativo construído com microsserviços como um time de futebol americano, em que cada jogador desempenha uma função distinta, mas os jogadores juntos formam um time (o aplicativo inteiro) que, coletivamente, atinge um objetivo. Ou pense nos microsserviços como os diferentes sistemas do corpo humano (circulatório, respiratório etc.) e no aplicativo como o corpo inteiro.

Da perspectiva do usuário, um aplicativo criado com microsserviços tem uma única interface e deve funcionar da mesma forma que um aplicativo projetado como uma pilha. No entanto, nos bastidores, cada microsserviço tem seu próprio banco de dados e é executado separadamente do restante do aplicativo. Além disso, microsserviços no mesmo aplicativo podem ser escritos em diferentes linguagens e usar diferentes bibliotecas.

Arquitetura monolítica X arquitetura de microsserviços

Os microsserviços costumam ser contrastados com a arquitetura monolítica. A arquitetura monolítica é a forma clássica de construir um aplicativo. Um aplicativo monolítico é uma pilha única, com a interface do usuário no topo, a lógica de negócios no meio e o banco de dados na parte inferior. Normalmente, um aplicativo monolítico é hospedado em um servidor específico ou conjunto de servidores. Uma das desvantagens de construir um aplicativo dessa maneira é que qualquer pequena alteração no aplicativo significa que toda a pilha deve ser atualizada. Outra desvantagem é que, se uma parte do aplicativo for interrompida, todo o aplicativo poderá falhar.

Vantagens dos microsserviços

  • Resiliência: como o aplicativo é dividido, se uma parte do aplicativo quebra ou falha, ela não afeta necessariamente o restante do aplicativo
  • Escalabilidade seletiva: em vez de escalar todo o aplicativo, pode-se expandir apenas os microsserviços, que recebem uma grande quantidade de uso
  • Mais fácil de adicionar ou atualizar os recursos: os recursos podem ser implementados ou atualizados um de cada vez, em vez de atualizar toda a pilha do aplicativo
  • Flexibilidade para os desenvolvedores: os microsserviços podem ser escritos em diferentes linguagens e cada um tem suas próprias bibliotecas

Os microsserviços podem fazer parte de uma arquitetura sem servidor?

Os microsserviços podem ser implantados de várias maneiras; eles podem fazer parte de uma arquitetura sem servidor, ser hospedados em contêineres, desenvolvidos usando PaaS ou, teoricamente, usados para construir um aplicativo hospedado localmente. No entanto, as vantagens de construir um aplicativo a partir de microsserviços talvez sejam mais aparentes quando o aplicativo é hospedado na nuvem, usando contêineres ou em uma arquitetura sem servidor.

O que são microsserviços sem servidor? Como funciona uma arquitetura de microsserviços sem servidor?

Os microsserviços sem servidor são implantados na infraestrutura de um fornecedor sem servidor e só são executados quando são necessários para o aplicativo. Dependendo do tamanho de um microsserviço, ele também pode ser dividido em funções ainda menores. Para saber mais sobre como funciona a computação sem servidor, consulte O que é computação sem servidor?

Qual é a diferença entre um microsserviço e uma função sem servidor?

Essa distinção ainda está sendo definida pela comunidade de tecnologia, mas normalmente, um microsserviço é maior e pode fazer mais do que uma função. Uma função é um trecho de código relativamente pequeno que executa apenas uma ação em resposta a um evento. Dependendo de como os desenvolvedores dividiram um aplicativo, um microsserviço pode ser equivalente a uma função (o que significa que ele executa apenas uma ação) ou pode ser composto de várias funções.

Estendendo a metáfora do futebol, considere todas as funções de um quarterback: lançar passes, entregar a bola para o running back e assim por diante. Se o quarterback for como um microsserviço dentro do contexto da equipe (fornecendo o serviço de "quarterback"), então cada uma dessas atividades menores é uma função. No entanto, a linha entre um microsserviço e uma função pode não ficar clara às vezes, assim como certos jogadores em um time de futebol que realizam apenas uma ação, como o kicker.

O Cloudflare Workers é um microsserviço?

O Cloudflare Workers são pedaços de código JavaScript que são hospedados na Rede de borda da Cloudflare e executados em resposta a solicitações HTTP. O Workers se comporta mais como funções, mas oferecem a flexibilidade de funcionar também como microsserviços; A Cloudflare não limita o tamanho ou tipo do Workers que os desenvolvedores podem construir e implantar.