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
1-3 2 Microservices Architecture Explained

1-3 2 Microservices Architecture Explained

Key Concepts

1. Microservices

Microservices architecture breaks down an application into smaller, independent services that can be developed, deployed, and scaled independently. Each microservice focuses on a single business capability and communicates with other microservices through well-defined APIs.

Example: Consider an e-commerce platform. Instead of having a monolithic application, you can break it down into microservices for user authentication, product catalog, shopping cart, and payment processing. Each microservice can be developed and scaled independently.

2. Service Discovery

Service Discovery is the process of automatically detecting and locating services within a microservices architecture. It allows microservices to find and communicate with each other without hardcoding IP addresses or hostnames.

Example: In a microservices environment, a user authentication service needs to communicate with a user profile service. Service Discovery tools like Consul or Eureka can automatically detect the location of the user profile service, allowing seamless communication.

3. API Gateway

An API Gateway acts as a single entry point for all client requests to the microservices. It routes requests to the appropriate microservices, handles cross-cutting concerns like authentication and rate limiting, and aggregates responses from multiple microservices.

Example: When a user accesses the product catalog on an e-commerce platform, the API Gateway receives the request, authenticates the user, and routes the request to the product catalog microservice. It then aggregates the response and sends it back to the user.

4. Load Balancing

Load Balancing distributes incoming network traffic across multiple instances of a microservice to ensure high availability and optimal resource utilization. It prevents any single instance from becoming a bottleneck and improves overall performance.

Example: If the product catalog microservice has multiple instances running, a load balancer can distribute incoming requests evenly across these instances, ensuring that no single instance is overwhelmed and all requests are handled efficiently.

5. Fault Tolerance

Fault Tolerance ensures that a microservices architecture can continue operating even when one or more services fail. Techniques like circuit breakers, retries, and fallback mechanisms help maintain system stability and prevent cascading failures.

Example: If the payment processing microservice experiences a temporary failure, a circuit breaker can detect this and temporarily route requests to a fallback service. Once the payment processing service recovers, the circuit breaker can re-enable traffic to it.

6. Scalability

Scalability in microservices architecture allows services to be scaled independently based on demand. This ensures that resources are allocated efficiently and performance is maintained even under varying loads.

Example: During a sale, the shopping cart microservice may experience a surge in traffic. By scaling this microservice horizontally (adding more instances), you can handle the increased load without affecting the performance of other microservices.

By understanding and implementing these concepts, you can design a robust and scalable microservices architecture that meets the demands of modern applications.