-
Notifications
You must be signed in to change notification settings - Fork 0
EN_CS_Cloud_Native
somaz edited this page Mar 30, 2026
·
1 revision
Question: Explain cloud-native 3-tier communication patterns on AWS and GCP. Also describe the differences between synchronous and asynchronous processing.
| Term | Description |
|---|---|
| VPC | Virtual Private Cloud — isolated virtual network in the cloud |
| PrivateLink | AWS service for private connectivity without internet |
| VPC Peering | Direct connection between VPCs |
| Private Access | GCP internal connectivity without internet |
| Synchronous | Tasks completed sequentially; each waits for the previous |
| Asynchronous | Tasks run independently in the background |
| Blocking | Execution waits until task is complete |
| Non-blocking | Execution continues without waiting |
User → Route 53 (DNS) → ALB / EKS Ingress → EKS Pod (App Server)
↓
VPC Networking (PrivateLink / VPC Peering)
↓
Amazon RDS/Aurora + ElastiCache (Redis)
| Layer | AWS Service | Role |
|---|---|---|
| Presentation | Amazon Route 53 | DNS resolution to ELB/EKS Ingress |
| Application | Amazon EKS + ELB | Route requests to Pods; handle business logic |
| Data | Amazon RDS/Aurora, ElastiCache | DB and Redis on private network |
- DB and Redis accessed via PrivateLink or VPC Peering — not exposed to internet
- EKS Pods connect securely through VPC networking
User → Cloud DNS → GKE Load Balancer / Ingress → GKE Pod (App Server)
↓
VPC Private Access
↓
Cloud SQL + Memorystore (Redis)
| Layer | GCP Service | Role |
|---|---|---|
| Presentation | Cloud DNS | Resolves domain to GKE Ingress IP |
| Application | GKE + Cloud Load Balancer | Routes and processes requests |
| Data | Cloud SQL, Memorystore | Private network DB and Redis |
- Services placed on private network via GCP Private Access
- Accessible only from within the cloud or via VPN
Tasks execute in order — each must complete before the next begins.
| Characteristic | Description |
|---|---|
| Blocking | Each task blocks subsequent tasks until complete |
| Linear Execution | Tasks run in the exact order they appear |
| Simplicity | Easy to program and debug |
| Use Cases | DB transactions, file I/O with dependent operations |
Tasks run independently — program continues without waiting.
| Characteristic | Description |
|---|---|
| Non-blocking | Tasks start and complete independently |
| Concurrent Execution | Multiple tasks processed in parallel |
| Complexity | Risk of race conditions and deadlocks |
| Use Cases | API requests, file uploads, long-running I/O |
| Use Synchronous | Use Asynchronous |
|---|---|
| Tasks must complete in a specific order | Tasks are independent |
| Each result is needed for the next task | Throughput and responsiveness matter |
| Simple, sequential workflows | Background processing needed |