Oracle Cloud Infrastructure 2021 Certified Architect Professional
1 Oracle Cloud Infrastructure (OCI) Architecture
1-1 OCI Overview
1-1 1 OCI Core Services
1-1 2 OCI Regions and Availability Domains
1-1 3 OCI Tenancy Structure
1-1 4 OCI Identity and Access Management (IAM)
1-1 5 OCI Networking
1-1 6 OCI Compute Services
1-1 7 OCI Storage Services
1-1 8 OCI Database Services
1-1 9 OCI Security Services
1-1 10 OCI Monitoring and Management
1-2 OCI Architecture Best Practices
1-2 1 Designing for High Availability
1-2 2 Designing for Disaster Recovery
1-2 3 Designing for Scalability
1-2 4 Designing for Security
1-2 5 Designing for Cost Optimization
1-2 6 Designing for Compliance
1-3 OCI Architecture Patterns
1-3 1 Multi-Tier Application Architecture
1-3 2 Microservices Architecture
1-3 3 Serverless Architecture
1-3 4 Hybrid Cloud Architecture
1-3 5 Data Lake Architecture
1-3 6 Big Data Architecture
1-3 7 Machine Learning Architecture
2 OCI Identity and Access Management (IAM)
2-1 IAM Overview
2-1 1 IAM Components
2-1 2 IAM Policies
2-1 3 IAM Groups and Users
2-1 4 IAM Dynamic Groups
2-1 5 IAM Federation
2-1 6 IAM Authentication and Authorization
2-2 IAM Best Practices
2-2 1 Least Privilege Principle
2-2 2 Role-Based Access Control (RBAC)
2-2 3 Multi-Factor Authentication (MFA)
2-2 4 IAM Policy Management
2-2 5 IAM Monitoring and Auditing
3 OCI Networking
3-1 Networking Overview
3-1 1 Virtual Cloud Networks (VCNs)
3-1 2 Subnets
3-1 3 Route Tables
3-1 4 Security Lists
3-1 5 Network Security Groups (NSGs)
3-1 6 Internet Gateways
3-1 7 NAT Gateways
3-1 8 Service Gateways
3-1 9 Dynamic Routing Gateways (DRGs)
3-1 10 FastConnect
3-1 11 Load Balancers
3-2 Networking Best Practices
3-2 1 Designing for Network Segmentation
3-2 2 Designing for Network Security
3-2 3 Designing for Network Performance
3-2 4 Designing for Network Scalability
3-2 5 Designing for Network Resilience
4 OCI Compute Services
4-1 Compute Services Overview
4-1 1 Compute Instances
4-1 2 Instance Pools
4-1 3 Autoscaling
4-1 4 Dedicated Virtual Machines (VMs)
4-1 5 Bare Metal Instances
4-1 6 Oracle Container Engine for Kubernetes (OKE)
4-1 7 Oracle Functions
4-1 8 Oracle Cloud Shell
4-2 Compute Services Best Practices
4-2 1 Designing for Compute Scalability
4-2 2 Designing for Compute Security
4-2 3 Designing for Compute Cost Optimization
4-2 4 Designing for Compute Resilience
4-2 5 Designing for Compute Performance
5 OCI Storage Services
5-1 Storage Services Overview
5-1 1 Block Volume
5-1 2 Object Storage
5-1 3 File Storage
5-1 4 Archive Storage
5-1 5 Data Transfer
5-1 6 Storage Gateway
5-2 Storage Services Best Practices
5-2 1 Designing for Storage Scalability
5-2 2 Designing for Storage Security
5-2 3 Designing for Storage Cost Optimization
5-2 4 Designing for Storage Resilience
5-2 5 Designing for Storage Performance
6 OCI Database Services
6-1 Database Services Overview
6-1 1 Autonomous Database
6-1 2 Oracle Database Cloud Service
6-1 3 MySQL Database Service
6-1 4 NoSQL Database
6-1 5 Exadata Cloud Service
6-2 Database Services Best Practices
6-2 1 Designing for Database Scalability
6-2 2 Designing for Database Security
6-2 3 Designing for Database Cost Optimization
6-2 4 Designing for Database Resilience
6-2 5 Designing for Database Performance
7 OCI Security Services
7-1 Security Services Overview
7-1 1 Key Management Service (KMS)
7-1 2 Vault
7-1 3 Web Application Firewall (WAF)
7-1 4 Cloud Guard
7-1 5 Vulnerability Scanning
7-1 6 Bastion Service
7-2 Security Services Best Practices
7-2 1 Designing for Data Encryption
7-2 2 Designing for Network Security
7-2 3 Designing for Identity and Access Management
7-2 4 Designing for Security Monitoring and Response
7-2 5 Designing for Compliance and Governance
8 OCI Monitoring and Management
8-1 Monitoring and Management Overview
8-1 1 Monitoring
8-1 2 Logging
8-1 3 Notifications
8-1 4 Events
8-1 5 Resource Manager
8-1 6 Service Connector Hub
8-1 7 Application Performance Monitoring (APM)
8-2 Monitoring and Management Best Practices
8-2 1 Designing for Monitoring and Alerting
8-2 2 Designing for Logging and Analytics
8-2 3 Designing for Automation and Orchestration
8-2 4 Designing for Performance Tuning
8-2 5 Designing for Cost Management
9 OCI Integration and API Management
9-1 Integration and API Management Overview
9-1 1 Oracle Integration Cloud (OIC)
9-1 2 API Gateway
9-1 3 API Management
9-1 4 Streaming
9-1 5 Notifications
9-2 Integration and API Management Best Practices
9-2 1 Designing for Integration Scalability
9-2 2 Designing for API Security
9-2 3 Designing for API Performance
9-2 4 Designing for API Governance
9-2 5 Designing for Event-Driven Architecture
10 OCI DevOps and Continuous Delivery
10-1 DevOps and Continuous Delivery Overview
10-1 1 Oracle Cloud DevOps
10-1 2 Oracle Cloud Build
10-1 3 Oracle Cloud Deploy
10-1 4 Oracle Cloud Pipelines
10-1 5 Oracle Cloud Artifacts
10-1 6 Oracle Cloud Code Repository
10-2 DevOps and Continuous Delivery Best Practices
10-2 1 Designing for Continuous Integration
10-2 2 Designing for Continuous Delivery
10-2 3 Designing for Infrastructure as Code (IaC)
10-2 4 Designing for Automated Testing
10-2 5 Designing for Release Management
11 OCI Governance and Compliance
11-1 Governance and Compliance Overview
11-1 1 Oracle Cloud Governance
11-1 2 Oracle Cloud Compliance
11-1 3 Oracle Cloud Policies
11-1 4 Oracle Cloud Tagging
11-1 5 Oracle Cloud Cost Management
11-2 Governance and Compliance Best Practices
11-2 1 Designing for Policy Enforcement
11-2 2 Designing for Resource Tagging
11-2 3 Designing for Cost Tracking
11-2 4 Designing for Audit and Compliance
11-2 5 Designing for Governance Automation
12 OCI Advanced Topics
12-1 Advanced Topics Overview
12-1 1 Oracle Cloud Native Services
12-1 2 Oracle Cloud AI and Machine Learning
12-1 3 Oracle Cloud Blockchain
12-1 4 Oracle Cloud IoT
12-1 5 Oracle Cloud Analytics
12-2 Advanced Topics Best Practices
12-2 1 Designing for Cloud Native Applications
12-2 2 Designing for AI and Machine Learning
12-2 3 Designing for Blockchain
12-2 4 Designing for IoT
12-2 5 Designing for Analytics
4-1-3 Autoscaling Explained

