Pular para conteúdo

Aula 20 - Projeto Capstone: Ecossistema de Produtividade Integrado 🚀

Objetivo Pedagógico

Objetivo: Conceber e integrar um ecossistema holístico de produtividade para desenvolvimento de software: catálogo de serviços centralizado (Backstage), templates de scaffolding de novos microsserviços com linters/testes pré-configurados e telemetria de fluxo de engenharia unificada.


📑 1. Fundamentos Teóricos & Análise Técnica

O Projeto Capstone de Ferramentas para Projetos consolida uma plataforma moderna de engenharia corporativa: 1. Developer Portals e Plataformas de Autoatendimento (Internal Developer Platform - IDP): - Prover aos desenvolvedores autonomia para criar novos microsserviços, solicitar bancos de dados e consultar documentação técnica sem abrir chamados manuais para a equipe de infraestrutura. 2. Scaffolding Padronizado com Golden Paths: - Fornecer modelos de projetos (Templates) que já nascem com a arquitetura recomendada pela empresa: linter, testes unitários, pipeline de CI/CD, métricas de observabilidade e Dockerfile otimizado. 3. Métricas Consolidadas de Eficiência: - Integração das métricas DORA, relatórios de cobertura de código do SonarQube e status de builds em um painel executivo unificado.

📐 Arquitetura Conceitual & Diagrama de Fluxo

graph TD
    Dev["Desenvolvedor"] --> Portal["Developer Portal (IDP Autoatendimento)"]
    Portal --> Template["Golden Path Template (Novo Microsserviço)"]
    Template --> Repo["Repositório Git com CI/CD, Linter e Testes Prontos"]
    Repo --> Pipeline["Pipeline de Integração Automatizado"]
    Pipeline --> SonarGate["Quality Gate & Métricas DORA"]
    SonarGate --> Dashboard["Dashboard de Produtividade Unificado"]
    style Dev fill:#e1f5fe,stroke:#01579b
    style Portal fill:#fff3e0,stroke:#e65100
    style Template fill:#f3e5f5,stroke:#7b1fa2
    style Repo fill:#e8f5e9,stroke:#2e7d32
    style Dashboard fill:#e0f2f1,stroke:#00695c

🔍 Pilares e Diretrizes Técnicas

Nesta unidade, aprofundamos os seguintes conceitos fundamentais: - Autonomia com Golden Paths: Redução do tempo de criação de um novo serviço de semanas para minutos com conformidade garantida desde o primeiro dia. - Governança Transparente: Visibilidade imediata sobre o nível de maturidade de todos os repositórios da organização em um catálogo único. - Redução de Carga Cognitiva: Os desenvolvedores concentram-se na lógica de negócio sem precisar configurar infraestrutura repetitiva. - Melhoria Contínua Mensurável: Acompanhamento contínuo da evolução dos índices de qualidade e velocidade das equipes de produto.


🛠️ 2. Implementação Prática em Engenharia de Plataforma, Developer Portal e Automação

Abaixo está a implementação técnica de referência, estruturada com padrões de engenharia de software e foco em robustez:

// service_template_capstone.yaml (Definição de Scaffolding Golden Path no Backstage)
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
  name: hardened-microservice-template
  title: Template de Microsserviço Hardened (Golden Path)
  description: Criação autônoma de novo serviço com CI/CD, SonarQube e testes integrados
spec:
  owner: platform-team
  type: service

  parameters:
    - title: Metadados do Serviço
      required:
        - service_name
        - owner_team
      properties:
        service_name:
          title: Nome do Serviço
          type: string
          description: Identificador único do repositório
        owner_team:
          title: Time Responsável
          type: string
          enum: [core-banking, checkout, auth-identity]

  steps:
    - id: fetch-base
      name: Baixar Estrutura Base
      action: fetch:template
      input:
        url: ./skeleton
        values:
          serviceName: ${{ parameters.service_name }}
          ownerTeam: ${{ parameters.owner_team }}

    - id: publish-github
      name: Criar Repositório no GitHub
      action: publish:github
      input:
        repoUrl: github.com?repo=${{ parameters.service_name }}&owner=empresa-organizacao
        defaultBranch: main
        protectDefaultBranch: true 

💡 Análise Passo a Passo do Código

  1. Parâmetros Estruturados: Coleta metadados obrigatórios garantindo que todo serviço possua dono e escopo bem delimitados.
  2. Template Skeleton: Injeta código boilerplate com boas práticas de segurança e qualidade pré-configuradas.
  3. Proteção Automática de Branch: Já cria o repositório com regras de Branch Protection ativas no GitHub.

🎯 3. Próximos Passos & Sequência Didática