forked from diegoecab/oci-deal-accelerator
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:
@@ -0,0 +1,295 @@
|
||||
# Migrate business critical applications to Oracle Database@Azure using a phased strategy
|
||||
|
||||
- Source: https://docs.oracle.com/en/solutions/phased-migration-to-oracle-dba/index.html
|
||||
- Date: 2025-03
|
||||
- Type: reference-architecture
|
||||
- Services: exacs, azure, goldengate, adg
|
||||
- Tags: database, multicloud, azure, migration
|
||||
|
||||
## Summary (catalog)
|
||||
|
||||
Phased migration to Database@Azure. Leverages OCI networking for DR replication with low-latency, high-bandwidth connectivity. Integrates Autonomous Recovery Service with Data Guard for data protection.
|
||||
|
||||
## Architecture (fetched from source)
|
||||
|
||||
Architecture
|
||||
|
||||
|
||||
|
||||
|
||||
This architecture outlines a phased approach for migrating on-premises Oracle
|
||||
Database onto Oracle Exadata Database
|
||||
Service at Oracle Database@Azure with minimal downtime.
|
||||
|
||||
|
||||
|
||||
To simplify this strategy, we break it down into three key aspects: current
|
||||
state, future state, and migration phases.
|
||||
|
||||
|
||||
This reference architecture has four primary components (marked with blue
|
||||
numbers in diagram).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Number
|
||||
Component
|
||||
Description
|
||||
|
||||
|
||||
|
||||
|
||||
1
|
||||
On-premises primary data center
|
||||
Hosts the database and application as the primary system before
|
||||
migration.
|
||||
|
||||
|
||||
2
|
||||
On-premises standby data center
|
||||
Maintains a standby system, replicating the on-premises primary
|
||||
database.
|
||||
|
||||
|
||||
3
|
||||
Azure primary region
|
||||
Runs the application and database on Oracle Database@Azure , becoming the primary system post-migration.
|
||||
|
||||
|
||||
|
||||
4
|
||||
Azure standby region
|
||||
A disaster recovery site replicating the primary region using Oracle Data Guard .
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Description of the illustration logical-architecture-diagram.png
|
||||
|
||||
logical-architecture-diagram-oracle.zip
|
||||
|
||||
|
||||
Current state
|
||||
|
||||
|
||||
In the existing setup, both the primary data center (1) and standby data center (2) are
|
||||
hosted on-premises, supporting application workloads and databases. The primary data
|
||||
center handles all requests, while the standby data center maintains asynchronous
|
||||
replication using Oracle Data Guard . This ensures high availability, with the standby system ready for failover in case
|
||||
of unexpected failures.
|
||||
|
||||
|
||||
|
||||
Future state
|
||||
|
||||
|
||||
The future architecture mirrors the current setup but is fully hosted in the
|
||||
cloud, spanning two Azure regions: the primary region (3) and the standby region (4). The database is migrated
|
||||
to Oracle Database@Azure Exadata services, with asynchronous replication between the primary and standby
|
||||
databases managed via Oracle Data Guard over the Oracle Cloud
|
||||
Infrastructure (OCI) network.
|
||||
|
||||
|
||||
|
||||
For secure connectivity between the on-premises data center and Azure , an Azure Firewall is deployed within a secure Virtual WAN (vWAN) Hub in Azure .
|
||||
|
||||
|
||||
|
||||
Migration phases
|
||||
|
||||
|
||||
The migration follows a two-phase approach to ensure a controlled and
|
||||
reliable transition.
|
||||
|
||||
|
||||
Phase 1 – Transitioning on-premises standby to Azure and switchover
|
||||
|
||||
|
||||
In this phase, the on-premises standby system (2) is migrated to Azure (3). Once completed, the primary (1) and standby (3) roles are swapped, making Azure the new primary region.
|
||||
|
||||
|
||||
|
||||
|
||||
- Establish connectivity between on-premises and Azure using Azure ExpressRoute .
|
||||
|
||||
|
||||
- Configure Azure secure hub, Azure Firewall, and vWAN for security (if not already in place).
|
||||
|
||||
|
||||
- Provision Oracle Exadata Cloud Infrastructure in Azure ’s primary region, then:
|
||||
|
||||
|
||||
- Set up an Oracle Exadata virtual machine (VM) cluster and create
|
||||
the target database.
|
||||
|
||||
- Enable archive logs and forced logging on the primary database
|
||||
(if not already enabled).
|
||||
|
||||
|
||||
|
||||
- Configure Oracle Net for listener and TNS names for discovery.
|
||||
|
||||
- Restore from service to set up a standby database in Azure ’s primary region (3).
|
||||
|
||||
|
||||
- Perform a switchover, making the Azure database (3) the new primary.
|
||||
|
||||
|
||||
- Migrate applications to the Azure primary region (3) and update DNS routes.
|
||||
|
||||
|
||||
- Verify the Data Guard configuration and monitor the replication status.
|
||||
|
||||
|
||||
|
||||
Phase 2 – Establishing standby in Azure and decommissioning on-premises
|
||||
|
||||
|
||||
In this phase, a standby system (4) is set up in Azure , and on-premises resources (1 and 2) are decommissioned.
|
||||
|
||||
|
||||
|
||||
|
||||
- Provision Oracle Exadata Cloud Infrastructure in the standby region (4) with Oracle Database@Azure .
|
||||
|
||||
|
||||
- Set up an Oracle Exadata VM cluster and create the standby database.
|
||||
|
||||
- Enable Oracle Data Guard to associate the primary region database (3) with the standby database (4).
|
||||
|
||||
|
||||
- Use OCI networking for high-throughput replication, leveraging local and remote
|
||||
peering within a hub-and-spoke topology between the primary and standby
|
||||
databases.
|
||||
|
||||
- Migrate application workloads to the Azure standby region (4).
|
||||
|
||||
|
||||
- Stop the synchronization with the on-premises resources and then
|
||||
decommission the on-premises application and database resources from the primary (1)
|
||||
and standby (2) data centers.
|
||||
|
||||
|
||||
The following diagram illustrates this reference architecture.
|
||||
|
||||
|
||||
Description of the illustration physical-architecture-diagram.png
|
||||
|
||||
physical-architecture-diagram-oracle.zip
|
||||
|
||||
|
||||
Microsoft Azure provides the following components:
|
||||
|
||||
|
||||
|
||||
|
||||
- Azure Region
|
||||
An Azure region is a geographical area in which one or more
|
||||
physical Azure data centers, called availability zones, reside. Regions
|
||||
are independent of other regions, and vast distances can
|
||||
separate them (across countries or even continents).
|
||||
|
||||
|
||||
|
||||
Azure and OCI regions are localized geographic areas. For Oracle Database@Azure , an Azure region is connected to an OCI region, with availability
|
||||
zones (AZs) in Azure connected to availability domains (ADs) in OCI. Azure and OCI region pairs are selected to minimize distance
|
||||
and
|
||||
latency.
|
||||
|
||||
|
||||
|
||||
|
||||
- Azure Availability Zone
|
||||
Azure
|
||||
availability zones are physically separate locations within
|
||||
an Azure region, designed to ensure high availability and
|
||||
resiliency by providing independent power, cooling, and
|
||||
networking.
|
||||
|
||||
|
||||
|
||||
- Azure VNet
|
||||
Microsoft Azure Virtual Network (VNet) is
|
||||
the fundamental building block for your private network in
|
||||
Azure. VNet enables many types of Azure resources, such as
|
||||
Azure virtual machines (VM), to securely communicate with
|
||||
each other, the internet, and on-premises networks.
|
||||
|
||||
|
||||
|
||||
- Azure Delegated Subnet
|
||||
Subnet delegation is
|
||||
Microsoft's ability to inject a managed service,
|
||||
specifically a platform-as-a-service (PaaS) service,
|
||||
directly into your virtual network. This allows you to
|
||||
designate or delegate a subnet to be a home for an external
|
||||
managed service inside of your virtual network, such that
|
||||
external service acts as a virtual network resource, even
|
||||
though it is an external PaaS service.
|
||||
|
||||
|
||||
|
||||
- Azure VNIC
|
||||
The services in Azure
|
||||
data centers have physical network interface cards (NICs).
|
||||
Virtual machine instances communicate using virtual NICs
|
||||
(VNICs) associated with the physical NICs. Each instance has
|
||||
a primary VNIC that's automatically created and attached
|
||||
during launch and is available during the instance's
|
||||
lifetime.
|
||||
|
||||
|
||||
|
||||
- Azure Virtual Network Gateway
|
||||
Azure
|
||||
Virtual Network Gateway establishes secure, cross-premises
|
||||
connectivity between an Azure virtual network and an
|
||||
on-premises network. It allows you to create a hybrid
|
||||
network that spans your data center and
|
||||
Azure.
|
||||
|
||||
|
||||
|
||||
- Azure Virtual WAN
|
||||
Microsoft Azure Virtual
|
||||
WAN (VWAN) is a networking service that brings many
|
||||
networking, security, and routing functionalities together
|
||||
to provide a single operational interface.
|
||||
|
||||
|
||||
|
||||
- Azure Secure Hub
|
||||
An Azure secure hub, also known as a
|
||||
secured virtual hub, is an Azure Virtual WAN hub enhanced
|
||||
with security and routing policies managed by Azure Firewall
|
||||
Manager. It simplifies the creation of hub-and-spoke and
|
||||
transitive network architectures by integrating native
|
||||
security services for traffic governance and protection.
|
||||
This setup automates traffic routing, eliminating the need
|
||||
for user-defined routes (UDRs). Organizations can use a
|
||||
secure hub to filter and secure traffic between virtual
|
||||
networks, branch offices, and the internet, ensuring robust
|
||||
security and streamlined network management.
|
||||
|
||||
|
||||
|
||||
|
||||
- Azure Firewall Manager
|
||||
Azure Firewall
|
||||
Manager is a centralized security management service that
|
||||
simplifies the deployment and configuration of Azure
|
||||
Firewall across multiple regions and subscriptions. It
|
||||
allows for hierarchical policy management, enabling global
|
||||
and local firewall policies to be applied consistently. When
|
||||
integrated with Azure Virtual WAN (vWAN) and a secure hub,
|
||||
Azure Firewall Manager enhances security by automating
|
||||
traffic routing and filtering without the need for
|
||||
user-defined routes (UDRs). This integration ensures that
|
||||
tr
|
||||
@@ -0,0 +1,195 @@
|
||||
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36" version="26.1.1">
|
||||
<diagram name="logical-architecture-diagram" id="logical-architecture-diagram">
|
||||
<mxGraphModel dx="1032" dy="1097" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<UserObject label="" tags="Background" id="2">
|
||||
<mxCell style="vsdxID=2;fillColor=#FFFFFF;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry width="651" height="330" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="3">
|
||||
<mxCell style="vsdxID=4;fillColor=#f5f4f2;gradientColor=none;shape=stencil(vVPRDoIgFP0aHnUIW9mz2X+wRGWRuCul/n0QWia5Ntt8u5x78Nxz8SCaNCWrOSK40aAuvBWZLhE9IkJEVXIQ2lSIpogmuQJegLpVmTvXzDJtdVV3+4XO3cP2BsG9Ox3iMN4/kZMjMzibLgzkKKSui6EfkYg6xKOMDDxIdAHrRBOA0kwLVX3ISwYFD4xYkEtWfLSalvPag4fxpKgmXsz0O/pVfLUbvLSfDezMxV/TrXXj72ezp/F+i//eZWExGxj5kRdTvJOWCyldUKf9eTIN5FJN0wc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry width="269" height="329" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="4">
|
||||
<mxCell style="vsdxID=5;fillColor=none;gradientColor=none;shape=stencil(vVPRDoIgFP0aHnUIW9mz2X+wRGWRuCul/n0QWia5Ntt8u5x78Nxz8SCaNCWrOSK40aAuvBWZLhE9IkJEVXIQ2lSIpogmuQJegLpVmTvXzDJtdVV3+4XO3cP2BsG9Ox3iMN4/kZMjMzibLgzkKKSui6EfkYg6xKOMDDxIdAHrRBOA0kwLVX3ISwYFD4xYkEtWfLSalvPag4fxpKgmXsz0O/pVfLUbvLSfDezMxV/TrXXj72ezp/F+i//eZWExGxj5kRdTvJOWCyldUKf9eTIN5FJN0wc=);strokeColor=#9e9892;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry width="269" height="329" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="<div style="font-size: 1px"><p style="text-align:left;margin-left:0;margin-right:0;margin-top:0px;margin-bottom:0px;text-indent:0;vertical-align:middle;direction:ltr;"><font style="font-size:16.93px;font-family:Oracle Sans;color:#312d2a;direction:ltr;letter-spacing:0px;line-height:120%;opacity:1"><b>On-Premises Data Center<br/></b></font></p></div>" tags="Background" id="5">
|
||||
<mxCell style="verticalAlign=middle;align=left;overflow=width;vsdxID=6;fillColor=none;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="33" y="7" width="389" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="6">
|
||||
<mxCell style="vsdxID=8;fillColor=#ecf3fb;gradientColor=none;shape=stencil(vVPRDoIgFP0aHnUIW9mz2X+wRGWRuCul/n0QWia5Ntt8u5x78Nxz8SCaNCWrOSK40aAuvBWZLhE9IkJEVXIQ2lSIpogmuQJegLpVmTvXzDJtdVV3+4XO3cP2BsG9Ox3iMN4/kZMjMzibLgzkKKSui6EfkYg6xKOMDDxIdAHrRBOA0kwLVX3ISwYFD4xYkEtWfLSalvPag4fxpKgmXsz0O/pVfLUbvLSfDezMxV/TrXXj72ezp/F+i//eZWExGxj5kRdTvJOWCyldUKf9eTIN5FJN0wc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="381" width="269" height="329" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="7">
|
||||
<mxCell style="vsdxID=9;fillColor=none;gradientColor=none;shape=stencil(vVPRDoIgFP0aHnUIW9mz2X+wRGWRuCul/n0QWia5Ntt8u5x78Nxz8SCaNCWrOSK40aAuvBWZLhE9IkJEVXIQ2lSIpogmuQJegLpVmTvXzDJtdVV3+4XO3cP2BsG9Ox3iMN4/kZMjMzibLgzkKKSui6EfkYg6xKOMDDxIdAHrRBOA0kwLVX3ISwYFD4xYkEtWfLSalvPag4fxpKgmXsz0O/pVfLUbvLSfDezMxV/TrXXj72ezp/F+i//eZWExGxj5kRdTvJOWCyldUKf9eTIN5FJN0wc=);strokeColor=#0078d7;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="381" width="269" height="329" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="<div style="font-size: 1px"><p style="text-align:left;margin-left:0;margin-right:0;margin-top:0px;margin-bottom:0px;text-indent:0;vertical-align:middle;direction:ltr;"><font style="font-size:16.93px;font-family:Oracle Sans;color:#312d2a;direction:ltr;letter-spacing:0px;line-height:120%;opacity:1"><b>Azure Cloud<br/></b></font></p></div>" tags="Background" id="8">
|
||||
<mxCell style="verticalAlign=middle;align=left;overflow=width;vsdxID=10;fillColor=none;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="467" y="7" width="186" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="9">
|
||||
<mxCell style="vsdxID=12;fillColor=#FFFFFF;gradientColor=none;shape=stencil(vVPLDoMgEPwajhoUa+rZ2v8gFZWUillotX9fLNT6iGliE2/L7iyzszCIpKqiDUMhVhrklbU81xUiJxSGvK4YcG0iRDJE0kICK0He69yeG9oj++gmH/0Nne3DfUeIn/aUxH4UvzNnC6ZwMVVw4OBTxeAaiH+IbGYBcYgAO4rOox1XHkhNNZf1hF5QKJlnyLxC0HJSUi1jzSLtxhO8HmlJjsM0M/LNavDafnaQMycfptuqZrmf3Z5m8S3+e5eVxewg5IdfTPB1WsGFsEYd1+fONCnrapK9AA==);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="9" y="51" width="252" height="104" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="10">
|
||||
<mxCell style="vsdxID=13;fillColor=none;gradientColor=none;shape=stencil(vVPLDoMgEPwajhoUa+rZ2v8gFZWUillotX9fLNT6iGliE2/L7iyzszCIpKqiDUMhVhrklbU81xUiJxSGvK4YcG0iRDJE0kICK0He69yeG9oj++gmH/0Nne3DfUeIn/aUxH4UvzNnC6ZwMVVw4OBTxeAaiH+IbGYBcYgAO4rOox1XHkhNNZf1hF5QKJlnyLxC0HJSUi1jzSLtxhO8HmlJjsM0M/LNavDafnaQMycfptuqZrmf3Z5m8S3+e5eVxewg5IdfTPB1WsGFsEYd1+fONCnrapK9AA==);strokeColor=#c74634;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="9" y="51" width="252" height="104" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="<div style="font-size: 1px"><p style="text-align:left;margin-left:0;margin-right:0;margin-top:0px;margin-bottom:0px;text-indent:0;vertical-align:middle;direction:ltr;"><font style="font-size:16.93px;font-family:Oracle Sans;color:#312d2a;direction:ltr;letter-spacing:0px;line-height:120%;opacity:1">On-Premises<br/></font></p></div>" tags="Background" id="11">
|
||||
<mxCell style="verticalAlign=middle;align=left;overflow=width;vsdxID=14;fillColor=none;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="85" y="86" width="186" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="<div style="font-size: 1px"><p style="text-align:left;margin-left:0;margin-right:0;margin-top:0px;margin-bottom:0px;text-indent:0;vertical-align:middle;direction:ltr;"><font style="font-size:16.93px;font-family:Oracle Sans;color:#312d2a;direction:ltr;letter-spacing:0px;line-height:120%;opacity:1">Primary<br/></font></p></div>" tags="Background" id="12">
|
||||
<mxCell style="verticalAlign=middle;align=left;overflow=width;vsdxID=15;fillColor=none;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="105" y="103" width="118" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="13">
|
||||
<mxCell style="vsdxID=17;fillColor=#FFFFFF;gradientColor=none;shape=stencil(vVPLDoMgEPwajhoUa+rZ2v8gFZWUillotX9fLNT6iGliE2/L7iyzszCIpKqiDUMhVhrklbU81xUiJxSGvK4YcG0iRDJE0kICK0He69yeG9oj++gmH/0Nne3DfUeIn/aUxH4UvzNnC6ZwMVVw4OBTxeAaiH+IbGYBcYgAO4rOox1XHkhNNZf1hF5QKJlnyLxC0HJSUi1jzSLtxhO8HmlJjsM0M/LNavDafnaQMycfptuqZrmf3Z5m8S3+e5eVxewg5IdfTPB1WsGFsEYd1+fONCnrapK9AA==);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="9" y="212" width="252" height="104" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="14">
|
||||
<mxCell style="vsdxID=18;fillColor=none;gradientColor=none;shape=stencil(vVPLDoMgEPwajhoUa+rZ2v8gFZWUillotX9fLNT6iGliE2/L7iyzszCIpKqiDUMhVhrklbU81xUiJxSGvK4YcG0iRDJE0kICK0He69yeG9oj++gmH/0Nne3DfUeIn/aUxH4UvzNnC6ZwMVVw4OBTxeAaiH+IbGYBcYgAO4rOox1XHkhNNZf1hF5QKJlnyLxC0HJSUi1jzSLtxhO8HmlJjsM0M/LNavDafnaQMycfptuqZrmf3Z5m8S3+e5eVxewg5IdfTPB1WsGFsEYd1+fONCnrapK9AA==);strokeColor=#c74634;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="9" y="212" width="252" height="104" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="<div style="font-size: 1px"><p style="text-align:left;margin-left:0;margin-right:0;margin-top:0px;margin-bottom:0px;text-indent:0;vertical-align:middle;direction:ltr;"><font style="font-size:16.93px;font-family:Oracle Sans;color:#312d2a;direction:ltr;letter-spacing:0px;line-height:120%;opacity:1">On-Premises<br/></font></p></div>" tags="Background" id="15">
|
||||
<mxCell style="verticalAlign=middle;align=left;overflow=width;vsdxID=19;fillColor=none;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="85" y="247" width="186" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="<div style="font-size: 1px"><p style="text-align:left;margin-left:0;margin-right:0;margin-top:0px;margin-bottom:0px;text-indent:0;vertical-align:middle;direction:ltr;"><font style="font-size:16.93px;font-family:Oracle Sans;color:#312d2a;direction:ltr;letter-spacing:0px;line-height:120%;opacity:1">Standby<br/></font></p></div>" tags="Background" id="16">
|
||||
<mxCell style="verticalAlign=middle;align=left;overflow=width;vsdxID=20;fillColor=none;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="103" y="263" width="118" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="17">
|
||||
<mxCell style="vsdxID=22;fillColor=#FFFFFF;gradientColor=none;shape=stencil(vVPLDoMgEPwajhoUa+rZ2v8gFZWUillotX9fLNT6iGliE2/L7iyzszCIpKqiDUMhVhrklbU81xUiJxSGvK4YcG0iRDJE0kICK0He69yeG9oj++gmH/0Nne3DfUeIn/aUxH4UvzNnC6ZwMVVw4OBTxeAaiH+IbGYBcYgAO4rOox1XHkhNNZf1hF5QKJlnyLxC0HJSUi1jzSLtxhO8HmlJjsM0M/LNavDafnaQMycfptuqZrmf3Z5m8S3+e5eVxewg5IdfTPB1WsGFsEYd1+fONCnrapK9AA==);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="390" y="51" width="252" height="104" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="18">
|
||||
<mxCell style="vsdxID=23;fillColor=none;gradientColor=none;shape=stencil(vVPLDoMgEPwajhoUa+rZ2v8gFZWUillotX9fLNT6iGliE2/L7iyzszCIpKqiDUMhVhrklbU81xUiJxSGvK4YcG0iRDJE0kICK0He69yeG9oj++gmH/0Nne3DfUeIn/aUxH4UvzNnC6ZwMVVw4OBTxeAaiH+IbGYBcYgAO4rOox1XHkhNNZf1hF5QKJlnyLxC0HJSUi1jzSLtxhO8HmlJjsM0M/LNavDafnaQMycfptuqZrmf3Z5m8S3+e5eVxewg5IdfTPB1WsGFsEYd1+fONCnrapK9AA==);strokeColor=#5f7d4f;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="390" y="51" width="252" height="104" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="<div style="font-size: 1px"><p style="text-align:left;margin-left:0;margin-right:0;margin-top:0px;margin-bottom:0px;text-indent:0;vertical-align:middle;direction:ltr;"><font style="font-size:16.93px;font-family:Oracle Sans;color:#312d2a;direction:ltr;letter-spacing:0px;line-height:120%;opacity:1">Azure<br/></font></p></div>" tags="Background" id="19">
|
||||
<mxCell style="verticalAlign=middle;align=left;overflow=width;vsdxID=24;fillColor=none;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="494" y="86" width="84" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="<div style="font-size: 1px"><p style="text-align:left;margin-left:0;margin-right:0;margin-top:0px;margin-bottom:0px;text-indent:0;vertical-align:middle;direction:ltr;"><font style="font-size:16.93px;font-family:Oracle Sans;color:#312d2a;direction:ltr;letter-spacing:0px;line-height:120%;opacity:1">Primary<br/></font></p></div>" tags="Background" id="20">
|
||||
<mxCell style="verticalAlign=middle;align=left;overflow=width;vsdxID=25;fillColor=none;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="486" y="103" width="118" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="21">
|
||||
<mxCell style="vsdxID=27;fillColor=#FFFFFF;gradientColor=none;shape=stencil(vVPLDoMgEPwajhoUa+rZ2v8gFZWUillotX9fLNT6iGliE2/L7iyzszCIpKqiDUMhVhrklbU81xUiJxSGvK4YcG0iRDJE0kICK0He69yeG9oj++gmH/0Nne3DfUeIn/aUxH4UvzNnC6ZwMVVw4OBTxeAaiH+IbGYBcYgAO4rOox1XHkhNNZf1hF5QKJlnyLxC0HJSUi1jzSLtxhO8HmlJjsM0M/LNavDafnaQMycfptuqZrmf3Z5m8S3+e5eVxewg5IdfTPB1WsGFsEYd1+fONCnrapK9AA==);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="390" y="212" width="252" height="104" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="22">
|
||||
<mxCell style="vsdxID=28;fillColor=none;gradientColor=none;shape=stencil(vVPLDoMgEPwajhoUa+rZ2v8gFZWUillotX9fLNT6iGliE2/L7iyzszCIpKqiDUMhVhrklbU81xUiJxSGvK4YcG0iRDJE0kICK0He69yeG9oj++gmH/0Nne3DfUeIn/aUxH4UvzNnC6ZwMVVw4OBTxeAaiH+IbGYBcYgAO4rOox1XHkhNNZf1hF5QKJlnyLxC0HJSUi1jzSLtxhO8HmlJjsM0M/LNavDafnaQMycfptuqZrmf3Z5m8S3+e5eVxewg5IdfTPB1WsGFsEYd1+fONCnrapK9AA==);strokeColor=#5f7d4f;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="390" y="212" width="252" height="104" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="<div style="font-size: 1px"><p style="text-align:left;margin-left:0;margin-right:0;margin-top:0px;margin-bottom:0px;text-indent:0;vertical-align:middle;direction:ltr;"><font style="font-size:16.93px;font-family:Oracle Sans;color:#312d2a;direction:ltr;letter-spacing:0px;line-height:120%;opacity:1">Azure<br/></font></p></div>" tags="Background" id="23">
|
||||
<mxCell style="verticalAlign=middle;align=left;overflow=width;vsdxID=29;fillColor=none;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="494" y="247" width="84" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="<div style="font-size: 1px"><p style="text-align:left;margin-left:0;margin-right:0;margin-top:0px;margin-bottom:0px;text-indent:0;vertical-align:middle;direction:ltr;"><font style="font-size:16.93px;font-family:Oracle Sans;color:#312d2a;direction:ltr;letter-spacing:0px;line-height:120%;opacity:1">Standby<br/></font></p></div>" tags="Background" id="24">
|
||||
<mxCell style="verticalAlign=middle;align=left;overflow=width;vsdxID=30;fillColor=none;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="484" y="263" width="118" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="25">
|
||||
<mxCell style="vsdxID=31;fillColor=#312d2a;gradientColor=none;shape=stencil(nVTRcoMgEPwaXm+OO1B5TpP/yDSmOrUxY0xr/75YaAM4wUnecN29XY4DwZtLsz/XgvAyDv17/dUexkbwiyBqT009tKNdCd4K3hz7oX4b+uvp4L7P+5k5rz76z7nC5HTGQFHNKsJvh2gFpfpFdk7weh2cQjqCRPQCD2gCSQ6aKOV4QJVQeZ+Jl9YeUhqoCL279hSGVaAoCktQUC6rVcg4LMZBDYOu4qiYxGQgHcdcdSUwnPQIiBPngPQHgUp7tDSXBGgyPSpvZb01ZthBfYdUVi8f3JxB0LS+OztY5er2bH6usv7BiaUTOdHi2NOB/LcOZumeddKr9avysCC+jBiTCyizxf0YPMtXDHyfj09z8znyXLu4vVTHtuvcQxf+T182C7lXkbc/);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="262" y="93" width="128" height="15" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="26">
|
||||
<mxCell style="vsdxID=32;fillColor=#312d2a;gradientColor=none;shape=stencil(pVTRcoMgEPwaXm/wDgSe0+Q/MompTq1mjGmTvy8OaICOmrRv57rH7t3BMdpcyv25YMgvfdd+FN/VsS8ZvTHEqimLruptxGjLaHNqu+K9a6/N0X2f9wNziD7br+GEm8sTEjAfspDfHWLMiOxcwuHauYzMpyjQ2qd4KOPcATd0gETI0HMw5ZDnCFDCc2hGu66awKxRQDoyqxWgXjI7qY5WdQ5SxGYfHA9oCSRjs6G0h7SAHJe0jS1QJeo09W5UNxxk0qqQRVOhJlvRj5sledQpYwet5tkZAjdxa1fLA6FXq7OqtFocjkrP9zadajAxjBn4e+7zsul1ipv0xGN5OSF5jgQU8fnC4SnX3lFDCxciB/Uv/ite/sy1wWNXnaq6dqsu/J/uNgu5vUjbHw==);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="508" y="156" width="15" height="56" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="27">
|
||||
<mxCell style="vsdxID=34;fillColor=#FFFFFF;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="297" y="94" width="58" height="14" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="<div style="font-size: 1px"><p style="text-align:left;margin-left:0;margin-right:0;margin-top:0px;margin-bottom:0px;text-indent:0;vertical-align:middle;direction:ltr;"><font style="font-size:14.82px;font-family:Oracle Sans;color:#312d2a;direction:ltr;letter-spacing:0px;line-height:120%;opacity:1">Phase 1<br/></font></p></div>" tags="Background" id="28">
|
||||
<mxCell style="verticalAlign=middle;align=left;overflow=width;vsdxID=35;fillColor=none;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="301" y="93" width="103" height="17" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="29">
|
||||
<mxCell style="vsdxID=37;fillColor=#ecf3fb;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="486" y="174" width="60" height="14" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="<div style="font-size: 1px"><p style="text-align:left;margin-left:0;margin-right:0;margin-top:0px;margin-bottom:0px;text-indent:0;vertical-align:middle;direction:ltr;"><font style="font-size:14.82px;font-family:Oracle Sans;color:#312d2a;direction:ltr;letter-spacing:0px;line-height:120%;opacity:1">Phase 2<br/></font></p></div>" tags="Background" id="30">
|
||||
<mxCell style="verticalAlign=middle;align=left;overflow=width;vsdxID=38;fillColor=none;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="490" y="174" width="103" height="17" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="31">
|
||||
<mxCell style="vsdxID=40;fillColor=#70665e;gradientColor=none;shape=stencil(vVHLDsIgEPwajiQI6RfU+h8bu22JCGRB2/69kG1iazx58DazM/vIjjBtmiCi0CplCjecbZ8nYc5Ca+snJJsLEqYTph0C4Ujh4XvmEaqzont41gkL96naodXKrGF6YSfQtUi0OXXDVlqPfJNP6usotUhYbJIUMmQb/GGrAxpRljVycDBuc1hKM2LclX8/7H9nFfB+82Cd45T2+mcspcSRmu4F);strokeColor=#FFFFFF;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="18" y="38" width="24" height="24" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="<div style="font-size: 1px"><p style="text-align:left;margin-left:0;margin-right:0;margin-top:0px;margin-bottom:0px;text-indent:0;vertical-align:middle;direction:ltr;"><font style="font-size:16.93px;font-family:Oracle Sans;color:#FFFFFF;direction:ltr;letter-spacing:0px;line-height:120%;opacity:1"><b>1<br/></b></font></p></div>" tags="Background" id="32">
|
||||
<mxCell style="verticalAlign=middle;align=left;overflow=width;vsdxID=41;fillColor=none;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="26" y="41" width="16" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="33">
|
||||
<mxCell style="vsdxID=43;fillColor=#70665e;gradientColor=none;shape=stencil(vVHLDsIgEPwajiQI6RfU+h8bu22JCGRB2/69kG1iazx58DazM/vIjjBtmiCi0CplCjecbZ8nYc5Ca+snJJsLEqYTph0C4Ujh4XvmEaqzont41gkL96naodXKrGF6YSfQtUi0OXXDVlqPfJNP6usotUhYbJIUMmQb/GGrAxpRljVycDBuc1hKM2LclX8/7H9nFfB+82Cd45T2+mcspcSRmu4F);strokeColor=#FFFFFF;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="18" y="199" width="24" height="24" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="<div style="font-size: 1px"><p style="text-align:left;margin-left:0;margin-right:0;margin-top:0px;margin-bottom:0px;text-indent:0;vertical-align:middle;direction:ltr;"><font style="font-size:16.93px;font-family:Oracle Sans;color:#FFFFFF;direction:ltr;letter-spacing:0px;line-height:120%;opacity:1"><b>2<br/></b></font></p></div>" tags="Background" id="34">
|
||||
<mxCell style="verticalAlign=middle;align=left;overflow=width;vsdxID=44;fillColor=none;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="25" y="202" width="16" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="35">
|
||||
<mxCell style="vsdxID=46;fillColor=#70665e;gradientColor=none;shape=stencil(vVHLDsIgEPwajiQI6RfU+h8bu22JCGRB2/69kG1iazx58DazM/vIjjBtmiCi0CplCjecbZ8nYc5Ca+snJJsLEqYTph0C4Ujh4XvmEaqzont41gkL96naodXKrGF6YSfQtUi0OXXDVlqPfJNP6usotUhYbJIUMmQb/GGrAxpRljVycDBuc1hKM2LclX8/7H9nFfB+82Cd45T2+mcspcSRmu4F);strokeColor=#FFFFFF;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="399" y="38" width="24" height="24" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="<div style="font-size: 1px"><p style="text-align:left;margin-left:0;margin-right:0;margin-top:0px;margin-bottom:0px;text-indent:0;vertical-align:middle;direction:ltr;"><font style="font-size:16.93px;font-family:Oracle Sans;color:#FFFFFF;direction:ltr;letter-spacing:0px;line-height:120%;opacity:1"><b>3<br/></b></font></p></div>" tags="Background" id="36">
|
||||
<mxCell style="verticalAlign=middle;align=left;overflow=width;vsdxID=47;fillColor=none;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="406" y="41" width="16" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="" tags="Background" id="37">
|
||||
<mxCell style="vsdxID=49;fillColor=#70665e;gradientColor=none;shape=stencil(vVHLDsIgEPwajiQI6RfU+h8bu22JCGRB2/69kG1iazx58DazM/vIjjBtmiCi0CplCjecbZ8nYc5Ca+snJJsLEqYTph0C4Ujh4XvmEaqzont41gkL96naodXKrGF6YSfQtUi0OXXDVlqPfJNP6usotUhYbJIUMmQb/GGrAxpRljVycDBuc1hKM2LclX8/7H9nFfB+82Cd45T2+mcspcSRmu4F);strokeColor=#FFFFFF;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="399" y="199" width="24" height="24" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
<UserObject label="<div style="font-size: 1px"><p style="text-align:left;margin-left:0;margin-right:0;margin-top:0px;margin-bottom:0px;text-indent:0;vertical-align:middle;direction:ltr;"><font style="font-size:16.93px;font-family:Oracle Sans;color:#FFFFFF;direction:ltr;letter-spacing:0px;line-height:120%;opacity:1"><b>4<br/></b></font></p></div>" tags="Background" id="38">
|
||||
<mxCell style="verticalAlign=middle;align=left;overflow=width;vsdxID=50;fillColor=none;gradientColor=none;shape=stencil(nZBLDoAgDERP0z3SIyjew0SURgSD+Lu9kMZoXLhwN9O+tukAlrNpJg1SzDH4QW/URgNYgZTkjA4UkwJUgGXng+6DX1zLfmoymdXo17xh5zmRJ6Q42BWCfc2oJfdAr+Yv+AP9Cb7OJ3H/2JG1HNGz/84klThPVCc=);strokeColor=none;spacingTop=-3;spacingBottom=-3;spacingLeft=-3;spacingRight=-3;points=[];labelBackgroundColor=none;rounded=0;html=1;whiteSpace=wrap;" parent="1" vertex="1">
|
||||
<mxGeometry x="405" y="202" width="16" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
</UserObject>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
@@ -0,0 +1,70 @@
|
||||
<svg width="616" height="312" viewBox="0 0 616 312" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="logical-architecture-diagram">
|
||||
<rect width="616" height="312" fill="white"/>
|
||||
<g id="OCI Section Boxes">
|
||||
<rect x="0.5" y="0.5" width="255" height="311" rx="3.5" fill="#F5F4F2"/>
|
||||
<rect x="0.5" y="0.5" width="255" height="311" rx="3.5" stroke="#9E9892"/>
|
||||
<text id="On-premises" fill="#312D2A" xml:space="preserve" style="white-space: pre" font-family="Oracle Sans" font-size="16" font-weight="bold" letter-spacing="0em"><tspan x="31.3828" y="21.816">On-Premises Data Center</tspan></text>
|
||||
</g>
|
||||
<g id="Azure Cloud boxes">
|
||||
<rect x="360.5" y="0.5" width="255" height="311" rx="3.5" fill="#ECF3FB"/>
|
||||
<rect x="360.5" y="0.5" width="255" height="311" rx="3.5" stroke="#0078D7"/>
|
||||
<text id="Azure Region" fill="#312D2A" xml:space="preserve" style="white-space: pre" font-family="Oracle Sans" font-size="16" font-weight="bold" letter-spacing="0em"><tspan x="441.594" y="21.816">Azure Cloud</tspan></text>
|
||||
</g>
|
||||
<g id="Logical Components">
|
||||
<rect x="8.5" y="48.5" width="239" height="99" rx="3.5" fill="white"/>
|
||||
<rect x="8.5" y="48.5" width="239" height="99" rx="3.5" stroke="#C74634"/>
|
||||
<text id="Oracle" fill="#312D2A" xml:space="preserve" style="white-space: pre" font-family="Oracle Sans" font-size="16" letter-spacing="0em"><tspan x="81.0078" y="95.816">On-Premises</tspan></text>
|
||||
<text id="On-Premises Component" fill="#312D2A" xml:space="preserve" style="white-space: pre" font-family="Oracle Sans" font-size="16" letter-spacing="0em"><tspan x="99.4766" y="111.816">Primary</tspan></text>
|
||||
</g>
|
||||
<g id="Logical Components_2">
|
||||
<rect x="8.5" y="200.5" width="239" height="99" rx="3.5" fill="white"/>
|
||||
<rect x="8.5" y="200.5" width="239" height="99" rx="3.5" stroke="#C74634"/>
|
||||
<text id="Oracle_2" fill="#312D2A" xml:space="preserve" style="white-space: pre" font-family="Oracle Sans" font-size="16" letter-spacing="0em"><tspan x="81.0078" y="247.816">On-Premises</tspan></text>
|
||||
<text id="On-Premises Component_2" fill="#312D2A" xml:space="preserve" style="white-space: pre" font-family="Oracle Sans" font-size="16" letter-spacing="0em"><tspan x="98.2266" y="263.816">Standby</tspan></text>
|
||||
</g>
|
||||
<g id="Logical Components_3">
|
||||
<rect x="368.5" y="48.5" width="239" height="99" rx="3.5" fill="white"/>
|
||||
<rect x="368.5" y="48.5" width="239" height="99" rx="3.5" stroke="#5F7D4F"/>
|
||||
<text id="3rd Party" fill="#312D2A" xml:space="preserve" style="white-space: pre" font-family="Oracle Sans" font-size="16" letter-spacing="0em"><tspan x="467.031" y="95.816">Azure</tspan></text>
|
||||
<text id="(non-OCI)" fill="#312D2A" xml:space="preserve" style="white-space: pre" font-family="Oracle Sans" font-size="16" letter-spacing="0em"><tspan x="459.477" y="111.816">Primary</tspan></text>
|
||||
</g>
|
||||
<g id="Logical Components_4">
|
||||
<rect x="368.5" y="200.5" width="239" height="99" rx="3.5" fill="white"/>
|
||||
<rect x="368.5" y="200.5" width="239" height="99" rx="3.5" stroke="#5F7D4F"/>
|
||||
<text id="3rd Party_2" fill="#312D2A" xml:space="preserve" style="white-space: pre" font-family="Oracle Sans" font-size="16" letter-spacing="0em"><tspan x="467.031" y="247.816">Azure</tspan></text>
|
||||
<text id="(non-OCI)_2" fill="#312D2A" xml:space="preserve" style="white-space: pre" font-family="Oracle Sans" font-size="16" letter-spacing="0em"><tspan x="458.227" y="263.816">Standby</tspan></text>
|
||||
</g>
|
||||
<path id="Vector 79" d="M368.707 96.7071C369.098 96.3166 369.098 95.6834 368.707 95.2929L362.343 88.9289C361.953 88.5384 361.319 88.5384 360.929 88.9289C360.538 89.3195 360.538 89.9526 360.929 90.3432L366.586 96L360.929 101.657C360.538 102.047 360.538 102.681 360.929 103.071C361.319 103.462 361.953 103.462 362.343 103.071L368.707 96.7071ZM248 97L368 97L368 95L248 95L248 97Z" fill="#312D2A"/>
|
||||
<path id="Vector 80" d="M487.293 200.707C487.683 201.098 488.317 201.098 488.707 200.707L495.071 194.343C495.462 193.953 495.462 193.319 495.071 192.929C494.681 192.538 494.047 192.538 493.657 192.929L488 198.586L482.343 192.929C481.953 192.538 481.319 192.538 480.929 192.929C480.538 193.319 480.538 193.953 480.929 194.343L487.293 200.707ZM487 148L487 200L489 200L489 148L487 148Z" fill="#312D2A"/>
|
||||
<g id="Connector Line Label">
|
||||
<rect width="55" height="14" transform="translate(281 89)" fill="white"/>
|
||||
<text id="Line Label" fill="#312D2A" xml:space="preserve" style="white-space: pre" font-family="Oracle Sans" font-size="14" letter-spacing="0em"><tspan x="285.101" y="101.089">Phase 1</tspan></text>
|
||||
</g>
|
||||
<g id="Connector Line Label_2">
|
||||
<rect width="57" height="14" transform="translate(459.5 165)" fill="#ECF3FB"/>
|
||||
<text id="Line Label_2" fill="#312D2A" xml:space="preserve" style="white-space: pre" font-family="Oracle Sans" font-size="14" letter-spacing="0em"><tspan x="463.555" y="177.089">Phase 2</tspan></text>
|
||||
</g>
|
||||
<g id="Numbered circle">
|
||||
<circle id="Ellipse 269" cx="29" cy="48" r="11.5" fill="#70665E" stroke="white"/>
|
||||
<text id="1" fill="white" xml:space="preserve" style="white-space: pre" font-family="Oracle Sans" font-size="16" font-weight="bold" letter-spacing="0em"><tspan x="25.2031" y="53.816">1</tspan></text>
|
||||
</g>
|
||||
<g id="Numbered circle_2">
|
||||
<circle id="Ellipse 269_2" cx="29" cy="200" r="11.5" fill="#70665E" stroke="white"/>
|
||||
<text id="1_2" fill="white" xml:space="preserve" style="white-space: pre" font-family="Oracle Sans" font-size="16" font-weight="bold" letter-spacing="0em"><tspan x="24.2891" y="205.816">2</tspan></text>
|
||||
</g>
|
||||
<g id="Numbered circle_3">
|
||||
<circle id="Ellipse 269_3" cx="389" cy="48" r="11.5" fill="#70665E" stroke="white"/>
|
||||
<text id="1_3" fill="white" xml:space="preserve" style="white-space: pre" font-family="Oracle Sans" font-size="16" font-weight="bold" letter-spacing="0em"><tspan x="384.219" y="53.816">3</tspan></text>
|
||||
</g>
|
||||
<g id="Numbered circle_4">
|
||||
<circle id="Ellipse 269_4" cx="389" cy="200" r="11.5" fill="#70665E" stroke="white"/>
|
||||
<text id="1_4" fill="white" xml:space="preserve" style="white-space: pre" font-family="Oracle Sans" font-size="16" font-weight="bold" letter-spacing="0em"><tspan x="383.422" y="205.816">4</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_18723_2592">
|
||||
<rect width="616" height="312" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.0 KiB |
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 193 KiB |
Binary file not shown.
@@ -0,0 +1,9 @@
|
||||
The diagram you downloaded is available in these formats:
|
||||
- DRAWIO
|
||||
- SVG
|
||||
|
||||
You can customize them for your organization using the associated tools:
|
||||
- For DRAWIO format, use draw.io for Confluence, online at diagrams.net, or the desktop app. Go to diagrams.net for more information.
|
||||
- For SVG format, use an SVG editor such as Inkscape or Sketsa SVG Editor, which are free and available for Windows, macOS, Linux.
|
||||
|
||||
Note that all diagram components are ungrouped and in a single layer.
|
||||
Reference in New Issue
Block a user