Recomendações para selecionar os serviços corretos

Aplica-se a esta recomendação de lista de verificação de Eficiência de Desempenho do Azure Well-Architected Framework:

PE:03 Selecione os serviços corretos. Os serviços, a infraestrutura e as seleções de escalões têm de suportar a capacidade de atingir os destinos de desempenho da carga de trabalho e acomodar as alterações de capacidade esperadas. As seleções também devem ponderar as vantagens de utilizar funcionalidades da plataforma ou criar uma implementação personalizada.

Este guia descreve as recomendações para selecionar os serviços adequados para a carga de trabalho. As seguintes recomendações ajudam-no a escolher os serviços que melhor cumprem os requisitos e as exigências da sua carga de trabalho. Quando utiliza serviços concebidos para lidar com os requisitos da carga de trabalho, pode garantir que a carga de trabalho cumpre os seus objetivos de desempenho. Se escolher serviços inadequados para a carga de trabalho, os serviços poderão não ser capazes de lidar com as exigências da carga de trabalho. Os serviços insuficientes podem levar a tempos de resposta lentos, estrangulamentos ou falhas na carga de trabalho.

Definições

Termo Definição
Zona de disponibilidade Um grupo separado de datacenters numa região. Cada zona de disponibilidade é independente das outras, com a sua própria potência, arrefecimento e infraestrutura de rede. Muitas regiões suportam zonas de disponibilidade.
Serviço de computação Um serviço que fornece a infraestrutura de que precisa para executar uma aplicação.
Serviço de base de dados Um serviço que fornece bases de dados relacionais e não relacionais para a sua aplicação.
Infraestrutura Os componentes físicos da computação na cloud e a localização geográfica dos componentes.
Infraestrutura como um serviço (IaaS) Um serviço no qual o cliente é responsável pelo sistema operativo, identidade, aplicações e rede.
Plataforma como um serviço (PaaS) Um serviço no qual o fornecedor de serviços cloud é responsável pelo sistema operativo. O fornecedor de serviços cloud partilha a responsabilidade com o cliente para gerir identidades, aplicações e redes.
Region Um perímetro geográfico que contém um conjunto de datacenters.
Recurso Uma única entidade ou componente que pode criar, configurar e utilizar num fornecedor de serviços cloud.
Serviço Um produto ou oferta de um fornecedor de serviços cloud.
Unidade de manutenção de stock (SKU) Um escalão de serviço para um serviço do Azure.
Serviço de armazenamento Um serviço que fornece armazenamento para objetos, blocos e ficheiros.

Principais estratégias de design

Os serviços que escolher devem estar alinhados com os destinos de desempenho da carga de trabalho e adaptá-los às necessidades de capacidade futuras. À medida que a carga de trabalho se expande ou evolui, os serviços que utiliza devem corresponder aos seus padrões de desempenho sem precisar de grandes ajustes. Considere o equilíbrio entre as funcionalidades da plataforma e as implementações personalizadas. As funcionalidades da plataforma fornecem soluções imediatas, mas as opções personalizadas oferecem uma adaptação precisa. As suas seleções de serviço devem ser baseadas no futuro e adaptadas às suas necessidades específicas, tendo em conta as trocas entre conveniência e personalização.

Compreender os requisitos da carga de trabalho

Compreender os requisitos da carga de trabalho refere-se à compreensão das exigências técnicas e funcionais de uma carga de trabalho. Esta análise ajuda a determinar os recursos, armazenamento, computação, rede e outras especificações necessárias para executar a carga de trabalho. Alinhar os serviços com as necessidades específicas de uma carga de trabalho ajuda a evitar o sobreaprovisionamento ou a subutilização de recursos.

Avalie as necessidades e características da carga de trabalho para determinar os requisitos e alinhe os requisitos da carga de trabalho com os seus objetivos de desempenho em todos os escalões. Tem de ter em conta as restrições ou dependências. Quando compreender os requisitos da carga de trabalho, pode tomar decisões informadas. Pode determinar a infraestrutura correta e implementar estratégias para lidar com cargas de pico ou variações na procura.

  • Cumprir os objetivos de desempenho. Selecione os serviços que lhe permitem cumprir os objetivos de desempenho da carga de trabalho. Certifique-se de que um serviço pode suportar as necessidades de desempenho e que pode monitorizar o desempenho. Recolher dados de desempenho para componentes críticos.

  • Considere as restrições organizacionais. Familiarize-se com as restrições que a sua organização pode ter nos serviços que implementar. Considere estas restrições ao conceber a sua solução.

  • Considere os requisitos de conformidade e segurança. Os requisitos de conformidade e segurança podem afetar os serviços e configurações que selecionar. Certifique-se de que um serviço que escolher cumpre os requisitos relacionados com armazenamento, encriptação, controlos de acesso, registos de auditoria e localizações de dados.

  • Considere as competências da equipa. A sua equipa cria e mantém cargas de trabalho. Diferentes serviços requerem competências diferentes. Escolha os serviços que a sua equipa sabe utilizar ou consolide para os preparar antes de escolher um serviço. Certifique-se de que os membros da equipa possuem os conhecimentos e conhecimentos para utilizar eficazmente os serviços e otimizar o seu desempenho.

