Definir o conceito de serviços

Concluído

Normalmente, você faz a transição do modelo de programação de software tradicional para aplicativos nativos da nuvem quando precisa melhorar a agilidade, a disponibilidade e a resiliência de suas cargas de trabalho. Como parte dessa transição, você divide a funcionalidade que essas cargas de trabalho fornecem em componentes separados. Em seguida, você delega sua implementação a subsistemas distintos. Esse processo, por sua vez, permite que você implante e dimensione esses subsistemas independentemente uns dos outros. Você também se beneficia da resiliência associada aos recursos de dimensionamento e à arquitetura distribuída. Um serviço é um dos principais conceitos nos quais você confia para decidir como projetar e implementar essas alterações.

O que é um serviço?

O termo serviço representa uma coleção de componentes que, coletivamente, fornecem funcionalidade específica e orientada à carga de trabalho para seu aplicativo nativo da nuvem. Cada serviço faz parte de um sistema maior que forma o aplicativo. Por exemplo, o aplicativo de geladeira inteligente que você está desenvolvendo pode ter um serviço de inventário, um serviço de pedidos, um serviço de pagamento e uma interface de gerenciamento, cada um com seu próprio conjunto independente de opções de tecnologia. Isso lhe dá flexibilidade para escolher qualquer método de implementação que você considere ideal com base em seus requisitos ou preferências.

Como os serviços podem usar os recursos do Azure?

No contexto de aplicativos nativos da nuvem, você pode otimizar o uso de serviços usando os recursos do Azure. Por exemplo, é comum implementar serviços dentro de contêineres. Isso garante automaticamente seu isolamento, incluindo todas as dependências de serviço na imagem do contêiner. A implantação de contêineres no Serviço Kubernetes do Azure (AKS) permite aumentar a escalabilidade e a resiliência, que são partes fundamentais da orquestração de contêineres. Ele também oferece sobrecarga de manutenção minimizada inerente ao serviço gerenciado. Ofertas como o Banco de Dados SQL do Azure, o Azure Cosmos DB e o Banco de Dados do Azure para PostgreSQL oferecem benefícios equivalentes para a persistência de dados. Com o Gerenciamento de API do Azure, você pode controlar o acesso às APIs dos serviços.

Services that use Azure capabilities, including Azure Database for PostgreSQL and Cosmos DB.

O que é a Base de Dados do Azure para PostgreSQL?

O Banco de Dados do Azure para PostgreSQL é uma implementação gerenciada pela Microsoft do mecanismo de banco de dados PostgreSQL Community Edition. Ele oferece uma ampla gama de recursos que eliminam ou minimizam tarefas comuns de gerenciamento de banco de dados. Esses recursos incluem backups automáticos, dimensionamento elástico, monitoramento e automação aprimorados e provisões de alta disponibilidade integradas.

O PostgreSQL ganhou um grande número de seguidores desde a sua introdução em 1996. Sua disponibilidade como um serviço gerenciado no Azure facilita a adoção de princípios de aplicativos nativos da nuvem para cargas de trabalho existentes. Por exemplo, você pode continuar usando bibliotecas populares de modelagem de função .js de objeto de código aberto, como Sequelize ou Prisma, à medida que refatora ou rearquiteta seus aplicativos baseados em nó como parte de sua migração para o Azure.

O Banco de Dados do Azure para PostgreSQL está disponível em três modos de implantação:

  • Servidor único. Esse modo é otimizado para aplicativos nativos da nuvem que não exigem controle granular sobre definições de configuração personalizadas do PostgreSQL, mas se beneficiam da sobrecarga de gerenciamento minimizada. Ele suporta as versões da comunidade do PostgreSQL 9.5, 9.6, 10 e 11.
  • Servidor flexível. Esse modo oferece um controle mais granular das tarefas de gerenciamento de banco de dados e das definições de configuração. A arquitetura de servidor flexível oferece suporte para zonas de disponibilidade e controles de otimização de custos. Os controles permitem que você pare o servidor durante períodos ociosos e incluem a escolha da camada de computação burstable, que ajusta automaticamente os recursos de computação com base na demanda. O servidor flexível suporta as versões comunitárias do PostgreSQL 11 e PostgreSQL 12.
  • Hiperescala. Esse modo implementa a fragmentação para dimensionar horizontalmente consultas de dados em várias instâncias de banco de dados para minimizar o tempo de resposta para grandes conjuntos de dados. Destina-se a aplicações que exigem maior escala e desempenho, com conjuntos de dados na faixa de 100 GB.