Diagram generation: ref-arch-driven procedure + spec validator + KB enrichment

The diagram path now follows a documented standard procedure (lookup
the closest Oracle Architecture Center reference → confirm components
→ author absolute_layout → spec validator → render → visually verify)
and ships persistent guardrails so layout regressions can't recur.

Persistent procedure changes (apply to all users, all sessions):
- tools/diagram_spec_validator.py — geometry checks (CONTAINER_TOO_THIN,
  CONTAINER_PADDING_VIOLATION, LABEL_OVERFLOW_PARENT) run BEFORE either
  renderer (drawio + PPTX). Catches the subnet-collapse / label-overflow
  bugs that the post-render drawio validator missed.
- tools/oci_diagram_gen.py + tools/oci_pptx_diagram_gen.py — call the
  spec validator before emitting any output. Adds mysql / mysql_heatwave
  type aliases.
- tools/archcenter_pattern_lookup.py — scores against cached page
  descriptions (not just the 1-line summary), supports --queries for
  multi-fragment composition, and applies synonym expansion via
  kb/architecture-center/synonyms.yaml so "LB HA cross AD" matches
  "load balancer high availability availability domain".
- kb/architecture-center/synonyms.yaml — canonical synonym table
  (load balancer, autonomous database, data guard, …) used by the
  lookup scorer.

KB enrichment:
- tools/archcenter_description_fetcher.py + 121 cached _description.md
  under kb/diagram/assets/archcenter-refs/<slug>/. Removes the runtime
  dependency on docs.oracle.com when authoring specs and feeds the
  pattern-lookup scorer.
- 110+ cached .drawio / .svg / .png references for offline reuse,
  plus the OCI Toolkit v24.2 import (kb/diagram/assets/oci-toolkit-drawio).

Documentation:
- docs/skill/output-formats.md — new "Standard diagram-generation
  procedure (MANDATORY)" + geometry rules + the new validator entry.
- SKILL.md option 2 — references the mandatory procedure.
- README.md — describes the spec validator, archcenter_pattern_lookup
  and description fetcher, and updates the KB-health table.

Tooling that backs the procedure (cumulative across recent sessions):
tools/archcenter_case_runner.py, archcenter_batch_driver.py,
archcenter_zip_downloader.py, drawio_visual_validator.py,
drawio_fidelity_eval.py, harvest_drawio_icon.py, import_oci_library.py,
oci_pptx_diagram_gen.py, oci_pptx_render.py, refresh_pptx_icon_index.py.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
root
2026-04-25 21:15:21 -03:00
parent 2491c38d4b
commit b30a4f0d32
635 changed files with 365317 additions and 1014 deletions

View File

