Diferença entre arquitetura tradicional e sem servidor

As arquiteturas estão sujeitas a mudanças. Não faz muito tempo, aplicativos monolíticos, incluindo Enterprise Resource Planning (ERP), estavam em voga. Nesse momento, havia uma percepção de que manter todos os módulos de negócios em um único aplicativo tornava mais fácil a manutenção e apresentava menos expansão de componentes. No entanto, as dependências dentro do monólito dificultavam alterações em uma parte do sistema, sem impactar outras partes do sistema. Também era comum realizar atividades de manutenção por longas interrupções. Naturalmente, os longos prazos frustram as unidades de negócios para implementar novos recursos. Além disso, longas interrupções dificultavam a administração dos negócios.

Arquitetura de camada N

Apareceu, em parte, devido ao surgimento da Internet, onde thin clients (navegadores da web) serviriam como interface do usuário (UI) e efetuariam solicitações a um servidor da web. Ao introduzir uma camada de lógica de negócios entre sua interface do usuário e seu banco de dados de back-end, você teve mais opções para expandir seu aplicativo. No entanto, com esses tipos de aplicativos capazes de expandir, agora você tinha que gerenciar uma área maior de infraestrutura, especialmente quando considera ter vários ambientes (testes / controle de qualidade / produção) para manter. Embora esses aplicativos tenham proporcionado certa agilidade, ao permitirem escalar ou escalar diferentes camadas no sistema, eles introduziram implantações caras de infraestrutura que tornavam a manutenção desafiadora e cara.

Microsserviços

Isso realmente se concentra em dividir uma solução em serviços mais discretos, que fornecem isolamento de outros componentes dentro do sistema. Os microsserviços incentivam os desenvolvedores a se concentrarem em escrever código em torno de domínios comerciais específicos e ter um serviço faz apenas uma coisa, mas faz muito bem! Ao usar essa abordagem, você pode gerenciar e atualizar independentemente esses serviços discretos. No entanto, esse nível de granularidade vem com alguns desafios adicionais. Por exemplo, como orquestrar todas essas chamadas diferentes para fornecer uma experiência coesa para o usuário final. Para atender a essas necessidades de orquestração, temos Gateways de API que fornecem algum nível de abstração nesses microsserviços. Isso também oferece mais agilidade, pois você pode ativar o redirecionamento de chamada de serviço sem modificar os serviços subjacentes.

Embora as arquiteturas de Infraestrutura como um Serviço (IaaS) forneçam alguns benefícios para as organizações, incluindo cobrança com base no consumo, o IaaS ainda envolve muita sobrecarga de gerenciamento para mantê-las atualizadas, do ponto de vista de patches e backup. A arquitetura de plataforma como serviço (PaaS) aborda alguns desses desafios de gerenciamento abstraindo muitos detalhes da infraestrutura subjacente. Mas as arquiteturas de PaaS são incapazes de resolver o verdadeiro consumo de escala dinâmica. Por exemplo, um aplicativo Web do Serviço de Aplicativo do Azure é um exemplo de um componente PaaS. No entanto, com esse modelo, o site é sempre implantado, pois precisa estar pronto para atender a uma solicitação. Sim, o aplicativo Web é capaz de escalar dinamicamente (e voltar), mas sempre haverá uma instância dele em execução. Posteriormente, você pagará por isso.

Arquiteturas sem servidor

Sem servidor

as arquiteturas diferem dessas arquiteturas anteriores, em parte por serem orientadas a eventos. Como resultado, cobranças residuais não se aplicam; você paga apenas pelo que usa com base em execuções. Lidar com a escala se torna um problema para o provedor de nuvem. Você precisa honrar a oferta de contrato de nível de serviço (SLA) do provedor de nuvem. Como arquiteto, a expectativa é que seu aplicativo tenha um bom desempenho, independentemente da carga. Naturalmente, isso requer confiança da organização do cliente, mas também introduz a necessidade de monitorar a saúde e o desempenho do seu aplicativo.

Sem servidor360

é uma ferramenta que pode ajudar com essas necessidades de monitoramento.

Saiba mais sobre arquitetura sem servidor, consulte este blog em '

Considerações sobre arquitetura sem servidor do Azure | Sem servidor360

"