Desvantagem: os serviços especializados oferecem funcionalidades específicas, mas podem limitar a personalização. Os recursos flexíveis requerem mais gestão e configuração em comparação com os serviços especializados. Os serviços geridos oferecem facilidade de gestão, mas poderá ter menos controlo sobre a infraestrutura subjacente em comparação com os recursos autogeridos.

Compreender os serviços

Compreender os serviços é conhecer as capacidades, os limites e as funcionalidades das ferramentas e ofertas de um fornecedor. Uma compreensão dos serviços ajuda-o a utilizar funcionalidades incorporadas, reduzindo a necessidade de soluções personalizadas complexas e melhorando a eficiência de desempenho.

Considere vários fatores e obtenha uma compreensão abrangente de um serviço antes de o escolher. Pesquisar e avaliar serviços e ferramentas que o fornecedor oferece. Determine quais os serviços e ferramentas que melhor se alinham com os seus requisitos de carga de trabalho. Considere fatores como serviços geridos, opções sem servidor e serviços especializados.

Compreender os limites de serviço

Os limites de serviços são os limiares ou limites predefinidos que os fornecedores de serviços definem. Os limites de serviço definem a utilização máxima de recursos ou capacidades nesse serviço. Quando estiver familiarizado com os limites de serviço, pode evitar problemas como contenção de recursos, degradação do desempenho ou interrupções inesperadas do serviço. Pode planear e dimensionar a infraestrutura adequadamente. O planeamento tem em conta fatores como o volume de dados, a capacidade de processamento e os requisitos de residência dos dados.

Preferir funcionalidades da plataforma

Preferir funcionalidades de plataforma é utilizar funcionalidades incorporadas fornecidas por um fornecedor para processar tarefas específicas sem código personalizado. Os fornecedores criam funcionalidades de plataforma para lidar com tarefas específicas de forma eficiente em escala e mantêm regularmente estas funcionalidades. As funcionalidades da plataforma permitem-lhe tirar melhor partido das capacidades de infraestrutura da cloud. Escolha os serviços que lhe permitem descarregar a funcionalidade para a plataforma em vez de escrever e manter o seu próprio código personalizado. Em muitos casos, as soluções de plataforma como serviço (PaaS) proporcionam uma melhor eficiência de desempenho do que o código personalizado. O código personalizado adiciona complexidade e torna a carga de trabalho propensa a problemas de desempenho. Desenvolva apenas código personalizado quando as funcionalidades de serviço não forem suficientes.

Desvantagem: o melhor serviço para a sua carga de trabalho pode ser uma tecnologia na qual a sua equipa não é qualificada, não pode pagar ou pode necessitar de camadas de segurança adicionais. Por exemplo, um balanceador de carga público pode corresponder às suas necessidades de desempenho. No entanto, se não tiver uma firewall de aplicações Web, poderá ter de implementar uma firewall para proteger a carga de trabalho.

Avaliar os requisitos de infraestrutura