@@ -0,0 +1,301 @@
# Deploy Oracle Autonomous Database on Oracle Database@Azure
- Source: https://docs.oracle.com/en/solutions/deploy-autonomous-database-db-at-azure/index.html
- Date: 2024-10
- Type: reference-architecture
- Services: adb-s, adg, azure
- Tags: database, multicloud, azure, ha-dr, autonomous
## Summary (catalog)
Multi-AZ deployment of ADB-S on Database@Azure with Autonomous Data Guard. Recommends VNet peering between app and DB VNets, TAC for availability, and ADG standby in a different AZ for automatic failover.
## Architecture (fetched from source)
Architecture
This reference architecture describes some best practices for deploying Oracle Autonomous Database in a Microsoft Azure multi-availability zone (AZ) region.
Business continuity practices and high availability topologies should always be
considered when designing mission-critical database applications. The architecture below
shows a containerized application using Azure Kubernetes Service (AKS). The container images are stored in the Azure container registry. Users access the application externally through a public load
balancer. Since Oracle Autonomous Database is a PaaS service, there is no administrative control over into which AZ the
Autonomous Database will be provisioned. However, in the unlikely event of an Azure AZ failure, Oracle ensures that a local Autonomous Data Guard standby is always
deployed in a different AZ (data center) from its primary.
Note:
If application-to-database-availability-zone affinity is required, Autonomous Database
provides a user queryable database view to determine its AZ placement. Once the AZ of
the Autonomous Database is determined, networking can be aligned as appropriate.
In the diagram below, the application virtual network (VNet) connects to the database
VNet in availability zone 1 (AZ1) using VNet peering. The AKS-hosted application
accesses the database via a private endpoint that connects to the Oracle Database@Azure delegated subnet. If multi-AZ business continuity is required, Autonomous Data Guard
can optionally be enabled, in which case, it is availability zone 2 (AZ2). Autonomous
Data Guard keeps the primary database and local standby in sync and automatically fails
over in the case of a primary AZ outage. Oracle-managed automatic backups are always
enabled by default.
The following diagram illustrates this reference architecture.
Description of the illustration autonomous-database-db-azure-diagram.png
autonomous-database-db-azure-diagram-oracle.zip
The architecture has the following components:
- Region
An Oracle Cloud
Infrastructure region is a localized geographic area that
contains one or more data centers, called
availability domains. Regions are independent of
other regions, and vast distances can separate
them (across countries or even
continents).
- Virtual cloud network (VCN) and subnets
A VCN is a customizable,
software-defined network that you set up in an Oracle Cloud
Infrastructure region. Like traditional data center networks,
VCNs give you control over your network
environment. A VCN can have multiple
non-overlapping CIDR blocks that you can change
after you create the VCN. You can segment a VCN
into subnets, which can be scoped to a region or
to an availability domain. Each subnet consists of
a contiguous range of addresses that don't overlap
with the other subnets in the VCN. You can change
the size of a subnet after creation. A subnet can
be public or private.
- Autonomous
Database
Oracle Autonomous Database is a fully managed, preconfigured database
environments that you can use for transaction
processing and data warehousing workloads. You do
not need to configure or manage any hardware, or
install any software. Oracle Cloud
Infrastructure handles creating the database, as well as
backing up, patching, upgrading, and tuning the
database.
- Object storage
Oracle Cloud
Infrastructure Object Storage provides quick access to large
amounts of structured and unstructured data of any
content type, including database backups, analytic
data, and rich content such as images and videos.
You can safely and securely store and then
retrieve data directly from the internet or from
within the cloud platform. You can scale storage
without experiencing any degradation in
performance or service reliability. Use standard
storage for "hot" storage that you need to access
quickly, immediately, and frequently. Use archive
storage for "cold" storage that you retain for
long periods of time and seldom or rarely
access.
- Azure Container Registry
Azure Container Registry (ACR) is a managed service for storing and managing
container images and related artifacts.
- Azure availability zone
An availability zone is a physically separate data
center within a region designed to be available and fault-tolerant. Availability
zones are close enough to have low-latency connections to other availability
zones.
- Azure Kubernetes Service
Azure Kubernetes Service (AKS) is a managed Kubernetes service offered by Microsoft Azure .
- Azure Load Balancer
Azure Load Balancer provides automated traffic distribution from a single entry
point to multiple servers in the back end.
- Microsoft Azure Virtual Network
Microsoft Azure Virtual Network (VNet) is the fundamental building block for your private
network in Azure. VNet enables many Azure resources, such as Azure virtual machines (VMs), to securely communicate with
each other, the internet, and on-premises networks.
- Oracle Database@Azure
Oracle Database@Azure is an Oracle Cloud Database service that runs
Oracle Database workloads in your Azure
environment. All hardware for Oracle Database@Azure is colocated in Azure's data centers and uses
Azure networking. The service benefits from the
simplicity, security, and low latency of a single
operating environment within Azure. Federated
identity and access management for Oracle Database@Azure is provided by Microsoft Entra ID. Oracle Database metrics and audit logs are natively available
in Azure. The service requires that users have an
Azure tenancy and an OCI tenancy.
Recommendations
Use the following recommendations as a starting point.
Your requirements might differ from the architecture described here.
- Primary and standby database subnets should be in distinct VNets
configured with non-overlapping IP classless inter-domain routing (CIDR)
ranges.
- The application tier (AKS, Docker, VMs, etc.) should span at least two
AZs, with the application VNet peered to both the primary and standby VNet of the
Autonomous Database .
- Optionally, client applications can be configured to use Oracle
transparent application continuity (TAP) to maximize availability during planned and
unplanned outages.
Explore More
For more details about the components and considerations shared in this
document, please refer to the following links.
Review these additional resources:
- Oracle Autonomous
Database Serverless
- Oracle
Database@Azure
- Learn about selecting
network topologies for Oracle Database@Azure
- Configure Application Continuity on Autonomous
Database in Using Oracle Autonomous
Database Serverless
- Oracle
Database@Azure Videos
- Oracle Cloud
Infrastructure Documentation
- Best practices framework
for Oracle Cloud Infrastructure
- Oracle Cloud Cost
Estimator
- Cloud Adoption
Framework
Acknowledgments
- Authors : Domenick Ficarella, Can Tuzla, Martin
Gubar
- Contributors : Wei Han, John Sulyok
Title and Copyright Information
Deploy Autonomous Database on Oracle Database@Azure
G13089-02
October 2024
Copyright © 2024,
Oracle and/or its affiliates.