Projeto de arquitetura de funções sem servidor

A arquitetura sem servidor evolui as plataformas de nuvem em direção ao código nativo da nuvem puro, abstraindo o código da infraestrutura necessária para sua execução. O Azure Functions é uma opção de computação sem servidor que dá suporte a funções, pequenos pedaços de código que fazem coisas únicas.

Os benefícios de usar arquiteturas sem servidor com aplicativos Functions incluem:

  • A infraestrutura do Azure fornece automaticamente todos os servidores atualizados que os aplicativos precisam para manter a execução em escala.
  • Os recursos de computação são alocados dinamicamente e dimensionados automaticamente de forma instantânea para atender às demandas elásticas. Sem servidor não significa "nenhum servidor", mas "menos servidor", porque os servidores são executados apenas conforme necessário.
  • O microfaturamento economiza custos cobrando apenas pelos recursos de computação e pela duração que o código usa para executar.
  • As associações do Function simplificam a integração, fornecendo acesso declarativo a uma ampla variedade de serviços do Azure e de terceiros.

As funções são controladas por eventos. Um evento externo, como uma solicitação da Web HTTP, mensagem, agendamento ou alteração nos dados dispara o código da função. Um aplicativo Functions não codifica o gatilho, apenas a resposta ao gatilho. Com uma barreira menor à entrada, os desenvolvedores podem se concentrar na lógica de negócios, em vez de escrever código para lidar com problemas de infraestrutura, como mensagens.

O Azure Functions é um serviço gerenciado no Azure e no Azure Stack. O tempo de execução do Functions de software livre funciona em muitos ambientes, incluindo Kubernetes, Azure IoT Edge, local e outras nuvens.

Sem servidor e Functions exigem novas formas de pensar e novas abordagens para criar aplicativos. Não são as soluções certas para todos os problemas. Para obter exemplos de cenários de Functions sem servidor, consulte Arquiteturas de referência.

Etapas de implementação

A implementação bem-sucedida de tecnologias sem servidor com o Azure Functions requer as seguintes ações:

  • Decidir e planejar

    Arquitetos e tomadores de decisões técnicas (TDMs) executam avaliação do aplicativo, realizam ou participam de workshops técnicos e treinamento, executam projetos PoC (prova de conceito) ou piloto e conduzem sessões de projetos arquitetônicos conforme necessário.

  • Desenvolver e implantar aplicativos

    Desenvolvedores implementam padrões e práticas de desenvolvimento de aplicativos de funções sem servidor, configurar pipelines de DevOps e empregar práticas recomendadas de engenharia de confiabilidade de sites (SRE).

  • Gerenciar operações

    Os profissionais de TI identificam as configurações de hospedagem, a escalabilidade preparada para o futuro automatizando o provisionamento da infraestrutura e mantêm a disponibilidade planejando a continuidade de negócios e a recuperação de desastres.

  • Aplicativos seguros

    Os profissionais de segurança lidam com os fundamentos de segurança do Azure Functions, protegem a configuração de hospedagem e fornecem orientações de segurança de aplicativos.