A eficiência de desempenho dos recursos está associada à infraestrutura em que residem. Torna a seleção da infraestrutura correta fundamental para a eficiência de desempenho do serviço. Avaliar os requisitos de infraestrutura significa identificar a região geográfica e as zonas de disponibilidade mais adequadas para suportar a carga de trabalho. As principais considerações nesta tomada de decisão incluem:

  • Compreender as regiões e as zonas de disponibilidade. Cada região corresponde a uma localização geográfica distinta. As zonas de disponibilidade representam datacenters físicos individuais numa determinada região.

  • Modelo de implementação de região única vs. várias regiões. Um modelo de implementação de região única implementa todos os recursos numa única região. Um modelo de implementação de várias regiões implementa recursos em várias regiões. Uma implementação de várias regiões pode reduzir a latência para os utilizadores finais e mitigar as restrições de capacidade. No entanto, também pode aumentar o custo e a complexidade da carga de trabalho. Escolha o modelo de implementação que melhor se adequa às suas necessidades de carga de trabalho.

  • Compreender as funcionalidades disponíveis. Diferentes regiões têm diferentes funcionalidades disponíveis, como o número de serviços e zonas de disponibilidade. Compreenda as funcionalidades que estão disponíveis numa região antes de a selecionar. Certifique-se de que uma região satisfaz as necessidades de desempenho da carga de trabalho.

  • Considere a latência. Latência, o tempo que os dados demoram a viajar de origem para destino, aumenta os serviços adicionais uns dos outros. Os serviços que comunicam entre regiões ou zonas de disponibilidade podem enfrentar um aumento da latência. Recomenda-se identificar os serviços que comunicam e posicionam frequentemente na mesma região. Além disso, selecionar uma região próxima da base de utilizadores principal pode minimizar a latência, oferecendo uma melhor experiência de utilizador.

  • Compreender o mapeamento do datacenter. As zonas de disponibilidade podem não mapear consistentemente para os mesmos datacenters em diferentes subscrições. Por exemplo, "Zona 1" em "Subscrição A" pode ser diferente de "Zona 1" em "Subscrição B". Ao operar com várias subscrições, deve saber estes mapeamentos para selecionar zonas que melhoram o desempenho.

Avaliar os requisitos de rede

Avalie as necessidades da rede para determinar as configurações e os serviços de carga de trabalho adequados. Certifique-se de que a rede pode suportar a carga de trabalho. Para avaliar os requisitos de rede, considere:

  • Compreender o tráfego de rede. Avalie o tráfego de rede esperado para a carga de trabalho. Compreenda as necessidades de transferência de dados e a frequência dos pedidos de rede.

  • Compreender os requisitos de largura de banda. Determine os requisitos de largura de banda para a carga de trabalho. Considere a quantidade de dados transmitidos e recebidos através da rede.

  • Compreender a Latência de Rede. Avalie a latência pretendida para a carga de trabalho. Utilize redes virtuais privadas e redes backbone em vez de percorrer a Internet pública. Esta técnica diminui a latência da carga de trabalho.

  • Compreender o débito. Considere o débito necessário para a carga de trabalho. Débito refere-se à quantidade de dados que podem ser transmitidos através de uma rede num determinado período de tempo. Configure as opções de encaminhamento de rede para tirar partido dos benefícios de débito de rede.

Desvantagem: as redes virtuais privadas limitam o acesso público e dificultam a implementação e gestão de recursos.

Avaliar os requisitos de computação

Avaliar os requisitos de computação envolve avaliar as necessidades de computação específicas de uma carga de trabalho, incluindo fatores como o tipo de instância, escalabilidade e contentorização. Diferentes serviços de computação têm diferentes capacidades e características que podem afetar o desempenho da carga de trabalho. Selecione o serviço de computação ideal para garantir que a carga de trabalho é executada de forma eficiente. Considere as seguintes estratégias:

  • Compreender os tipos de instâncias. Diferentes tipos de instância são otimizados para diferentes cargas de trabalho, como instâncias de GPU otimizadas para CPU, otimizadas para memória. Escolha o tipo de instância que se alinha com as suas necessidades.

  • Considere o dimensionamento automático. Se a carga de trabalho tiver procura variável, considere um serviço de computação com uma funcionalidade de dimensionamento automático que possa ajustar automaticamente a capacidade de computação com base na procura. O dimensionamento automático ajuda a garantir que tem recursos suficientes durante os períodos de pico e impede o sobreaprovisionamento durante períodos de baixa procura.

  • Considere a contentorização. Os contentores proporcionam vantagens de desempenho em comparação com uma carga de trabalho não localizada. Considere utilizar a contentorização se se adequar às suas necessidades de arquitetura. Os contentores melhoram o desempenho da computação através do isolamento, eficiência dos recursos, tempo de arranque rápido e portabilidade.

    Quando utilizar contentores, considere fatores de estrutura, como a contentorização de todos os componentes da aplicação. Utilize runtimes de contentor baseados em Linux para imagens leves. Dê aos contentores ciclos de vida curtos para torná-los imutáveis e substituíveis. Recolha registos e métricas relevantes de contentores, anfitriões de contentores e do cluster subjacente. Utilize estes dados para monitorizar e analisar o desempenho. Os contentores são apenas um componente de uma arquitetura geral. Escolha um orquestrador de contentores adequado, como o Kubernetes, para melhorar ainda mais o desempenho e a escalabilidade.

    Benefício do contentor Description
    Isolamento Os contentores fornecem ambientes isolados para aplicações. Os contentores garantem que os recursos da aplicação não interferem entre si. Este isolamento garante que os recursos de computação atribuídos a um contentor são dedicados à execução de uma aplicação específica, o que resulta num melhor desempenho.
    Eficiência dos recursos Os contentores são leves e partilham o kernel do sistema operativo anfitrião, o que permite uma utilização eficiente dos recursos. Vários contentores podem ser executados na mesma infraestrutura virtualizada, o que maximiza a utilização de recursos de computação.
    Tempo de arranque rápido As imagens de contentor são pré-criadas e são iniciadas rapidamente quando necessário. Este tempo de arranque rápido permite uma escalabilidade rápida. Permite que as aplicações aumentem ou reduzam verticalmente com base na procura e evitem estrangulamentos de desempenho.
    Portabilidade Os contentores encapsulam todas as dependências e bibliotecas necessárias na imagem. Com os contentores, é mais fácil mover aplicações em diferentes sistemas operativos ou ambientes. Esta portabilidade permite flexibilidade na implementação de aplicações e permite uma migração fácil entre fornecedores de cloud ou ambientes no local.
  • Escolha o escalão adequado. Em cada serviço de computação, pode definir a capacidade de computação, selecionar funcionalidades e ativar capacidades. Com base nos seus destinos de desempenho, escolha o escalão de serviço adequado para o seu serviço de computação.

  • Determine a contagem de instâncias. Determine a contagem mínima de instâncias necessária para a carga de trabalho. Algumas cargas de trabalho, mesmo com carga mínima, podem exigir mais do que uma instância de um recurso de computação. Defina a contagem mínima de instâncias em conformidade.

