OCI Architect Professional - Advanced Architecture Patterns¶
Table of Contents¶
- Multi-Region Architecture
- Hybrid Cloud Patterns
- High Availability and DR
- Migration Strategies
- Performance at Scale
- Exam Tips
Multi-Region Architecture¶
Global Application Design¶
Active-Active Multi-Region:
Global Users
β
Traffic Manager (DNS-based routing)
βββ Region 1 (us-phoenix-1): 50% traffic
β βββ Load Balancer
β βββ Application Tier (scaled)
β βββ Database (Primary)
β βββ Object Storage (replicated)
β
βββ Region 2 (us-ashburn-1): 50% traffic
βββ Load Balancer
βββ Application Tier (scaled)
βββ Database (Primary)
βββ Object Storage (replicated)
Traffic Management Policies: - Geolocation: Route based on user location - Performance: Route to fastest responding region - Failover: Automatic region failover on health check failure - Load Balance: Distribute across regions
Database Replication Strategies:
GoldenGate for Multi-Master:
Region 1 Database ββ GoldenGate ββ Region 2 Database
β Bi-directional replication β
Conflict resolution via timestamp/priority
Autonomous Data Guard Cross-Region:
Primary ADB (Region 1)
β Async replication
Standby ADB (Region 2)
Data Sovereignty and Compliance¶
Region-Specific Data Isolation:
EU Users
β
EU Region (Frankfurt): GDPR-compliant
βββ EU customer data (stays in EU)
βββ Encryption with EU-based keys
βββ Audit logs in EU region
US Users
β
US Region (Phoenix): US compliance
βββ US customer data (stays in US)
βββ Encryption with US-based keys
βββ Audit logs in US region
Cross-Region Data Transfer Controls:
# Restrict data replication based on tags
resource "oci_objectstorage_replication_policy" "gdpr_compliant" {
bucket = "customer-data-eu"
name = "no-cross-region"
# Only replicate within EU regions
destination_region_name = "eu-amsterdam-1" # Not to US regions
destination_bucket_name = "customer-data-eu-dr"
}
Hybrid Cloud Patterns¶
Advanced FastConnect Design¶
Multi-Circuit Redundancy:
Corporate Data Center
βββ Router 1
β βββ FastConnect 1 β DRG β VCN-Production
β βββ FastConnect 2 β DRG β VCN-Production
βββ Router 2
βββ FastConnect 3 β DRG β VCN-Production
βββ VPN (Backup) β DRG β VCN-Production
DRG v2 Advanced Routing:
# Custom route distribution
resource "oci_core_drg_route_distribution" "custom" {
drg_id = oci_core_drg.hub.id
distribution_type = "IMPORT"
# Import specific routes
statements {
priority = 1
action = "ACCEPT"
match_criteria {
match_type = "DRG_ATTACHMENT_ID"
drg_attachment_id = oci_core_drg_attachment.vcn1.id
}
}
}
# Custom route table for VCNs
resource "oci_core_drg_route_table" "vcn_routes" {
drg_id = oci_core_drg.hub.id
import_drg_route_distribution_id = oci_core_drg_route_distribution.custom.id
}
Cloud@Customer Integration¶
Exadata Cloud@Customer:
Customer Data Center
βββ Exadata Cloud@Customer
β βββ Managed by Oracle (fully patched)
β βββ API compatible with OCI Exadata
β βββ Same tooling as OCI
βββ Connection to OCI Public Cloud
βββ Private FastConnect
βββ Hybrid workload distribution
Use Cases: - Data residency requirements (must stay on-premises) - Low-latency database access - Gradual cloud migration - Regulatory compliance
Multi-Cloud Integration¶
OCI + Azure Integration:
OCI (Phoenix) Azure (East US)
βββ VCN: 10.0.0.0/16 ββ VNet: 10.1.0.0/16
βββ FastConnect β ExpressRoute
βββ Applications β Applications
β β
Shared Data Layer
(replicated databases)
Oracle Interconnect for Azure: - Dedicated, low-latency connection - <2ms latency between clouds - Use OCI database with Azure applications - No internet transit
High Availability and DR¶
Maximum Availability Architecture (MAA)¶
Platinum MAA Design:
Production Region (Phoenix)
βββ RAC Database (2+ nodes)
β βββ Active Data Guard to Standby
β βββ Far Sync for zero data loss
β βββ Flashback Database enabled
βββ Application Tier
β βββ 3+ ADs with autoscaling
β βββ Regional load balancer
β βββ Instance pools (9+ instances)
βββ Storage
βββ Block Volume: Cross-AD replication
βββ Object Storage: Cross-region replication
βββ File Storage: Snapshots every hour
DR Region (Ashburn)
βββ Standby Database (Active Data Guard)
β βββ Read-only queries allowed
β βββ Automatic failover <30s
βββ Application Tier
β βββ Scaled-down (30% capacity)
β βββ Auto-scale on failover trigger
βββ Storage (replicated from primary)
Zero Data Loss Architecture:
Primary DB ββ Far Sync Instance ββ Standby DB
(Phoenix) (LA or Denver) (Ashburn)
β β
Synchronous Combined: Asynchronous
(Zero loss) Zero data loss (Performance)
Chaos Engineering¶
Resilience Testing Patterns:
Availability Domain Failure Simulation:
# Simulate AD failure
def simulate_ad_failure(ad_name):
instances = get_instances_in_ad(ad_name)
for instance in instances:
# Stop all instances in AD
compute_client.instance_action(
instance.id,
action="STOP"
)
# Verify:
# - Load balancer removes unhealthy backends
# - Traffic routes to remaining ADs
# - Alarms fire correctly
# - Auto-scaling compensates
Database Failover Drill:
# Scheduled monthly DR drill
# 1. Initiate failover
oci db data-guard-association failover \
--database-id $STANDBY_DB_ID \
--database-admin-password $ADMIN_PASS
# 2. Update DNS
oci dns record update \
--zone-name example.com \
--domain app.example.com \
--rdata $DR_LB_IP
# 3. Verify application functionality
# 4. Document RTO/RPO actuals
# 5. Reinstate original primary as new standby
Migration Strategies¶
Assessment and Planning¶
Migration Complexity Matrix: | Workload Type | Complexity | Strategy | Tools | |---------------|------------|----------|-------| | Stateless Web Apps | Low | Lift-and-Shift | Rackware, Custom Scripts | | Databases (Oracle) | Medium | Replatform | Data Guard, GoldenGate | | Legacy Apps | High | Refactor | Containerize, Modernize | | Data Warehouses | Medium | Rebuild | ADW, Data Integration |
Database Migration¶
Zero-Downtime Oracle Migration:
Source Database (On-Premises)
β
GoldenGate Replication βββ Target (OCI DB System)
β β
Keep in sync Apply changes real-time
β β
Cutover: Switch application connection string
Steps:
# 1. Setup OCI target database
oci db system launch \
--db-version "19.0.0.0" \
--db-edition "ENTERPRISE_EDITION_EXTREME_PERFORMANCE"
# 2. Configure GoldenGate
# - Install GoldenGate on source
# - Install GoldenGate on target
# - Configure Extract (source)
# - Configure Replicat (target)
# 3. Initial data load
expdp user/pass DIRECTORY=dp_dir DUMPFILE=initial.dmp
# 4. Start replication
GGSCI> START EXTRACT ext_prod
GGSCI> START REPLICAT rep_prod
# 5. Monitor lag
GGSCI> INFO EXTRACT ext_prod, DETAIL
# 6. Cutover (when lag < 1 minute)
# - Stop application
# - Verify replication caught up
# - Update connection strings
# - Start application on OCI
Autonomous Database Migration:
# Using Data Pump
# 1. Export from source
expdp admin/pass@sourcedb \
DIRECTORY=dump_dir \
DUMPFILE=prod_export.dmp \
FULL=Y
# 2. Upload to Object Storage
oci os object put \
--bucket-name migrations \
--file prod_export.dmp
# 3. Import to Autonomous Database
# Create credential
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'OBJ_STORE_CRED',
username => 'tenancy/user',
password => 'auth_token'
);
END;
# Import data
BEGIN
DBMS_CLOUD.DATA_PUMP(
operation => 'IMPORT',
credential_name => 'OBJ_STORE_CRED',
file_uri_list => 'https://objectstorage.../prod_export.dmp',
format => json_object('schema' value 'PRODSCHEMA')
);
END;
Application Migration Patterns¶
Lift-and-Shift:
On-Premises VM
β Convert to OCI-compatible image
OCI Custom Image
β Deploy
OCI Compute Instance
Replatform (Containers):
Traditional App on VMs
β Containerize
Docker Images
β Deploy to
OKE (Kubernetes)
β Benefits
- Auto-scaling
- Self-healing
- Easier updates
Refactor (Cloud-Native):
Monolithic Application
β Break into
Microservices
β Deploy as
- API Gateway (entry point)
- Functions (serverless logic)
- Container Engine (stateful services)
- Autonomous Database (data layer)
- Object Storage (static content)
Performance at Scale¶
Global-Scale Architecture¶
CDN Integration:
Global Users
β
CloudFlare/Akamai CDN
βββ Cache static content
βββ DDoS protection
βββ SSL termination
β
OCI Load Balancer
β
Origin Servers (OCI)
API Performance:
API Gateway
βββ Rate Limiting (per client)
βββ Response Caching
βββ Request/Response transformation
βββ Authentication offload
β
Backend Services
βββ Connection pooling
βββ Async processing (Queue/Stream)
βββ Database connection optimization
Database Performance Optimization¶
Autonomous Database Tuning:
-- Auto-scaling monitors and adjusts
-- Automatic indexing
-- Automatic SQL tuning
-- Monitor performance
SELECT sql_id, cpu_time, elapsed_time, executions
FROM v$sql
WHERE cpu_time > 1000000
ORDER BY cpu_time DESC;
-- Real-time monitoring
SELECT * FROM v$active_session_history
WHERE sample_time > SYSDATE - INTERVAL '15' MINUTE
ORDER BY sample_time DESC;
RAC Performance:
Connection Load Balancing:
- Use SCAN (Single Client Access Name)
- Automatic workload distribution
- Runtime connection balancing
Service-Based Routing:
- OLTP service β Node 1, 2
- Reporting service β Node 3
- Batch service β Node 4
Compute Performance at Scale¶
HPC Cluster Design:
HPC Cluster Network
βββ RDMA Cluster Network (100 Gbps)
βββ BM.HPC instances
β βββ Node 1-16: Compute nodes
β βββ Node 17: Head node
βββ NFS shared storage
βββ File Storage (persistent)
βββ Block Volume (high IOPS)
Container Performance:
OKE Optimization:
βββ Node Pools per workload type
β βββ Compute-intensive: E4.Flex
β βββ Memory-intensive: E4.Flex (high RAM)
β βββ GPU workloads: GPU shapes
βββ Pod anti-affinity rules
βββ Resource requests/limits
βββ Horizontal Pod Autoscaler
Network Performance¶
Maximum Throughput Design:
FastConnect (10 Gbps)
β
DRG
βββ VCN 1 (Production)
β βββ BM.Standard.E4.128 (2x 50 Gbps NICs)
βββ VCN 2 (Analytics)
β βββ BM.Standard.E4.128
βββ VCN 3 (Development)
Load Balancer Optimization:
resource "oci_load_balancer_load_balancer" "high_performance" {
shape = "flexible"
shape_details {
minimum_bandwidth_in_mbps = 1000 # 1 Gbps
maximum_bandwidth_in_mbps = 8000 # 8 Gbps
}
# Connection settings
# Idle timeout for persistent connections
# Enable HTTP/2 for multiplexing
}
Exam Tips¶
Critical Concepts¶
Multi-Region: - Active-Active for global performance - Traffic Manager for DNS-based routing - Cross-region database replication (GoldenGate, Data Guard) - Data sovereignty considerations
Hybrid: - FastConnect for private connectivity - DRG v2 for advanced routing - Cloud@Customer for data residency - Multi-cloud integration (Azure Interconnect)
HA/DR: - MAA for maximum availability - Zero data loss with Far Sync - Chaos engineering for validation - Automated failover procedures
Migration: - Assessment first (complexity matrix) - Zero-downtime with GoldenGate - Lift-and-shift, replatform, or refactor - Validate performance post-migration
Performance: - CDN for global content delivery - HPC clusters for compute-intensive - Autonomous DB auto-tuning - Network optimization (FastConnect, shapes)
Common Scenarios¶
Q: Global application, <50ms latency worldwide? A: Multi-region active-active + CDN + geolocation routing
Q: Zero data loss DR requirement? A: Data Guard with Far Sync + synchronous replication
Q: Migrate 50TB Oracle database with <1 hour downtime? A: GoldenGate replication + planned cutover
Q: On-premises data cannot leave country? A: Exadata Cloud@Customer or Dedicated Region
Q: 100,000 concurrent API requests? A: API Gateway + autoscaling instance pools + caching
Design Patterns¶
High Availability Checklist: - [ ] Multi-AD deployment - [ ] Load balancer with health checks - [ ] Database replication (Data Guard/RAC) - [ ] Auto-scaling configured - [ ] Monitoring and alerting - [ ] Automated failover tested
DR Checklist: - [ ] RPO/RTO defined - [ ] Cross-region replication - [ ] DR drills scheduled - [ ] Runbooks documented - [ ] Failover tested quarterly - [ ] Failback procedure validated
Summary¶
Multi-Region: Global scale, data sovereignty, active-active patterns
Hybrid: FastConnect, DRG v2, Cloud@Customer, multi-cloud
HA/DR: MAA, zero data loss, chaos engineering, automated failover
Migration: Assessment, zero-downtime, database migration tools
Performance: CDN, HPC, database tuning, network optimization
Next: Advanced Networking and Security