Criar uma nova API na Gestão de API a partir de uma aplicação de funções
O serviço de Gerenciamento de API do Azure permite que você construa uma API a partir de um conjunto de microsserviços diferentes.
Na sua loja online, cada parte da aplicação é implementada como um microsserviço - um para os detalhes do produto, um para detalhes da encomenda e assim por diante. Uma equipe separada gerencia cada microsserviço, e cada equipe usa o desenvolvimento e a entrega contínuos para atualizar e implantar seu código regularmente. Quer encontrar uma maneira de montar esses microsserviços num único produto e, em seguida, gerir esse produto centralmente.
Nesta unidade, você aprenderá como o Gerenciamento de API do Azure é útil em uma arquitetura sem servidor, criando APIs únicas a partir de microsserviços individuais.
Microsserviços e arquitetura sem servidor
Os microsserviços são uma abordagem popular para a arquitetura de aplicativos distribuídos. Ao compilar uma aplicação como uma coleção de microsserviços, cria vários serviços pequenos diferentes. Cada serviço tem um domínio de responsabilidade definido e é desenvolvido, implementado e dimensionado de forma independente. Esta arquitetura modular resulta numa aplicação mais fácil de compreender, melhorar e testar. Isso também facilita a entrega contínua, porque você altera apenas uma pequena parte de todo o aplicativo quando implanta um microsserviço.
Outra tendência complementar no desenvolvimento de software distribuído é a arquitetura sem servidor. Nesta abordagem, uma organização anfitriã publica um conjunto de serviços que os programadores podem utilizar para executar o código. Os desenvolvedores não precisam se preocupar com o hardware de suporte, sistemas operacionais, software subjacente e outras infraestruturas. Em vez disso, o código é executado em recursos de computação sem estado acionados por solicitações. Os custos só são incorridos quando os serviços são executados, portanto, você não paga muito por serviços que raramente são usados.
Funções do Azure
As Funções do Azure consistem num serviço que permite arquiteturas sem servidor no Azure. Pode escrever funções, sem se preocupar com a infraestrutura de suporte, em muitas linguagens diferentes, incluindo C#, Java, JavaScript, PowerShell e Python. Você também pode usar bibliotecas do NuGet e do Gerenciador de Pacotes de Nó (npm) e autenticar usuários com o padrão OAuth de provedores como Ative Directory, Facebook, Google e Conta da Microsoft.
Ao escrever uma função, deve escolher um modelo a ser utilizado, dependendo de como quer acionar o código. Por exemplo, se quiser executar a função em resposta a um pedido de HTTP, deverá utilizar o modelo HTTPTrigger. Pode utilizar outros modelos para a execução quando há novas mensagens numa fila, num contentor do Armazenamento de blobs ou numa agenda predefinida.
Quando você usa o Azure Functions em um Plano de Consumo, é cobrado apenas pelo tempo de execução do código.
API Management do Azure
O Gerenciamento de API do Azure é um serviço de nuvem totalmente gerenciado que você pode usar para publicar, proteger, transformar, manter e monitorar APIs. Ajuda as organizações a publicar APIs para programadores internos, externos e parceiros, de modo a que estes possam explorar ao máximo o potencial dos dados e dos serviços. O Gerenciamento de API lida com todas as tarefas envolvidas na mediação de chamadas de API. Incluindo autenticação e autorização de solicitação, imposição de limite de taxa e cota, transformação de solicitação e resposta, registro e rastreamento e gerenciamento de versão de API. O Gerenciamento de API permite que você crie e gerencie gateways de API modernos para serviços de back-end existentes, não importa onde eles estejam hospedados.
Como você pode publicar o Azure Functions por meio do Gerenciamento de API, pode usá-los para implementar uma arquitetura de microsserviços; Cada função implementa um microsserviço. Ao adicionar várias funções a um único produto de Gerenciamento de API, você pode criar esses microsserviços em um aplicativo distribuído integrado. Uma vez a aplicação compilada, poderá utilizar as políticas da Gestão de API para implementar a colocação em cache ou para garantir os requisitos de segurança.
Camada de consumo de gerenciamento de API
Ao escolher um plano de uso para o Gerenciamento de API, você pode escolher a camada de consumo. A camada de consumo é especialmente adequada para arquiteturas baseadas em microsserviços e sistemas orientados a eventos. Por exemplo, seria uma ótima opção para a nossa API Web da loja online.
A camada de consumo usa os mesmos componentes de serviço subjacentes que as camadas anteriores, mas emprega uma arquitetura totalmente diferente baseada em recursos compartilhados e alocados dinamicamente. A camada de consumo se alinha perfeitamente com modelos de computação sem servidor. Não há infraestrutura para gerenciar e nem capacidade ociosa. Ele oferece alta disponibilidade, dimensionamento automático e preços baseados no uso. Tudo isso torna a camada de consumo uma escolha especialmente boa para soluções que envolvem a exposição de recursos sem servidor como APIs.
Na unidade seguinte, vamos criar uma instância de Gestão de API e adicionar uma função.