Avaliar os requisitos de balanceamento de carga

O balanceamento de carga garante que o tráfego de rede é distribuído uniformemente e impede que qualquer servidor individual fique sobrecarregado com pedidos. O balanceamento de carga ajuda a evitar estrangulamentos e a reduzir os tempos de resposta. Avalie os diferentes serviços de balanceamento de carga que o seu fornecedor de cloud oferece. Reveja a documentação e as ferramentas de comparação do fornecedor de cloud para compreender as funcionalidades. Selecione o serviço mais adequado para a carga de trabalho. Para selecionar um serviço de balanceamento de carga, considere:

  • Compreender o tipo de tráfego: determine se o serviço de balanceamento de carga precisa de processar o tráfego Web, como HTTP e HTTPS, ou outros protocolos, como o Protocolo TCP (Transmission Control Protocol) ou o User Datagram Protocol (UDP).

  • Conheça o encaminhamento global ou regional: determine se a carga de trabalho necessita de balanceamento de carga numa região específica ou em várias regiões.

  • Conhecer objetivos de nível de serviço (SLOs): considere o contrato de nível de serviço (SLA). Diferentes serviços de balanceamento de carga oferecem diferentes níveis de desempenho.

  • Compreender as funcionalidades: considere os serviços de balanceamento de carga que fornecem aceleração do site, distribuição de tráfego ideal e balanceamento de carga de camada 4 de baixa latência.

Avaliar os requisitos do arquivo de dados

Avaliar os requisitos do arquivo de dados tem a ver com avaliar as necessidades e condições específicas para armazenar, obter e gerir dados. Esta avaliação considera fatores como o volume de dados, a velocidade de acesso, a consistência e a durabilidade. Uma carga de trabalho pode exigir vários tipos de arquivos de dados com base em diferentes requisitos técnicos e empresariais. Identificar os serviços corretos do arquivo de dados e a implementação adequada ajuda a evitar estrangulamentos e garante um acesso rápido aos dados.

Avaliar os requisitos da base de dados

