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

Observability

Analytics

Security Plane

Secrets Management

Security

Resource Plane

Compute - Cluster Management

Data

Networking

Services

  • Messaging
  • ActivMQ