Essa arquitetura combina o Blockchain Automation Framework (BAF) de código aberto e o Kubernetes habilitado para Azure Arc para trabalhar com DLTs multipartidários e construir uma solução de blockchain entre nuvens.
Arquitetura
Essa solução fornece uma rede heterogênea de DLT de várias partes e independente de nuvem. As partes podem hospedar os respectivos nós em qualquer lugar e ainda fazer parte da rede.
Workflow
O Kubernetes é a infraestrutura padrão que hospeda o razão e o aplicativo. Este exemplo pressupõe que haja três clusters de Kubernetes gerenciado.
- A parte A usa o AKS (Serviço de Kubernetes do Azure).
- A parte B usa o GCP GKE (Google Kubernetes Engine).
- A parte C usa o Amazon EKS (Elastic Kubernetes Service).
Cada parte hospeda os nós em uma localização diferente.
O BAF implanta a rede distribuída nos três serviços de nuvem.
O Kubernetes habilitado para Azure Arc gerencia centralmente e monitora todos os clusters de Kubernetes com:
- Implantação e gerenciamento de configuração de cluster baseado em GitOps.
- Monitoramento de Insights de contêiner do Azure Monitor.
- Gerenciamento de política do Azure Policy para Kubernetes.
O Azure DevOps fornece gerenciamento do ciclo de vida de aplicativos e da infraestrutura. Um Controlador Ansible em uma VM (máquina virtual) do Linux do Azure é o agente personalizado do Azure DevOps de CI/CD (integração contínua e entrega contínua).
O Registro de Contêiner do Azure armazena e compartilha imagens de contêiner privadas e relacionadas ao aplicativo. O Registro do Docker extrai imagens específicas do razão.
Componentes
O Kubernetes é a infraestrutura baseada em contêiner que hospeda o razão e os aplicativos. Este exemplo pressupõe que haja três clusters de Kubernetes gerenciado: um no AKS, outro no Amazon EKS e o último no GCP GKE. Você pode hospedar seus clusters de Kubernetes em quase todas as localizações públicas ou privadas.
O BAF (Blockchain Automation Framework) de código aberto é uma forma de fornecer redes de DLT consistentes e prontas para produção em infraestruturas públicas e privadas baseadas em nuvem. O BAF dá suporte a DLTs do Quorum, do Corda e do Hyperledger.
O Azure Arc padroniza a visibilidade, as operações e a conformidade entre recursos e localizações, ampliando o painel de controle do Azure.
O Kubernetes habilitado para Azure Arc gerencia centralmente os clusters de Kubernetes em qualquer localização. O Kubernetes habilitado para Azure Arc funciona com qualquer cluster de Kubernetes certificado pela CNCF (Cloud Native Computing Foundation), incluindo:
- Mecanismo do AKS no Azure
- Mecanismo do AKS no Azure Stack Hub
- Amazon EKS
- GCP GKE
- VMware vSphere
O Azure Monitor é uma solução abrangente para coleta, análise e tomada de decisões de telemetria. Os Insights de contêiner do Azure Monitor monitoram o desempenho de cargas de trabalho de contêiner implantadas em clusters de Kubernetes habilitados para Azure Arc.
O Azure Policy ajuda a reforçar os padrões organizacionais e a avaliar a conformidade em escala. O Azure Policy para Kubernetes pode gerenciar e relatar o estado de conformidade de todos os clusters de Kubernetes habilitados para Azure Arc.
O Registro de Contêiner do Azure pode criar, armazenar e gerenciar imagens de contêiner e artefatos para todos os tipos de implantações de contêiner.
O Azure DevOps é um conjunto de serviços de desenvolvedor que fornece gerenciamento abrangente do ciclo de vida de aplicativos e da infraestrutura. O Azure DevOps inclui acompanhamento de trabalho, controle do código-fonte, build e CI/CD, gerenciamento de pacotes e soluções de teste.
Alternativas
O Gateway de API do Ambassador gerencia as comunicações entre nós, mas você pode usar um gateway de API nativo de nuvem, como o Gerenciamento de API do Azure, pela Internet. Para obter mais informações, confira Implantação no Serviço de Kubernetes do Azure.
Use também o DNS externo com o serviço DNS do Azure.
Obtenha conexões privadas do protocolo IPSec com ferramentas como o Submariner.
Detalhes do cenário
As redes de Blockchain e de tecnologia de contabilidade distribuída (DLT) são sistemas de várias partes. Cada parte pode ter ferramentas, metodologia e provedor de nuvem próprios. As redes públicas ou privadas de blockchain de alguns provedores podem ter disponibilidade de região, escalabilidade ou segregação de rede limitadas.
O BAF (Blockchain Automation Framework) de código aberto é uma forma consistente de implantar DLTs prontas para produção em diferentes nuvens públicas e privadas. Mas embora o BAF possa gerenciar as implantações, ele não fornece o gerenciamento nem o monitoramento da infraestrutura central. Embora os serviços de blockchain de alguns provedores de nuvem forneçam o gerenciamento da infraestrutura, eles podem exigir que todas as partes estejam na mesma nuvem ou infraestrutura.
Para unir forças e criar uma rede de blockchain, as partes que usam diferentes provedores de nuvem e infraestruturas precisam ter uma plataforma de gerenciamento comum. Essa plataforma deve oferecer visibilidade, operações e conformidade padrão em uma ampla gama de recursos e localizações, independentemente da infraestrutura de hospedagem.
Este artigo explora como o BAF e o Kubernetes habilitado para Azure Arc podem criar uma solução de blockchain entre nuvens que se concentra na portabilidade e no controle.
Possíveis casos de uso
Essa abordagem dá suporte ao seguinte:
Implantações heterogêneas de DLT em que organizações separadas são proprietárias e gerenciam cada nó.
DevOps centralizado, gerenciamento, monitoramento e conformidade entre as redes de várias partes.
Considerações
Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios de orientação que podem ser usados para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, confira Microsoft Azure Well-Architected Framework.
Para obter as melhores práticas do AKS, confira Arquitetura de linha de base de um cluster do AKS (Serviço de Kubernetes do Azure). Encontre diretrizes semelhantes para outros provedores de nuvem.
Disponibilidade e escalabilidade
Embora o Azure Arc possa gerenciar e monitorar os clusters de Kubernetes, cada cluster precisa implementar de maneira independente funcionalidades de escalabilidade, alta disponibilidade e recuperação de desastre.
Segurança
A segurança fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para saber mais, confira Visão geral do pilar de segurança.
O BAF usa o HashiCorp Vault para o armazenamento de chaves e certificados. Para usar o BAF, você precisa ter, pelo menos, um servidor de cofre. O BAF recomenda um cofre por organização para projetos prontos para produção.
Otimização de custo
A otimização de custos é a análise de maneiras de reduzir as despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, confira Visão geral do pilar de otimização de custo.
Para estimar os custos de recursos do Azure, use a Calculadora de Preços do Azure.
Implantar este cenário
- Neste exemplo, crie clusters de Kubernetes gerenciado no AKS, no GKE e no EKS e integre-os ao Azure Arc.
- Siga as etapas para instalar e configurar os pré-requisitos do BAF.
- (Opcional) Crie uma organização e um projeto do Azure DevOps e clone o repositório do BAF no novo projeto do Azure DevOps.
- (Opcional) Crie uma VM do Controlador Ansible no Azure como o agente de build personalizado para implantar componentes do BAF.
Colaboradores
Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.
Autor principal:
- Safi Ali | Arquiteto de Soluções de Nuvem Sênior
Para ver perfis não públicos do LinkedIn, entre no LinkedIn.
Próximas etapas
- Guia de Início Rápido do Azure Arc
- Implantar o consórcio Hyperledger Fabric no Serviço de Kubernetes do Azure
- Fluxo de trabalho de CI/CD usando o GitOps – Kubernetes habilitado para Azure Arc
Recursos relacionados
- Arquitetura de linha de base de um cluster do AKS (Serviço de Kubernetes do Azure)
- Aplicativo de fluxo de trabalho de Blockchain
- Gerenciamento híbrido do Azure Arc e implantação para clusters do Kubernetes
- Contêineres e orquestradores de contêiner para profissionais da AWS
- Contêineres e orquestradores de contêiner para profissionais da GCP