A base de dados pode afetar fatores como armazenamento e obtenção de dados, processamento de transações, garantias de consistência e processamento de dados grandes ou em rápida mudança. Avalie as necessidades e critérios da base de dados. Selecione um sistema de bases de dados que cumpra esses requisitos. Avalie os requisitos da base de dados antes de escolher uma base de dados. Para avaliar os requisitos da base de dados e escolher a base de dados adequada, siga estes passos:

  • Identifique as necessidades da carga de trabalho. Compreenda os requisitos específicos da carga de trabalho, como o volume de dados, as taxas de transação esperadas, a simultaneidade, os tipos de dados e o crescimento esperado. Avalie diferentes sistemas de bases de dados com base nas suas necessidades de carga de trabalho. Por exemplo, se a carga de trabalho necessitar de processamento de dados em tempo real de elevado desempenho, poderá escolher um sistema de bases de dados otimizado para ingestão rápida de dados e baixa latência.

  • Considere o modelo de dados. Determine o modelo de dados mais adequado à sua carga de trabalho. Avalie os requisitos da base de dados para garantir que a base de dados escolhida suporta as estruturas de dados, relações e restrições de integridade necessárias. Por exemplo, se os seus dados têm uma estrutura altamente relacional, poderá optar por um sistema de gestão de bases de dados relacionais (RDBMS) que fornece suporte robusto para transações e integridade referencial. O modelo de dados pode ser hierárquico, de rede, relacional, orientado para objetos ou NoSQL. Avalie a complexidade do seu modelo de dados. Certifique-se de que a base de dados escolhida suporta as estruturas e relações de dados necessárias.

  • Avalie as capacidades. Considere fatores como padrões de leitura/escrita, complexidade de consultas, requisitos de latência e necessidades de escalabilidade. Avalie as capacidades de desempenho de diferentes sistemas de bases de dados em conformidade. Algumas bases de dados são excel em cargas de trabalho de leitura intensiva, enquanto outras são otimizadas para cargas de trabalho analíticas ou de escrita intensiva.

  • Avalie a carga. Considere fatores como o volume de dados, as taxas de transação, os rácios de leitura/escrita e o crescimento esperado. Escolha uma base de dados que consiga processar a carga de trabalho prevista para garantir um funcionamento sem problemas e evitar estrangulamentos de desempenho à medida que a carga de trabalho é dimensionada. Considere os requisitos de escalabilidade da carga de trabalho. Estes requisitos incluem o crescimento antecipado dos dados, o acesso simultâneo ao utilizador e a necessidade de dimensionamento horizontal ou vertical. Avalie as opções de escalabilidade e as funcionalidades de disponibilidade que diferentes sistemas de bases de dados fornecem.

Avaliar os requisitos de armazenamento

Escolha os serviços de armazenamento que se alinham com os seus padrões de acesso a dados, requisitos de durabilidade e necessidades de desempenho. A maioria das cargas de trabalho na cloud utiliza uma combinação de tecnologias de armazenamento. Esta técnica é conhecida como a abordagem de persistência poliglota. Determine a combinação adequada de serviços de armazenamento para a carga de trabalho. Também poderá querer separar os dados para evitar contaminação. Por exemplo, pode ter contas de armazenamento separadas para monitorizar dados e dados empresariais. Escolher a combinação correta e a implementação correta é importante para otimizar o desempenho da aplicação.

Avaliar os requisitos de cache

Uma cache armazena dados acedidos com frequência. A colocação em cache reduz a latência de acesso a dados e reduz a carga nos componentes de armazenamento de dados. Permite que a carga de trabalho processe mais pedidos sem dimensionamento. É comum colocar em cache dados de carga de trabalho e conteúdo estático. Uma cache de Redis pode armazenar dados de sessão, resultados de base de dados, respostas de API e dados de referência, como definições de configuração. Uma rede de entrega de conteúdos ou uma aplicação Web estática pode colocar em cache e servir conteúdo estático. Considere colocar dados em cache para melhorar o desempenho da carga de trabalho. Escolha a opção de colocação em cache correta para a carga de trabalho, preferindo os serviços de colocação em cache da plataforma, como a Cache de Redis do Azure, em vez dos personalizados ou autoalojados.

Facilitação do Azure

Compreender os requisitos: utilize o Azure Monitor para recolher e analisar dados da sua carga de trabalho. A monitorização fornece informações sobre o desempenho e o estado de funcionamento das cargas de trabalho, permitindo-lhe identificar e resolver problemas.

Compreender e avaliar serviços: reveja os serviços e produtos do Azure para determinar se cumprem os seus requisitos de desempenho. O Azure oferece vários serviços que alcançam o mesmo resultado. Tem a flexibilidade de alinhar a sua escolha de serviço às suas necessidades de desempenho, ao conjunto de competências da equipa e aos requisitos de custos.

Para obter uma lista dos limites mais comuns do Azure, veja Subscrição do Azure e limites de serviço, quotas e restrições.

O exemplo Limites de consulta e quotas mostra como consultar os limites e quotas dos recursos utilizados frequentemente.

O Azure tem muitos serviços que podem acomodar qualquer carga de trabalho. Reveja a documentação de orientação de seleção para cada tipo de serviço para o ajudar a simplificar a sua seleção com base nos seus requisitos. Veja os seguintes guias para escolher:

Lista de verificação de Eficiência de Desempenho

Veja o conjunto completo de recomendações.