| Linha 97: | Linha 97: | ||
'''Secrets Management''' | '''Secrets Management''' | ||
O Secrets Management é um aspecto crucial do Security Plane que foca no manuseio seguro de dados sensíveis, como senhas, chaves de API, chaves de criptografia, certificados e outras credenciais. O gerenciamento eficaz de segredos garante que essas informações sensíveis sejam armazenadas, transmitidas e acessadas com segurança, minimizando o risco de acesso não autorizado e violações de dados. | |||
'''Security''' | '''Security''' | ||
Edição das 15h37min de 18 de julho de 2024
Developer Control Plane
O "Developer Control Plane" é uma camada de controle destinada a desenvolvedores. Esta camada fornece as ferramentas e interfaces que os desenvolvedores usam diretamente para escrever, gerenciar e versionar o código, bem como acessar e configurar as suas aplicações. Basicamente, é o conjunto de ferramentas que os desenvolvedores utilizam para controlar o ciclo de vida do desenvolvimento do software.
IDE Um IDE é um Ambiente de Desenvolvimento Integrado que fornece uma interface para os desenvolvedores escreverem, testarem e depurarem seu código. Exemplos comuns de IDEs incluem o Visual Studio Code, IntelliJ IDEA e PyCharm. Eles geralmente incluem um editor de código, ferramentas de construção automatizadas e um depurador.
Developer Portal O Developer Portal é uma plataforma centralizada onde os desenvolvedores podem acessar recursos, documentações, APIs, e outras ferramentas necessárias para o desenvolvimento de software. Ele facilita a colaboração, fornecendo um ponto único de acesso às informações e ferramentas necessárias para os desenvolvedores.
Version Control O Version Control (Controle de Versão) é um sistema que registra as mudanças em um arquivo ou conjunto de arquivos ao longo do tempo, para que você possa lembrar versões específicas mais tarde. Git é o sistema de controle de versão mais usado atualmente. Ele permite que múltiplos desenvolvedores trabalhem no mesmo projeto simultaneamente, mantendo um histórico detalhado das alterações feitas no código.
- Aplication source code
Application Source Code refere-se ao código que compõe a aplicação ou os aplicativos desenvolvidos pela equipe de desenvolvimento. Isso inclui:
-Código de Funcionalidades: Toda a lógica da aplicação, funcionalidades específicas, interfaces de usuário, e qualquer outro código que define como a aplicação se comporta e interage com os usuários.
-Bibliotecas e Dependências: Bibliotecas externas e dependências que a aplicação utiliza.
-Testes: Scripts de testes automatizados que garantem a qualidade e a funcionalidade do aplicativo.
Esse código é geralmente versionado para permitir a colaboração entre desenvolvedores, rastrear mudanças, reverter a versões anteriores se necessário, e gerenciar o ciclo de vida do desenvolvimento da aplicação.
- Platform source code
Platform Source Code refere-se ao código que compõe a plataforma subjacente que suporta as aplicações. Isso pode incluir:
-Infraestrutura como Código (IaC): Scripts e configurações para provisionar e gerenciar a infraestrutura (por exemplo, usando Terraform, Ansible, etc.).
-Serviços Comuns: Serviços compartilhados que fornecem funcionalidades como autenticação, autorização, logging, monitoramento, etc.
-Orquestração e Automação: Scripts e ferramentas que automatizam o desenvolvimento, implantação e operações (por exemplo, pipelines de CI/CD, scripts de deploy, etc.).
-Componentes da Plataforma: Qualquer outro código que define como a plataforma subjacente funciona e é gerenciada.
Esse código é versionado para garantir que a plataforma seja consistente, replicável e possa ser mantida e atualizada de maneira coordenada.
Integration and Delivery Plane
O Integration and Delivery Plane (Plano de Integração e Entrega) é uma camada que engloba ferramentas e processos para integrar, testar e entregar software de maneira contínua. Esta camada foca na automação dos processos de integração, testes, construção de artefatos e implantação em ambientes de produção.
CI Pipeline O CI Pipeline refere-se ao conjunto de processos automatizados que são usados para integrar mudanças de código de todos os desenvolvedores de forma contínua. Os principais elementos incluem:
-Build Automation: Compilação automática do código fonte quando novas mudanças são submetidas.
-Automated Testing: Execução de testes automatizados para garantir que as mudanças não introduzam novos erros.
-Code Quality Checks: Análise de qualidade do código e verificação de conformidade com padrões de codificação.
-Artifact Creation: Criação de artefatos de construção (por exemplo, pacotes de software) que podem ser implantados em ambientes de teste ou produção.
Image Registry
O Image Registry é um repositório centralizado onde as imagens de containers são armazenadas e gerenciadas. Imagens de containers são snapshots de uma aplicação e seus componentes (como bibliotecas, dependências e configurações) que podem ser executadas em qualquer ambiente que suporte containers (por exemplo, Docker, Kubernetes). Os principais aspectos incluem:
-Storage: Armazenamento seguro e eficiente de imagens de containers.
-Versioning: Controle de versões para gerenciar diferentes versões de imagens de containers.
-Distribution: Facilitar a distribuição de imagens para diferentes ambientes (desenvolvimento, teste, produção).
-Security: Verificação de segurança e escaneamento de vulnerabilidades nas imagens.
Platform Orchestrator
CD Pipiline
Infrastructure Control Plane
Monitoring and Logging Plane
O Monitoring and Logging Plane(plano de monitoramento e registro) é fundamental para garantir que os sistemas e aplicativos estejam funcionando de maneira eficaz e eficiente. O objetivo principal é coletar e analisar métricas de desempenho, disponibilidade e integridade. Essas métricas incluem dados quantitativos, como uso de CPU, memória, latência de rede, taxa de erros e outras estatísticas que ajudam a entender o comportamento e o estado dos sistemas.
Observability Observability é um conceito mais amplo que se refere à capacidade de entender o estado interno de um sistema examinando suas saídas. Ela abrange não apenas monitoramento e registro, mas também rastreamento e outros métodos de coleta de dados para dar uma imagem completa do que está acontecendo dentro de um sistema. A observabilidade é essencial para identificar e diagnosticar problemas, entender o comportamento do sistema e garantir a saúde geral do sistema. Os três pilares da observabilidade são:
- Métricas: Dados quantitativos que medem vários aspectos do desempenho do sistema, como uso da CPU, consumo de memória, taxas de solicitação e taxas de erro.
- Logs: Registros detalhados e com registro de data e hora de eventos que acontecem dentro de um sistema. Os logs fornecem contexto e insights sobre ações e comportamentos específicos do sistema.
- Rastros: Rastros distribuídos rastreiam o fluxo de solicitações por meio de diferentes componentes de um sistema, mostrando o caminho e o desempenho de transações individuais em microsserviços.
Analytics Analytics no plano de monitoramento e registro envolve extrair insights acionáveis dos dados coletados para melhorar o desempenho do sistema, a confiabilidade e a experiência geral do usuário.
Security Plane
O Security Plane se refere aos componentes e processos dedicados a manter a segurança da infraestrutura. Ele abrange uma variedade de funções, ferramentas e protocolos projetados para proteger dados, garantir privacidade e manter a integridade e disponibilidade dos serviços. Aqui está uma análise do que o Security Plane normalmente envolve:
Identity and Access Management (IAM)
- Autenticação: Verificar a identidade de usuários e dispositivos.
- Autorização: Determinar o que usuários e dispositivos autenticados têm permissão para fazer.
- Gerenciamento de usuários: Lidar com contas de usuários, funções e permissões.
Secrets Management O Secrets Management é um aspecto crucial do Security Plane que foca no manuseio seguro de dados sensíveis, como senhas, chaves de API, chaves de criptografia, certificados e outras credenciais. O gerenciamento eficaz de segredos garante que essas informações sensíveis sejam armazenadas, transmitidas e acessadas com segurança, minimizando o risco de acesso não autorizado e violações de dados.
Security
Resource Plane
Compute - Cluster Management
Data
Networking
Services
- Messaging
- ActivMQ