4-1-3 Autoscaling Explained

Key Concepts

1. Autoscaling

Autoscaling is the process of automatically adjusting the number of resources (such as instances) based on demand. This ensures that your application can handle varying levels of traffic without manual intervention, improving both performance and cost-efficiency.

Example: Think of a smart thermostat that adjusts the heating and cooling based on the room's temperature. Similarly, autoscaling adjusts the number of instances based on traffic demand.

2. Scaling Policies

Scaling Policies define the conditions under which autoscaling should add or remove resources. These policies are based on metrics such as CPU utilization, memory usage, or custom metrics, and specify the thresholds that trigger scaling actions.

Example: Imagine a traffic light system that controls the flow of cars based on the number of vehicles waiting at the intersection. Scaling policies work similarly by controlling the number of instances based on predefined conditions.

3. Metrics and Thresholds

Metrics are the data points used to determine when to scale, such as CPU utilization or network traffic. Thresholds are the specific values that trigger scaling actions. For example, if CPU utilization exceeds 80%, the autoscaling policy might add more instances.

Example: Consider a water level sensor in a tank. When the water level reaches a certain threshold, a pump is activated to add more water. Metrics and thresholds in autoscaling work similarly to monitor and respond to resource usage.

4. Cool-down Periods

Cool-down Periods are intervals during which autoscaling will not trigger new scaling actions after a previous action has been taken. This prevents rapid, unnecessary scaling that could destabilize the system.

Example: Think of a cooling-off period after a heated argument, where both parties need time to calm down before making further decisions. Cool-down periods in autoscaling provide stability by preventing immediate, repeated scaling actions.

5. Horizontal Scaling

Horizontal Scaling involves adding more machines or instances to your network to distribute the load. This method is effective for handling increased traffic and improving fault tolerance by reducing the impact of a single point of failure.

Example: If your website experiences a surge in traffic, you can add more web servers to handle the load, similar to adding more cash registers in a store to reduce customer wait times.

6. Vertical Scaling

Vertical Scaling involves increasing the capacity of existing machines or instances by adding more resources, such as CPU, memory, or storage. This method is useful for applications that require more processing power or storage but does not inherently improve fault tolerance.

Example: Upgrading a single powerful server with more RAM and CPU cores to handle more complex computations, akin to upgrading a single workstation with a faster processor and more memory.