Skip to content

Architecture

Huzefaaa2 edited this page Jan 27, 2026 · 2 revisions

Architecture

Core platform components

  • Networking: VPC + Service Networking peering range
  • Apigee Organization: top-level container
  • Apigee Instances: runtime instances per region
  • Environments: dev/test/prod
  • EnvGroups: hostnames mapped to environments

Dependency ordering

  1. Networking and API enablement
  2. Apigee Organization
  3. Apigee Instances
  4. Environments and instance attachments
  5. EnvGroups and envgroup attachments

Reference diagrams

Single-region baseline

%%{init: {"theme":"base","themeVariables":{"primaryColor":"#D9F0FF","primaryTextColor":"#0F172A","secondaryColor":"#FFE1D6","tertiaryColor":"#E6FFFA","lineColor":"#334155","fontFamily":"Inter, ui-sans-serif, system-ui"}}}%%
flowchart LR
  User((Client)) -->|HTTPS| Edge["Public DNS and TLS certs"]
  Edge -->|Private access| LB["Ingress ILB or Gateway"]
  LB --> Apigee["Apigee X Runtime"]
  Apigee -->|mTLS private| PSC["Private Service Connect"]
  PSC --> Backends["GCP services or private backends"]
  Apigee --> Logs["Cloud Logging"]
  Apigee --> Mon["Cloud Monitoring"]
Loading

Multi-region HA

%%{init: {"theme":"base","themeVariables":{"primaryColor":"#E0F2FE","primaryTextColor":"#0F172A","secondaryColor":"#FCE7F3","tertiaryColor":"#ECFCCB","lineColor":"#334155","fontFamily":"Inter, ui-sans-serif, system-ui"}}}%%
flowchart LR
  User((Client)) --> DNS["Global DNS and traffic policy"]
  DNS --> R1["Region A ingress"]
  DNS --> R2["Region B ingress"]
  R1 --> A["Apigee X Instance A"]
  R2 --> B["Apigee X Instance B"]
  A --> Backends["Private backends"]
  B --> Backends
  A --> Obs["Central observability"]
  B --> Obs
Loading

CI/CD + Policy

%%{init: {"theme":"base","themeVariables":{"primaryColor":"#DCFCE7","primaryTextColor":"#0F172A","secondaryColor":"#FEF3C7","tertiaryColor":"#EDE9FE","lineColor":"#334155","fontFamily":"Inter, ui-sans-serif, system-ui"}}}%%
flowchart LR
  Dev["Developer"] --> PR["Pull request"]
  PR --> CI["CI: fmt, validate, security"]
  CI -->|pass| Plan["Terraform plan"]
  Plan --> Review["Approval gate"]
  Review --> Apply["Terraform apply"]
  Apply --> Drift["Scheduled drift detection"]
  CI --> Policy["OPA or Conftest policy set"]
  Policy --> CI
Loading

Clone this wiki locally