Wednesday

Azure - Financial Services Application with RAG and AgenticAI

I would make the Azure version slightly more advanced than the AWS/GCP versions because Azure now has a particularly strong enterprise story around Microsoft Foundry + Agent 365 + Entra + Defender + Purview.

I also want to update two terms in your original architecture for interview accuracy:

  • Use “Microsoft Foundry” / “Microsoft Foundry Agent Service” rather than treating the older Azure AI Foundry naming as the whole platform.

  • “Agent 365” is now a real enterprise control plane for discovering, governing, securing and managing agents across Microsoft and third-party ecosystems. It became generally available for the commercial segment on May 1, 2026. (Microsoft Learn)

  • Azure API Management now has dedicated AI Gateway capabilities, including token quotas, semantic caching, model routing/governance and MCP management. The dedicated AI Gateway tier is currently preview, so for production architecture I would distinguish the generally available APIM AI-gateway capabilities from the preview tier. (Microsoft Learn)

  • Azure AI Search now also has “agentic retrieval” and underpins Foundry IQ, Microsoft's managed, permission-aware knowledge layer for agents. (Microsoft Learn)

1. Business scenario

We'll use exactly the same financial-services problem:

“Investigate why counterparty ABC breached its exposure limit yesterday and recommend what action should be taken.”

The solution needs:

                    FINANCIAL AI PLATFORM

        ┌────────────────────────────────────────┐
        │                                        │
        │  Unstructured Knowledge                │
        │  ├── Risk policies                     │
        │  ├── Regulatory documents              │
        │  ├── Credit policies                   │
        │  └── Procedures                        │
        │                                        │
        │  Structured Data                       │
        │  ├── Trades                            │
        │  ├── Exposure                          │
        │  ├── Limits                            │
        │  ├── P&L                               │
        │  └── Risk metrics                      │
        │                                        │
        │  Enterprise Tools                      │
        │  ├── Risk APIs                         │
        │  ├── Trade APIs                        │
        │  ├── Workflow                          │
        │  └── Microsoft 365                     │
        │                                        │
        └────────────────────────────────────────┘

This is therefore:

RAG
+
Agentic AI
+
Enterprise Data
+
Enterprise Tools
+
Security
+
Governance
+
Observability

2. Complete Azure architecture

                              USERS
                                │
                                ▼
                    ┌─────────────────────┐
                    │ Azure Application    │
                    │ Gateway + WAF        │
                    └──────────┬──────────┘
                               │
                         Azure Firewall
                        / Egress Control
                               │
                               ▼
                  ┌─────────────────────────┐
                  │ Azure App Service       │
                  │ / Container Apps / AKS  │
                  │                         │
                  │ API                     │
                  │ UI                      │
                  │ Orchestrator            │
                  └───────────┬─────────────┘
                              │
                              ▼
                 ┌──────────────────────────┐
                 │ Azure API Management     │
                 │ AI Gateway               │
                 │                          │
                 │ Auth                     │
                 │ Rate limits              │
                 │ Token quotas             │
                 │ Model routing            │
                 │ Semantic caching         │
                 │ Cost tracking            │
                 │ MCP governance           │
                 └────────────┬─────────────┘
                              │
                 ┌────────────┼──────────────┐
                 │            │              │
                 ▼            ▼              ▼
          Microsoft        Azure AI        Agent
          Foundry          Search          Tools
                 │            │              │
                 │            │              ├── Functions
                 │            │              ├── Logic Apps
                 │            │              ├── APIs
                 │            │              ├── SQL
                 │            │              └── MCP
                 │            │
                 ▼            ▼
          Foundry Models   RAG / Vector
          / Model Catalog   / Hybrid Search
                 │
                 ▼
           Foundry Agent
               Service
                 │
                 ▼
            Model Armor /
          Content Safety
                 │
                 ▼
          Human Approval
                 │
                 ▼
               USER

Security and governance wrap around the entire architecture:

Entra ID
   │
   ├── Identity
   ├── RBAC
   └── Managed Identity

Agent 365
   │
   ├── Agent inventory
   ├── Governance
   ├── Ownership
   ├── Lifecycle
   └── Risk controls

Defender
   │
   ├── Threat detection
   └── Runtime protection

Purview
   │
   ├── Data governance
   ├── Classification
   └── Compliance

Private Endpoints
   │
   └── Private connectivity

3. Perimeter

The request first hits:

Internet
   │
   ▼
Azure Application Gateway
   │
   ▼
WAF
   │
   ├── SQL injection
   ├── XSS
   ├── malicious payloads
   ├── IP rules
   └── HTTP attacks
   │
   ▼
Backend

For a larger global architecture I would consider:

Azure Front Door
        │
        ▼
Application Gateway
        │
        ▼
Regional workload

That gives:

Global traffic management
+
Regional ingress
+
WAF
+
Application routing

4. Compute layer

Your original proposal uses App Service.

That is perfectly reasonable for:

Frontend
REST APIs
Lightweight orchestration
Stateless services

But for a senior architect interview, explain the alternatives:

                    Azure Compute
                         │
          ┌──────────────┼──────────────┐
          ▼              ▼              ▼
     App Service    Container Apps     AKS
          │              │              │
       Simple          Serverless      Complex
       APIs            containers      Kubernetes

My decision:

App Service
   ↓
Simple enterprise web/API application

Container Apps
   ↓
Microservices + event-driven agents

AKS
   ↓
Complex Kubernetes platform,
GPU/custom models,
advanced scheduling

For our architecture:

Application Gateway
        │
        ▼
Azure Container Apps / App Service
        │
        ├── API
        ├── UI
        └── Orchestration

And use AKS only where justified.


5. Azure API Management as AI Gateway

This is one of the most important parts.

Do not allow:

App
 │
 ├────► Gemini
 ├────► Claude
 ├────► GPT
 └────► other models

Instead:

                 Applications
                      │
                      ▼
              Azure API Management
                    AI Gateway
                      │
          ┌───────────┼───────────┐
          │           │           │
       Security     Routing      Cost
          │           │           │
          ▼           ▼           ▼
        IAM       Model choice  Tokens
                      │
          ┌───────────┼───────────┐
          ▼           ▼           ▼
       Foundry      Azure       External
        Models      OpenAI       Models

Azure APIM's current AI gateway capabilities include token rate limiting, semantic caching, model routing/governance and support for model APIs from multiple providers. (Microsoft Learn)


6. Token governance

Imagine three departments:

Risk
Compliance
Research

Without a gateway:

Risk
  │
  └── consumes entire model quota

Compliance
  │
  └── 429 errors

Research
  │
  └── 429 errors

APIM solves this with token-aware policies.

Conceptually:

Risk
   │
   ▼
100K TPM

Compliance
   │
   ▼
50K TPM

Research
   │
   ▼
25K TPM

Azure API Management supports token limits based on consumers such as subscription keys or arbitrary policy keys. (Microsoft Learn)


7. Semantic caching

This is particularly useful for enterprise assistants.

User asks:

“What is the counterparty limit policy?”

Another user asks:

“What is the approved exposure limit policy for counterparties?”

The prompts aren't identical but may be semantically equivalent.

Instead of:

Request
 ↓
LLM
 ↓
expensive inference

we can have:

Request
 ↓
Semantic Cache
 │
 ├── HIT ──► cached response
 │
 └── MISS
       ↓
      LLM

Azure APIM supports semantic caching with Azure Managed Redis or another compatible external cache. (Microsoft Learn)


8. Microsoft Foundry

Now we reach the AI platform.

Conceptually:

                 Microsoft Foundry
                       │
       ┌───────────────┼────────────────┐
       │               │                │
       ▼               ▼                ▼
     Models          Agents          Evaluation
       │               │                │
       ▼               ▼                ▼
    Model Catalog   Agent Service     Testing

Foundry becomes the AI engineering platform.

The architecture is:

Developer
   │
   ▼
Foundry
   │
   ├── Model selection
   ├── Agent development
   ├── Tools
   ├── Evaluation
   ├── Deployment
   └── Monitoring

9. Foundry Agent Service

The agent receives:

"Investigate ABC exposure breach."

It can:

PLAN
 ↓
retrieve information
 ↓
call tools
 ↓
reason
 ↓
retrieve more information
 ↓
validate
 ↓
recommend action

Architecture:

                     USER
                       │
                       ▼
                Foundry Agent
                    Service
                       │
                 ┌─────┴─────┐
                 │   Planner │
                 └─────┬─────┘
                       │
        ┌──────────────┼──────────────┐
        ▼              ▼              ▼
      RAG            Tools          APIs
        │              │              │
        ▼              ▼              ▼
 AI Search        Functions      Enterprise
                                  systems

10. Agent state

Your original proposal uses Cosmos DB.

That's a good architectural choice.

                    Agent
                      │
                      ▼
                 Cosmos DB
                      │
       ┌──────────────┼──────────────┐
       ▼              ▼              ▼
 conversation      state          metadata
 history

Example:

{
  "conversation_id": "abc-123",
  "user_id": "u-987",
  "tenant_id": "bank-a",
  "agent": "risk-investigator",
  "state": {
    "counterparty": "ABC",
    "exposure": 125000000,
    "limit": 100000000,
    "breach": 25000000
  }
}

But I would separate:

Conversation state
       ↓
Cosmos DB

Financial source of truth
       ↓
PostgreSQL / Fabric / Databricks / core systems

Never make agent memory the financial system of record.


11. RAG

Now the knowledge layer.

Documents:

Azure Blob Storage
│
├── Credit Policy.pdf
├── Market Risk Policy.pdf
├── Counterparty Policy.pdf
├── Basel Regulations.pdf
└── Internal Procedures.pdf

Pipeline:

                 Blob Storage
                      │
                      ▼
                Azure AI Search
                      │
          ┌───────────┼───────────┐
          ▼           ▼           ▼
        Chunk       Embed       Metadata
          │           │           │
          └───────────┼───────────┘
                      ▼
                Search Index
                      │
           ┌──────────┼──────────┐
           ▼          ▼          ▼
        Keyword     Vector     Hybrid
        Search      Search     Search

Azure AI Search currently supports vector, keyword, hybrid and multimodal search. (Microsoft Learn)


12. Hybrid search

Don't rely exclusively on vector search.

For financial applications:

User:

"Find policy CR-1024 regarding
BBB- rated counterparties."

The exact identifier:

CR-1024

is better handled by lexical search.

But:

"What happens if the counterparty's
credit quality deteriorates?"

is better suited to semantic retrieval.

Therefore:

                 Query
                   │
          ┌────────┴────────┐
          ▼                 ▼
     Keyword Search    Vector Search
          │                 │
          └────────┬────────┘
                   ▼
             Hybrid ranking
                   │
                   ▼
             Top documents

Azure AI Search explicitly supports hybrid vector + keyword queries. (Microsoft Learn)


13. Agentic retrieval

This is an important newer Azure capability.

Instead of a simplistic:

question
 ↓
vector search
 ↓
documents

agentic retrieval can reason about the retrieval process itself.

Conceptually:

User Question
      │
      ▼
Retrieval Agent
      │
      ├── Understand question
      ├── Break into subqueries
      ├── Search
      ├── Filter
      ├── Rank
      └── Produce evidence
             │
             ▼
          Main Agent

Azure AI Search documentation now includes agentic retrieval and identifies Azure AI Search as the foundation for Foundry IQ's permission-aware knowledge layer. (Microsoft Learn)


14. Security-aware RAG

This is critical for banking.

Suppose:

Consultant A
   ↓
Client A

Consultant B
   ↓
Client B

The search index contains:

{
  "document_id": "DOC-123",
  "tenant_id": "BANK-A",
  "classification": "CONFIDENTIAL",
  "business_unit": "MARKET_RISK"
}

The retrieval request must incorporate authorization context.

User
 │
 ▼
Entra ID
 │
 ▼
Claims
 │
 ├── tenant
 ├── role
 ├── region
 └── classification
 │
 ▼
Azure AI Search
 │
 ▼
Authorized results

Azure AI Search supports role-based access approaches, and current Microsoft documentation emphasizes permission-aware retrieval through the Foundry IQ knowledge layer. (Microsoft Learn)


15. Microsoft Entra ID

Entra becomes the identity backbone.

                    Entra ID
                       │
        ┌──────────────┼──────────────┐
        ▼              ▼              ▼
      Users          Agents         Services
        │              │              │
        ▼              ▼              ▼
      RBAC       Agent Identity    Managed Identity

Avoid:

API_KEY = "xxxxxxxx"

Prefer:

Managed Identity
        │
        ▼
Entra
        │
        ▼
Azure resource

This eliminates unnecessary secret distribution.


16. Azure Agent 365

This is where your Azure architecture becomes substantially different from AWS/GCP.

Think of Agent 365 as the enterprise agent control plane.

                  Agent 365
                      │
       ┌──────────────┼─────────────────┐
       ▼              ▼                 ▼
   Inventory       Governance        Security
       │              │                 │
       ▼              ▼                 ▼
 Agent registry   Policies          Threat detection
 Ownership        Permissions       Runtime protection
 Lifecycle         Compliance       Risk

Microsoft describes Agent 365 as a centralized control plane for discovering, managing, governing and securing agents across Microsoft and third-party ecosystems. (Microsoft Learn)


17. Agent lifecycle

This is an excellent interview concept.

              CREATE
                │
                ▼
             TEST
                │
                ▼
           EVALUATE
                │
                ▼
            APPROVE
                │
                ▼
           REGISTER
                │
                ▼
            DEPLOY
                │
                ▼
            MONITOR
                │
                ▼
             AUDIT
                │
                ▼
            RETIRE

Agent 365 provides governance capabilities around onboarding, ownership, activation, blocking and lifecycle management. (Microsoft Learn)


18. Agent identity

A modern Azure architecture should treat an agent as an identity-bearing enterprise entity.

Human
 │
 ▼
Entra Identity
 │
 ▼
Agent
 │
 ▼
Agent Identity
 │
 ├── permissions
 ├── owner
 ├── environment
 ├── risk classification
 └── allowed tools

Then:

Risk Agent
   │
   ├── READ exposure
   ├── READ policies
   ├── READ trades
   └── REQUEST approval

NOT:

   ├── DELETE trades
   ├── change credit limit
   └── transfer money

19. Defender

Add Microsoft Defender around runtime security.

Agent
 │
 ▼
Defender
 │
 ├── threat detection
 ├── malicious behavior
 ├── suspicious activity
 └── runtime protection

Microsoft's current Agent 365 security model integrates Defender capabilities for continuous threat detection and runtime protection. (Microsoft Learn)


20. Purview

Purview answers a different question:

"What data is this, who is allowed to access it, and what compliance rules apply?"

Architecture:

                  Microsoft Purview
                         │
        ┌────────────────┼────────────────┐
        ▼                ▼                ▼
   Classification     Lineage         Compliance
        │                │                │
        ▼                ▼                ▼
  Confidential       Data flow       Policies
  PII                dependencies
  Financial

For a financial-services GenAI platform:

Agent
 ↓
Data request
 ↓
Purview classification/governance
 ↓
Authorized data

21. Model safety

Use the current Microsoft AI safety stack rather than relying on one control.

Conceptually:

USER
 │
 ▼
APIM
 │
 ▼
Input safety
 │
 ▼
Foundry Agent
 │
 ▼
Model
 │
 ▼
Output safety
 │
 ▼
APIM
 │
 ▼
USER

For interview purposes, distinguish:

Application security
        ↓
WAF / Firewall / Entra

Data security
        ↓
Purview / RBAC / Private Endpoint

AI safety
        ↓
Content safety / model safety controls

Agent security
        ↓
Agent 365 / Defender

LLM grounding
        ↓
Azure AI Search / RAG / citations

Don't claim that any single component "prevents hallucinations."


22. Data architecture

Now incorporate your Microsoft data stack.

                         DATA PLATFORM
                              │
          ┌───────────────────┼────────────────────┐
          │                   │                    │
          ▼                   ▼                    ▼
     Microsoft Fabric     Databricks          Operational DBs
          │                   │                    │
          ▼                   ▼                    ▼
       OneLake            Lakehouse          PostgreSQL
          │                   │                    │
          └───────────────────┼────────────────────┘
                              ▼
                       Agent / Analytics

I would use Fabric for:

Enterprise analytics
OneLake
Power BI
Data integration
Governed analytics

Databricks for:

Advanced data engineering
Spark
ML workloads
Existing Databricks estate

PostgreSQL for:

Transactional application data
Agent metadata
Business services

Cosmos DB for:

Agent state
Conversation history
High-scale JSON/session data

Redis for:

Semantic cache
Session cache
Hot data
Rate-related state

23. Microsoft Fabric

For your financial architecture:

                  Microsoft Fabric
                        │
        ┌───────────────┼─────────────────┐
        ▼               ▼                 ▼
     OneLake         Data Factory       Power BI
        │               │                 │
        ▼               ▼                 ▼
 Historical         Pipelines          Executive
 financial data                       dashboard

Then:

Agent
 │
 ├── RAG → AI Search
 │
 └── Analytics → Fabric

This is a powerful separation.


24. Agent tools

Define deterministic tools.

async def get_counterparty_exposure(
    counterparty_id: str
):
    ...


async def get_counterparty_limit(
    counterparty_id: str
):
    ...


async def get_recent_trades(
    counterparty_id: str,
    hours: int
):
    ...


async def search_risk_policy(
    question: str
):
    ...


async def create_risk_case(
    counterparty_id: str,
    reason: str
):
    ...

The agent gets capabilities, not unrestricted access.


25. Azure Functions

Functions are ideal for short deterministic operations.

Agent
 │
 ▼
Azure Function
 │
 ├── Validate
 ├── Calculate
 ├── Transform
 ├── Call API
 └── Return result

Example:

def calculate_breach(exposure, limit):

    breach = max(exposure - limit, 0)

    return {
        "exposure": exposure,
        "limit": limit,
        "breach": breach,
        "is_breach": breach > 0
    }

This is better than asking the LLM to perform every business calculation.


26. Logic Apps

Use Logic Apps for enterprise workflow integration.

Agent
 │
 ▼
Logic Apps
 │
 ├── Send email
 ├── Teams notification
 ├── Create approval
 ├── Update CRM
 ├── Create ServiceNow case
 └── Trigger workflow

Example:

Agent detects breach
        │
        ▼
Logic Apps
        │
        ▼
Risk Manager
        │
        ▼
Microsoft Teams
        │
        ▼
Approval

27. Microsoft 365 integration

This is where Azure becomes especially attractive for Microsoft-heavy enterprises.

                    Agent
                      │
          ┌───────────┼────────────┐
          ▼           ▼            ▼
       Outlook      Teams      SharePoint
          │           │            │
          ▼           ▼            ▼
       Email       Approval      Documents

The agent could:

Find policy
      ↓
Investigate breach
      ↓
Create Teams approval
      ↓
Send Outlook notification
      ↓
Update SharePoint case

But permissions must remain delegated and governed rather than allowing the agent unrestricted Microsoft 365 access.


28. Complete agent workflow

User:

“Investigate ABC's exposure breach.”

USER
 │
 ▼
Application Gateway
 │
 ▼
WAF
 │
 ▼
App Service / Container Apps
 │
 ▼
API Management
 │
 ▼
Entra authentication
 │
 ▼
Foundry Agent Service
 │
 ├── get_exposure()
 │       │
 │       ▼
 │    PostgreSQL/API
 │
 ├── get_limit()
 │       │
 │       ▼
 │    PostgreSQL
 │
 ├── get_recent_trades()
 │       │
 │       ▼
 │    Databricks/Fabric/API
 │
 ├── search_policy()
 │       │
 │       ▼
 │    Azure AI Search
 │
 └── calculate_breach()
         │
         ▼
      Azure Function
 │
 ▼
Agent reasoning
 │
 ▼
Recommendation
 │
 ▼
Human approval
 │
 ▼
Logic Apps
 │
 ▼
Teams / Outlook / workflow

29. Example result

The tools return:

Counterparty: ABC

Exposure:
$125M

Approved limit:
$100M

Breach:
$25M

Primary driver:
Trade XYZ

Policy:
Counterparty Policy §4.3

The agent produces:

ABC currently exceeds its approved counterparty
limit by $25M.

The breach is primarily attributable to Trade XYZ.

The applicable policy requires escalation to
Risk Control.

Recommendation:

1. Escalate the breach.
2. Review Trade XYZ.
3. Obtain Risk Control approval before changing
   the exposure limit.

30. Human-in-the-loop

Never allow:

Agent
 ↓
Change credit limit

Instead:

Agent
 ↓
Recommendation
 ↓
Logic Apps
 ↓
Approval
 ↓
Risk Manager
 ┌───────────────┐
 │               │
 ▼               ▼
APPROVE        REJECT
 │               │
 ▼               ▼
Execute        Stop

For regulated financial workloads, this is one of the strongest architecture decisions you can explain in an interview.


31. MCP

For a modern Azure architecture, add MCP.

                         Agent
                           │
                           ▼
                       MCP Client
                           │
          ┌────────────────┼────────────────┐
          ▼                ▼                ▼
      Risk MCP         Trade MCP        Policy MCP
          │                │                │
          ▼                ▼                ▼
      Risk API          Trade API       AI Search

Azure API Management can expose and govern MCP servers, and its AI gateway capabilities also include MCP-related governance. (Microsoft Learn)

This is particularly useful when you have:

Many agents
+
Many tools
+
Many teams

32. Multi-agent architecture

For a more sophisticated financial platform:

                    Supervisor Agent
                           │
          ┌────────────────┼────────────────┐
          ▼                ▼                ▼
     Risk Agent       Compliance Agent    Trade Agent
          │                │                │
          ▼                ▼                ▼
      Risk APIs          Policies         Trade APIs
          │                │                │
          └────────────────┼────────────────┘
                           ▼
                    Decision Agent
                           │
                           ▼
                    Human Approval

But don't use multi-agent just because you can.

A strong interview statement:

“I start with a single agent and deterministic tools. I introduce specialized agents only when responsibility boundaries, security isolation, independent evaluation or organizational ownership justify the additional orchestration complexity.”


33. Agent 365 across the architecture

This is important.

Agent 365 should not be thought of as another model or agent framework.

Think:

                 AGENT 365
              ENTERPRISE CONTROL
                   PLANE
                      │
        ┌─────────────┼──────────────┐
        ▼             ▼              ▼
      FOUNDry       Copilot       3rd Party
       Agents        Agents         Agents
        │             │              │
        └─────────────┼──────────────┘
                      ▼
             Common governance

Microsoft says Agent 365 can also surface agents built on third-party platforms such as Google Vertex AI and Amazon Bedrock in the Microsoft 365 admin center. (Microsoft Learn)

That is a very important enterprise capability.

It means your enterprise architecture can be:

Azure Agent
      +
AWS Agent
      +
GCP Agent
      +
Microsoft 365 Agent
      ↓
Agent 365 governance

34. Evaluation

Your original list:

F1
BLEU
GLEU
METEOR
ROUGE

is useful, but I would modernize the evaluation framework.

For an enterprise RAG/agent platform:

                 EVALUATION
                     │
       ┌─────────────┼─────────────┐
       ▼             ▼             ▼
   Retrieval       Answer        Agent
       │             │             │
       ▼             ▼             ▼
 Precision        Correctness   Tool selection
 Recall           Grounding     Tool arguments
 MRR              Relevance     Trajectory
 NDCG             Citation      Safety

35. Traditional NLP metrics

Use:

BLEU
ROUGE
METEOR
GLEU

when appropriate for text-overlap-oriented tasks.

But for modern GenAI:

BLEU
ROUGE

alone are insufficient.

For RAG:

Context precision
Context recall
Faithfulness
Groundedness
Answer relevance
Citation correctness

For agents:

Tool selection accuracy
Tool argument accuracy
Trajectory correctness
Task completion
Policy compliance
Safety
Latency
Cost

36. Evaluation pipeline

Historical questions
        │
        ▼
Evaluation Dataset
        │
        ▼
Agent
        │
        ▼
┌─────────────────────────┐
│ Evaluation              │
│                         │
│ Retrieval               │
│ Grounding               │
│ Answer                  │
│ Tool usage              │
│ Safety                  │
│ Cost                    │
│ Latency                 │
└────────────┬────────────┘
             │
             ▼
        Scorecard
             │
       ┌─────┴─────┐
       ▼           ▼
    PASS          FAIL
       │           │
       ▼           ▼
 Production      Improve

37. Observability

Use Azure Monitor ecosystem:

Application
    │
    ├── Azure Monitor
    ├── Application Insights
    ├── Log Analytics
    └── Distributed tracing
             │
             ▼
        Observability

Capture:

Request ID
Tenant ID
Agent ID
Model
Prompt tokens
Completion tokens
Latency
Tool calls
RAG retrieval
Search scores
Errors
Retries
Guardrail events
Cost

38. Agent trajectory

Don't log only:

Request → Response

Log:

Request
 │
 ▼
Agent
 │
 ├── RAG
 │    └── AI Search
 │
 ├── Tool
 │    └── Exposure API
 │
 ├── Tool
 │    └── Trade API
 │
 ├── Function
 │
 └── Model
      │
      ▼
   Response

This lets you diagnose:

Why was the answer wrong?

Why was the agent slow?

Why did it call the wrong tool?

Why did it retrieve the wrong document?

Why did cost increase?

39. Scaling

This directly addresses your earlier architecture concern.

Don't autoscale GenAI applications only using CPU.

Monitor:

CPU
Memory
Request rate
Concurrent requests
Queue depth
LLM latency
RAG latency
Token rate
Search latency
Tool latency
Cache hit rate

Architecture:

                 Traffic
                    │
                    ▼
              App Gateway
                    │
                    ▼
               Container
                 Apps
                    │
             ┌──────┴───────┐
             ▼              ▼
          Instance 1      Instance 2
             │              │
             └──────┬───────┘
                    ▼
                APIM
                    │
                    ▼
                  Model

For self-hosted models on AKS:

GPU utilization
GPU memory
batch size
tokens/sec
queue depth
KV cache
concurrency

must also be monitored.


40. Failure handling

Production AI must assume failures.

AI model failure

Primary model
     │
     X
     │
     ▼
Fallback model
     │
     X
     │
     ▼
Graceful degradation

AI Search failure

Agent
 │
 ▼
AI Search
 │
 X
 │
 ▼
Retry
 │
 ▼
Circuit breaker
 │
 ▼
"Knowledge retrieval unavailable"

Enterprise API failure

Agent
 │
 ▼
Risk API
 │
 X
 │
 ▼
Retry
 │
 ▼
Timeout
 │
 ▼
No recommendation

Never hallucinate missing financial data.


41. Private networking

Your proposed architecture is correct in principle, but I would draw it more explicitly:

                       INTERNET
                           │
                           ▼
                  Application Gateway
                           │
                          WAF
                           │
                           ▼
                     Azure VNet
                           │
               ┌───────────┴────────────┐
               │                        │
               ▼                        ▼
        App Service /              Container Apps
        private access
               │                        │
               └───────────┬────────────┘
                           │
                    API Management
                           │
                    Private Endpoint
                           │
          ┌────────────────┼─────────────────┐
          ▼                ▼                 ▼
      AI Search         Cosmos DB         PostgreSQL
          │                │                 │
          └────────────────┼─────────────────┘
                           ▼
                     Azure Services

And outbound traffic:

Private workloads
       │
       ▼
Azure Firewall
       │
       ├── ALLOW approved destination
       │
       └── BLOCK everything else

42. Complete security architecture

                         USER
                           │
                           ▼
                 Application Gateway
                           │
                         WAF
                           │
                           ▼
                     Azure VNet
                           │
                    Azure Firewall
                           │
                           ▼
              App Service / Container Apps
                           │
                           ▼
                 API Management
                           │
                     Entra ID
                           │
                           ▼
                 Foundry Agent Service
                           │
          ┌────────────────┼─────────────────┐
          ▼                ▼                 ▼
       AI Search        Cosmos DB        Enterprise APIs
          │                │                 │
          └────────────────┼─────────────────┘
                           │
                   Private Endpoints
                           │
                  ┌────────┴────────┐
                  ▼                 ▼
               Purview           Defender
                  │                 │
                  └────────┬────────┘
                           ▼
                       Agent 365

43. Complete production architecture

This is the diagram I would memorize.

                              USERS
                                │
                                ▼
                   ┌────────────────────────┐
                   │ Azure Front Door       │
                   │ / Application Gateway  │
                   └───────────┬────────────┘
                               │
                              WAF
                               │
                               ▼
                    ┌───────────────────────┐
                    │ Azure VNet            │
                    │                       │
                    │ App Service           │
                    │ Container Apps        │
                    │ AKS                   │
                    └───────────┬───────────┘
                                │
                                ▼
                 ┌──────────────────────────┐
                 │ Azure API Management     │
                 │ AI Gateway               │
                 │                          │
                 │ Auth                     │
                 │ Token quotas             │
                 │ Rate limits              │
                 │ Model routing            │
                 │ Semantic cache           │
                 │ MCP governance           │
                 │ Cost tracking            │
                 └────────────┬─────────────┘
                              │
                 ┌────────────┼────────────────┐
                 │            │                │
                 ▼            ▼                ▼
           Microsoft       Azure AI         Tool Layer
           Foundry         Search               │
                 │            │                  │
       ┌─────────┼──────┐     │          ┌──────┼──────┐
       │         │      │     │          ▼      ▼      ▼
     Models    Agent  Eval   RAG       Functions Logic APIs
       │       Service       │         Apps
       │         │           │
       ▼         ▼           ▼
    Foundry    Agent      Vector/
    Models     Runtime    Hybrid Search
       │         │           │
       └─────────┼───────────┘
                 │
                 ▼
          Enterprise Data
                 │
      ┌──────────┼─────────────┐
      ▼          ▼             ▼
   Cosmos DB  PostgreSQL    Fabric/Databricks
      │                         │
      └──────────┬──────────────┘
                 ▼
          Business Systems
                 │
                 ▼
          Human Approval
                 │
                 ▼
              USER


     ┌───────────────────────────────────────────┐
     │          ENTERPRISE CONTROL PLANE         │
     │                                           │
     │ Entra ID                                  │
     │ Agent 365                                 │
     │ Defender                                  │
     │ Purview                                   │
     │ Azure Monitor                             │
     │ Application Insights                      │
     │ Azure Firewall                            │
     │ Private Endpoints                         │
     └───────────────────────────────────────────┘

44. Azure mental model

For your interview, remember:

AWS                    GCP                    AZURE

CloudFront             Cloud LB              Front Door
WAF                     Cloud Armor           WAF
ALB                     Cloud LB              App Gateway
ECS/EKS                 Cloud Run/GKE         App Service/
                                             Container Apps/AKS

Bedrock                 Gemini Platform       Microsoft Foundry

Bedrock KB              Vertex/GCP RAG        Azure AI Search
OpenSearch              BigQuery Vector       AI Search
Aurora                  Cloud SQL             PostgreSQL

IAM                     IAM                   Entra ID

KMS                     Cloud KMS             Key Vault

PrivateLink             PSC                   Private Endpoint

CloudWatch              Monitoring            Azure Monitor

X-Ray                   Trace                 App Insights

S3                      Cloud Storage         Blob Storage

SQS/SNS                 Pub/Sub               Service Bus/Event Grid

Redis                   Memorystore           Azure Managed Redis

SageMaker               Vertex AI             Foundry/ML

API Gateway             API Gateway            APIM

Guardrails              Model Armor          AI safety controls

Agent governance        Agent Platform       Agent 365

Azure enterprise ready

Enterprise AI

      │
      ├── Identity
      │     └── Entra
      │
      ├── AI Gateway
      │     └── APIM
      │
      ├── AI Platform
      │     └── Foundry
      │
      ├── Knowledge
      │     └── AI Search / Foundry IQ
      │
      ├── Data
      │     └── Fabric / Databricks / Cosmos /
      │         PostgreSQL
      │
      ├── Agent Governance
      │     └── Agent 365
      │
      ├── Security
      │     └── Defender / WAF / Firewall
      │
      ├── Data Governance
      │     └── Purview
      │
      ├── Networking
      │     └── Private Endpoints
      │
      └── Observability
            └── Azure Monitor

That is the architecture-level answer.

GCP - Financial Services Application with RAG and AgenticAI

I would build the GCP version around the same financial-services use case as the AWS architecture, but use the current 2026 Google Cloud stack: Gemini Enterprise Agent Platform, ADK, Agent Runtime, Model Garden, Model Armor, GKE, BigQuery Vector Search, Cloud Storage, VPC Service Controls, IAM, Cloud KMS, Cloud Logging/Monitoring, and MCP/A2A where appropriate.

Google's current Agent Platform has evolved from the older Vertex AI-centric terminology and now provides model access, agent development, evaluation, deployment, orchestration and governance. ADK can run agents on Agent Runtime, Cloud Run or GKE. (Google Cloud)

GCP Enterprise GenAI + Agentic AI Architecture

1. The business problem

Let's use the same banking scenario:

"Investigate why counterparty ABC breached its exposure limit yesterday and tell me what action should be taken."

The system needs to combine:

Unstructured knowledge
        │
        ├── Risk policies
        ├── Regulatory documents
        ├── Credit policies
        └── Internal procedures

Structured data
        │
        ├── Counterparty exposure
        ├── Credit limits
        ├── Trades
        ├── P&L
        └── Risk metrics

Enterprise tools
        │
        ├── Risk APIs
        ├── Trade APIs
        ├── SQL
        └── Workflow systems

This is therefore not merely a chatbot.

It is:

RAG + Agent + Enterprise Data + Enterprise Tools

2. Complete GCP architecture

                              USERS
                                │
                                ▼
                    ┌─────────────────────┐
                    │ Cloud Load Balancer  │
                    └──────────┬──────────┘
                               │
                         Cloud Armor
                       WAF + DDoS Defense
                               │
                               ▼
                    ┌─────────────────────┐
                    │ API / Ingress Layer │
                    └──────────┬──────────┘
                               │
                        PRIVATE NETWORK
                               │
              ┌────────────────┴────────────────┐
              │                                 │
              ▼                                 ▼
       ┌───────────────┐                 ┌───────────────┐
       │ GKE           │                 │ Cloud Run     │
       │               │                 │               │
       │ APIs          │                 │ Lightweight   │
       │ UI            │                 │ services      │
       │ AI Gateway    │                 │ Agent APIs    │
       └───────┬───────┘                 └───────┬───────┘
               │                                 │
               └────────────────┬────────────────┘
                                ▼
                ┌───────────────────────────────┐
                │ Gemini Enterprise            │
                │ Agent Platform               │
                │                               │
                │ Agent Runtime                 │
                │ ADK                           │
                │ Agent Studio                  │
                │ Model Garden                  │
                └───────────────┬───────────────┘
                                │
             ┌──────────────────┼───────────────────┐
             │                  │                   │
             ▼                  ▼                   ▼
        Model Armor          RAG Layer           Tool Layer
             │                  │                   │
             ▼                  ▼                   ▼
          Gemini          BigQuery Vector       Enterprise APIs
          Claude          Search                MCP
          Gemma           Cloud Storage          SQL
             │                  │                 A2A
             │                  │
             │             ┌────┴─────┐
             │             ▼          ▼
             │         BigQuery   Cloud Storage
             │         tables      documents
             │
             └──────────────────────┐
                                    ▼
                         Cloud Monitoring
                         Cloud Logging
                         Cloud Trace

This architecture is consistent with Google's current direction: ADK supports agent development, evaluation and deployment, and agents can be deployed to Agent Runtime, Cloud Run or GKE. (Google Cloud Documentation)


3. Perimeter and ingress

The first layer is:

Internet
   │
   ▼
Cloud Load Balancing
   │
   ▼
Cloud Armor
   │
   ├── WAF
   ├── DDoS protection
   ├── IP rules
   ├── Rate controls
   └── Threat filtering
   │
   ▼
GKE / Cloud Run

I would make Cloud Armor the first major security control rather than allowing the application itself to deal with malicious traffic.

Example:

Attacker
   │
   ▼
Cloud Load Balancer
   │
   ▼
Cloud Armor
   │
   ├── BLOCK ──► malicious request
   │
   └── ALLOW
          │
          ▼
       GKE

4. Why GKE?

For this particular architecture, GKE makes sense because we have:

Multiple microservices
+
Agent orchestration
+
High concurrency
+
Custom networking
+
MCP services
+
Tool services
+
Potential GPU workloads
+
Fine-grained scaling

A possible GKE cluster:

GKE CLUSTER
│
├── ingress-service
│
├── frontend-service
│
├── api-service
│
├── ai-gateway
│
├── rag-service
│
├── agent-service
│
├── tool-service
│
├── mcp-server
│
└── background-workers

But I would not automatically put everything into GKE.

A senior architect answer is:

"I use GKE when Kubernetes control, workload diversity, networking or GPU scheduling justifies it. For lightweight stateless APIs or simple agents, Cloud Run can reduce operational overhead."

Google's own current architecture supports ADK agents on GKE, Cloud Run and Agent Runtime. (Google Cloud Documentation)


5. AI Gateway

Don't let every microservice call Gemini directly.

Bad:

Service A ──► Gemini
Service B ──► Gemini
Service C ──► Gemini
Service D ──► Gemini

Instead:

                 Applications
                      │
                      ▼
                AI Gateway
                      │
       ┌──────────────┼──────────────┐
       │              │              │
    Security       Routing         Cost
       │              │              │
       ▼              ▼              ▼
    IAM         Model selection   Token tracking
       │              │              │
       └──────────────┼──────────────┘
                      ▼
                Agent Platform
                      │
               ┌──────┼──────┐
               ▼      ▼      ▼
             Gemini Claude  Gemma

The gateway can implement:

Authentication
Authorization
Tenant isolation
Rate limiting
Model routing
Prompt policies
Cost tracking
Token budgets
Observability
Circuit breakers

6. Gemini Enterprise Agent Platform

The current Google architecture gives you a managed platform for the agent lifecycle.

Conceptually:

                  Agent Platform
                       │
       ┌───────────────┼────────────────┐
       │               │                │
       ▼               ▼                ▼
  Model Garden     Agent Studio      Agent Runtime
       │               │                │
       ▼               ▼                ▼
   Models          Build agents       Deploy agents

Model Garden provides access to Google's models and third-party models. Google describes Agent Platform as the evolution of Vertex AI for building, scaling, governing and optimizing agents. (Google Cloud)

For code-first development, I would use ADK.


7. ADK

ADK becomes the programming framework for our agent.

Very simplified:

from google.adk.agents import Agent

root_agent = Agent(
    name="risk_investigation_agent",
    model="gemini-3.5-flash",
    instruction="""
    You are a financial risk investigation agent.

    Investigate counterparty exposure breaches.

    Never execute financial actions without
    human approval.

    Always provide evidence for conclusions.
    """,
    tools=[
        get_counterparty_exposure,
        get_counterparty_limit,
        get_recent_trades,
        search_risk_policy
    ]
)

The exact model/version should be selected from the currently available models in the target region/project rather than hard-coding an interview answer around a particular model.

ADK currently supports Python, TypeScript, Go and Java and supports multi-agent architectures and tool integrations. (Google Cloud Documentation)


8. Model Garden

Model Garden is your model abstraction layer.

                  Model Garden
                       │
        ┌──────────────┼──────────────┐
        ▼              ▼              ▼
      Gemini        Third-party      Open
                     models         models
        │              │              │
        └──────────────┼──────────────┘
                       ▼
                  Agent Platform

The architectural benefit is model optionality.

For example:

High reasoning requirement
       ↓
larger Gemini model

High-volume classification
       ↓
smaller/faster model

Specialized workload
       ↓
third-party model

Google currently describes Model Garden as providing access to 200+ models. (Google Cloud)


9. RAG architecture

Now let's build the RAG component.

Suppose we have:

Cloud Storage
│
├── credit_policy.pdf
├── counterparty_policy.pdf
├── market_risk_policy.pdf
├── Basel_rules.pdf
└── escalation_procedure.pdf

Pipeline:

                  Cloud Storage
                       │
                       ▼
                 Document pipeline
                       │
              ┌────────┼────────┐
              ▼        ▼        ▼
           Parse     Chunk    Metadata
              │        │        │
              └────────┼────────┘
                       ▼
                   Embedding
                       │
                       ▼
                 BigQuery Vector
                       │
                       ▼
                  Vector Search

BigQuery is particularly attractive here because the same platform can hold structured financial data and support vector search.


10. Why BigQuery is powerful for this architecture

This is one of the strongest differences from the AWS example.

AWS:

OpenSearch
       +
Aurora
       +
S3

GCP can consolidate more of this:

                 BigQuery
                    │
        ┌───────────┴───────────┐
        │                       │
   Structured data          Vector data
        │                       │
   exposures                embeddings
   trades                   documents
   limits                   chunks
   P&L                      metadata

Now the agent can combine:

SQL analytics
+
Vector retrieval

within the same analytical environment.


11. Example BigQuery data model

Structured table:

counterparty_exposure
────────────────────────────
counterparty_id
exposure
currency
timestamp
desk
region

Limits:

counterparty_limits
────────────────────
counterparty_id
approved_limit
currency
rating
effective_date

Document chunks:

risk_policy_chunks
────────────────────────
document_id
chunk_id
content
embedding
tenant_id
classification
policy_type
effective_date

12. Vector retrieval

Conceptually:

SELECT
    document_id,
    chunk_id,
    content,
    distance
FROM VECTOR_SEARCH(
    TABLE `risk.risk_policy_chunks`,
    'embedding',
    (
        SELECT embedding
        FROM `risk.query_embedding`
    ),
    top_k => 5
)
ORDER BY distance;

In production you would also apply authorization and business metadata filters.

For example:

tenant_id
region
classification
business_unit
effective_date

13. Authorization-aware RAG

This is critical.

Never:

User
 ↓
Vector Search
 ↓
All documents

Instead:

User
 │
 ▼
IAM
 │
 ▼
Identity context
 │
 ├── tenant
 ├── role
 ├── region
 └── classification
        │
        ▼
   Vector Search
        │
        ▼
Authorized documents only

For example:

filters = {
    "tenant_id": user.tenant_id,
    "region": user.region,
    "classification": {
        "$in": user.allowed_classifications
    }
}

The exact filtering implementation depends on the chosen BigQuery/vector architecture, but the security principle is essential:

Retrieval authorization must happen before information reaches the LLM.


14. RAG request flow

User:

"What happens when a counterparty falls below investment grade?"

Flow:

USER
 │
 ▼
Cloud Armor
 │
 ▼
GKE API
 │
 ▼
AI Gateway
 │
 ▼
Model Armor
 │
 ▼
Query embedding
 │
 ▼
BigQuery Vector Search
 │
 ▼
Top-K authorized chunks
 │
 ▼
Prompt construction
 │
 ▼
Gemini
 │
 ▼
Model Armor
 │
 ▼
Answer + citations

15. Model Armor

Model Armor belongs around the model interaction rather than being treated as a replacement for application security.

              USER
                │
                ▼
          Model Armor
          INPUT CHECK
                │
                ▼
          Agent / RAG
                │
                ▼
             Gemini
                │
                ▼
          Model Armor
         OUTPUT CHECK
                │
                ▼
             USER

It can be used to address AI-specific threats such as prompt injection and sensitive information leakage. Google has also documented Model Armor protecting AI inference running on GKE. (Google Cloud)

But don't claim:

"Model Armor guarantees no hallucinations."

Instead:

Hallucination control
=
RAG grounding
+
tool constraints
+
structured outputs
+
evaluation
+
citations
+
business validation
+
Model Armor

16. Agentic AI architecture

Now we extend RAG.

                         USER
                           │
                           ▼
                    Risk Agent
                           │
                   ┌───────┴────────┐
                   │   Planner      │
                   └───────┬────────┘
                           │
       ┌───────────────────┼────────────────────┐
       │                   │                    │
       ▼                   ▼                    ▼
   RAG Agent          Exposure Tool         Trade Tool
       │                   │                    │
       ▼                   ▼                    ▼
 BigQuery Vector       BigQuery/API       Trade System
       │                   │                    │
       └───────────────────┼────────────────────┘
                           ▼
                    Reasoning Agent
                           │
                           ▼
                    Risk Assessment
                           │
                           ▼
                    Human Approval

17. The agent's tools

We define deterministic tools.

async def get_exposure(counterparty_id: str):
    ...


async def get_limit(counterparty_id: str):
    ...


async def get_recent_trades(
    counterparty_id: str,
    hours: int
):
    ...


async def search_risk_policy(
    question: str
):
    ...


async def calculate_breach(
    exposure: float,
    limit: float
):
    ...

The LLM doesn't get unrestricted database access.

It gets controlled capabilities.


18. Example investigation

User:

"Investigate ABC's exposure breach."

Agent workflow:

                User
                  │
                  ▼
             Risk Agent
                  │
                  ▼
        get_exposure("ABC")
                  │
                  ▼
             $125M
                  │
                  ▼
         get_limit("ABC")
                  │
                  ▼
             $100M
                  │
                  ▼
        calculate_breach()
                  │
                  ▼
              $25M breach
                  │
                  ▼
       get_recent_trades("ABC")
                  │
                  ▼
         Trade information
                  │
                  ▼
       search_risk_policy()
                  │
                  ▼
          Policy evidence
                  │
                  ▼
           Risk conclusion

19. BigQuery becomes extremely powerful here

Imagine:

SELECT
    counterparty_id,
    SUM(exposure) AS exposure
FROM
    `risk.trades`
WHERE
    counterparty_id = 'ABC'
    AND trade_date >= CURRENT_DATE() - 1
GROUP BY
    counterparty_id;

Agent gets:

ABC
Exposure = $125M

Then:

SELECT
    approved_limit
FROM
    `risk.counterparty_limits`
WHERE
    counterparty_id = 'ABC'
ORDER BY effective_date DESC
LIMIT 1;

Returns:

Limit = $100M

Then the agent can combine this with RAG:

Structured evidence
        +
Policy evidence
        +
Trade evidence
        ↓
Agent reasoning

This is what makes the architecture genuinely useful for financial engineering.


20. RAG + SQL + Tools

Think of the agent as having three knowledge mechanisms:

                         AGENT
                           │
        ┌──────────────────┼──────────────────┐
        │                  │                  │
        ▼                  ▼                  ▼
       RAG                 SQL               API
        │                  │                  │
        ▼                  ▼                  ▼
Documents            Financial data     Enterprise systems

RAG answers:

"What does the policy say?"

SQL answers:

"What actually happened?"

API/tool answers:

"What does the enterprise system currently report?"

Agent combines all three.


21. MCP

For a modern GCP architecture, I would also introduce MCP.

                    Agent
                      │
                      ▼
                  MCP Client
                      │
          ┌───────────┼────────────┐
          ▼           ▼            ▼
       Risk MCP    Trade MCP    Policy MCP
          │           │            │
          ▼           ▼            ▼
       Risk API     Trade API    BigQuery

This creates a standardized tool interface.

Google's current agent architecture documentation explicitly discusses MCP, and Google's Agent Registry can authenticate agents to remote agents or MCP toolsets. (Google Cloud Documentation)


22. Multi-agent architecture

For a more advanced interview answer:

                       Supervisor Agent
                              │
          ┌───────────────────┼──────────────────┐
          ▼                   ▼                  ▼
    Risk Agent          Compliance Agent     Trade Agent
          │                   │                  │
          ▼                   ▼                  ▼
    Risk Data             Policies          Trade Data
          │                   │                  │
          └───────────────────┼──────────────────┘
                              ▼
                         Decision Agent
                              │
                              ▼
                       Human Approval

ADK supports multi-agent architectures where specialized agents can collaborate and delegate tasks. (Google Cloud Documentation)

But don't introduce multi-agent architecture just because it sounds sophisticated.

My interview answer would be:

"I start with a single agent and deterministic tools. I introduce multiple agents only when separation of responsibility, independent evaluation, security boundaries or organizational ownership justify the additional orchestration complexity."

That is a much stronger architect answer.


23. Human-in-the-loop

For financial services:

Agent
 │
 ▼
Recommendation
 │
 ▼
Risk Officer
 │
 ├──── APPROVE
 │       │
 │       ▼
 │   Execute action
 │
 └──── REJECT
         │
         ▼
       Stop

Example:

Agent:

ABC exceeds its approved limit by $25M.

Evidence:
- Exposure: $125M
- Limit: $100M
- Policy: Section 4.3
- Primary driver: Trade XYZ

Recommendation:
Escalate to Risk Control.

The agent should not automatically change the credit limit.


24. Security architecture

Now the most important enterprise part.

                       INTERNET
                           │
                           ▼
                   Cloud Load Balancer
                           │
                           ▼
                     Cloud Armor
                           │
                           ▼
                         GKE
                           │
                  ┌────────┴────────┐
                  │                 │
                  ▼                 ▼
                IAM           Service Accounts
                  │                 │
                  └────────┬────────┘
                           ▼
                    VPC Service
                      Controls
                           │
             ┌─────────────┼─────────────┐
             ▼             ▼             ▼
          BigQuery      Cloud Storage   Agent Platform

25. IAM

Use separate service identities.

User
 │
 ▼
Identity
 │
 ▼
IAM
 │
 ├── Analyst
 ├── Risk Manager
 ├── Admin
 └── Agent Service Account

Don't give the agent:

roles/owner

Instead:

Agent Service Account

 ├── Read risk tables
 ├── Read approved documents
 ├── Execute selected APIs
 └── No unrestricted write access

26. VPC Service Controls

This is one of the strongest GCP security controls for this architecture.

Conceptually:

             SECURITY PERIMETER
        ┌───────────────────────────┐
        │                           │
        │       Financial Data      │
        │                           │
        │   BigQuery                │
        │   Cloud Storage           │
        │   AI services             │
        │                           │
        └───────────────────────────┘
                    │
              VPC Service
                 Controls
                    │
              Data exfiltration
                 prevention

Even if an identity is compromised, VPC-SC provides a network-level/data-perimeter control.

Google specifically recommends VPC Service Controls as a key perimeter guardrail for agentic AI workloads and has added newer capabilities aimed at agentic workloads. (Google Cloud)

Current Agent Platform security controls include VPC Service Controls, CMEK and Access Transparency, subject to service-specific support. (Google Cloud Documentation)


27. Cloud KMS

For highly regulated environments:

Data
 │
 ▼
Cloud KMS
 │
 ▼
Customer-managed encryption key
 │
 ├── BigQuery
 ├── Cloud Storage
 └── Other supported services

Use CMEK where the service and compliance requirements justify it.


28. Complete secure network architecture

                         INTERNET
                            │
                            ▼
                ┌─────────────────────┐
                │ Cloud Load Balancer  │
                └──────────┬──────────┘
                           │
                     Cloud Armor
                     WAF + DDoS
                           │
                           ▼
                    PRIVATE GKE
                           │
              ┌────────────┼────────────┐
              │            │            │
              ▼            ▼            ▼
          API Layer    AI Gateway    Agent Layer
              │            │            │
              └────────────┼────────────┘
                           │
                  VPC Service Controls
                           │
             ┌─────────────┼─────────────┐
             │             │             │
             ▼             ▼             ▼
          BigQuery     Cloud Storage   Agent Platform
             │             │             │
             ▼             ▼             ▼
         Vector DB      Documents       Gemini

29. Observability

For production, instrument everything.

                      Application
                           │
              ┌────────────┼────────────┐
              ▼            ▼            ▼
           Metrics        Logs         Traces
              │            │            │
              └────────────┼────────────┘
                           ▼
                  Cloud Monitoring
                  Cloud Logging
                  Cloud Trace
                           │
                           ▼
                       Dashboard

Monitor:

API latency
p50
p95
p99

Agent latency
RAG latency
BigQuery latency
LLM latency

Tokens
Cost
Requests
Errors

Tool failures
Agent retries
Agent loops
Prompt injection
Guardrail blocks

GPU utilization
GPU memory
Queue depth

For agents, trace the entire trajectory:

Request
 │
 ├── Guardrail
 │
 ├── Agent
 │
 ├── RAG
 │    └── BigQuery
 │
 ├── Tool
 │    └── Risk API
 │
 ├── Tool
 │    └── Trade API
 │
 └── Gemini

Google's current Agent Platform tooling supports evaluation and observability around agent execution, and Cloud Trace is used in the current Agents CLI deployment workflow. (Google Cloud Documentation)


30. Agent evaluation

This is something I would add to your original architecture because it is important for a senior GenAI interview.

Don't deploy an agent simply because:

"It works."

Create an evaluation dataset:

100–1,000 historical questions
          │
          ▼
      Agent runs
          │
          ▼
       Evaluate
          │
 ┌────────┼────────┐
 ▼        ▼        ▼
Accuracy Grounding Safety

Measure:

Answer correctness
Citation correctness
Retrieval precision
Retrieval recall
Groundedness
Tool selection
Tool arguments
Trajectory correctness
Safety
Latency
Cost

ADK and Agent Platform now provide evaluation capabilities for testing agent execution and trajectories. (Google Cloud Documentation)


31. CI/CD architecture

Developer
    │
    ▼
Git
    │
    ▼
Cloud Build
    │
    ├── Unit tests
    ├── Security scan
    ├── Agent evaluation
    ├── RAG evaluation
    └── Prompt tests
            │
            ▼
      Artifact Registry
            │
            ▼
          GKE
            │
       ┌────┴─────┐
       ▼          ▼
    Staging     Production
       │
       ▼
   Evaluation
       │
       ▼
    Approval

32. Production scaling

This addresses the architecture problems you asked about earlier.

Don't scale only based on CPU.

For GenAI:

GKE
 │
 ├── CPU
 ├── Memory
 ├── Requests
 ├── Queue depth
 ├── Agent concurrency
 ├── RAG latency
 └── Model latency

For GPU workloads:

GPU utilization
GPU memory
tokens/sec
requests/sec
queue depth
KV-cache pressure

Then:

             Load
               │
               ▼
          GKE Autoscaler
               │
       ┌───────┼────────┐
       ▼       ▼        ▼
     Pod 1   Pod 2    Pod 3
       │       │        │
       └───────┼────────┘
               ▼
            Gemini

For managed Gemini inference, you generally don't manage the underlying GPU concurrency yourself in the same way you would for self-hosted models. If you deploy custom models on GKE, however, GPU capacity, batching, concurrency and memory become your responsibility.


33. Failure architecture

This is another important senior-level topic.

BigQuery temporarily unavailable

Agent
 │
 ▼
BigQuery
 │
 X
 │
 ▼
Cache / fallback
 │
 ▼
Graceful response

Tool API unavailable

Agent
 │
 ▼
Risk API
 │
 X
 │
 ▼
Retry
 │
 ▼
Circuit breaker
 │
 ▼
Agent explains
"Exposure data unavailable"

Gemini unavailable

Agent
 │
 ▼
Primary model
 │
 X
 │
 ▼
Fallback model
 │
 ▼
Response

Model routing can therefore become:

Primary
 Gemini
   │
   X
   ▼
Fallback
 Claude / other approved model
   │
   X
   ▼
Graceful degradation

34. The final production architecture

This is the diagram I would memorize for your GCP interview:

                              USERS
                                │
                                ▼
                    ┌──────────────────────┐
                    │ Cloud Load Balancer   │
                    └──────────┬───────────┘
                               │
                         Cloud Armor
                        WAF + DDoS
                               │
                               ▼
                    ┌──────────────────────┐
                    │ GKE PRIVATE CLUSTER  │
                    │                      │
                    │ API                  │
                    │ AI Gateway           │
                    │ RAG Service          │
                    │ Agent Service        │
                    │ MCP Services         │
                    └──────────┬───────────┘
                               │
                       IAM / Service Accounts
                               │
                       VPC SERVICE CONTROLS
                               │
             ┌─────────────────┼──────────────────┐
             │                 │                  │
             ▼                 ▼                  ▼
       Agent Platform       BigQuery          Cloud Storage
             │                 │                  │
       ┌─────┼─────┐           │             Documents
       │     │     │           │                  │
       ▼     ▼     ▼           ▼                  │
    Gemini Claude Gemma    SQL + Vector            │
       │           │        Search                 │
       └─────┬─────┘           │                   │
             │                 │                   │
             └────────┬────────┘                   │
                      ▼                            │
                  AGENT                            │
                      │                            │
         ┌────────────┼──────────────┐             │
         ▼            ▼              ▼             │
       RAG          SQL/API         MCP            │
         │            │              │             │
         └────────────┼──────────────┘             │
                      ▼                            │
               Model Armor                         │
                      │                            │
                      ▼                            │
                Human Approval                     │
                      │                            │
                      ▼                            │
                    USER                           │
                                                   │
          ┌────────────────────────────────────────┘
          │
          ▼
   Cloud Monitoring
   Cloud Logging
   Cloud Trace
   Cloud KMS
   IAM Audit Logs

35. AWS → GCP mental mapping

For your interviews, memorize this:

AWSGCP
CloudFrontCloud CDN / Cloud Load Balancing
AWS WAFCloud Armor
AWS ShieldCloud Armor / Google Cloud DDoS protection
ALBCloud Load Balancing
ECSCloud Run / GKE
EKSGKE
BedrockGemini Enterprise Agent Platform / Model Garden
Bedrock GuardrailsModel Armor
Bedrock Knowledge BasesAgent Platform RAG capabilities / custom RAG
OpenSearchBigQuery Vector Search / Vertex AI Vector Search
Aurora pgvectorAlloyDB / Cloud SQL with pgvector
S3Cloud Storage
IAMCloud IAM
KMSCloud KMS
PrivateLinkPrivate Service Connect / VPC connectivity patterns
CloudWatchCloud Monitoring + Cloud Logging
X-RayCloud Trace
EventBridgeEventarc
SQSCloud Tasks / Pub/Sub depending on pattern
SNSPub/Sub
RedshiftBigQuery
SageMakerVertex AI / Agent Platform
ECRArtifact Registry
CodeBuildCloud Build
EKS autoscalingGKE autoscaling

One nuance: there isn't always a strict one-to-one mapping; for example, GCP's networking and managed AI services often combine capabilities that are separate AWS products. 

AWS - Financial Services Application with RAG and AgenticAI

The best way to understand this architecture is to build one realistic financial-services application twice:

  1. RAG application — "Risk Policy Assistant"

  2. Agentic AI application — "Risk Investigation Agent"

Both use the AWS components you listed, so you can explain the architecture in an interview and also implement a working prototype.

One important correction for interview accuracy: don't say Bedrock "blocks hallucinations" by itself. Guardrails can detect/filter certain unsafe or policy-violating content and can help with grounding-related controls, but hallucination prevention fundamentally comes from architecture: RAG grounding, tool constraints, evaluation, citations, and validation.


1. Real-world example

Imagine a bank has thousands of documents:

Risk Policies
Credit Policies
Liquidity Policies
Market Risk Policies
Counterparty Policies
Basel Documents
Regulatory Documents
Internal Procedures
Trade Processing Manuals

A user asks:

"What is the bank's policy for counterparty exposure when the credit rating falls below investment grade?"

We want:

User
 ↓
AWS security perimeter
 ↓
AI Gateway
 ↓
RAG
 ↓
Authorized documents
 ↓
Bedrock
 ↓
Guardrails
 ↓
Answer + citations

Then we extend it.

User asks:

"Investigate why counterparty ABC breached its exposure limit yesterday and tell me what action should be taken."

Now we need an agent.

User
 ↓
Agent
 ├── Search risk policy
 ├── Retrieve counterparty data
 ├── Retrieve trades
 ├── Calculate exposure
 ├── Compare against limit
 ├── Investigate breach
 └── Recommend action

That is the difference between RAG and Agentic AI.


2. Complete AWS architecture

                         ┌─────────────────┐
                         │      USER       │
                         └────────┬────────┘
                                  │
                                  ▼
                         ┌─────────────────┐
                         │ Amazon         │
                         │ CloudFront     │
                         └────────┬────────┘
                                  │
                         ┌────────▼────────┐
                         │ AWS WAF         │
                         │ AWS Shield      │
                         └────────┬────────┘
                                  │
                                  ▼
                       ┌─────────────────────┐
                       │ Application Load    │
                       │ Balancer            │
                       └──────────┬──────────┘
                                  │
                         PRIVATE SUBNETS
                                  │
                    ┌─────────────▼─────────────┐
                    │ ECS / EKS                 │
                    │                           │
                    │ Frontend                  │
                    │ API                       │
                    │ RAG Service               │
                    │ Agent Service             │
                    └─────────────┬─────────────┘
                                  │
                         ┌────────▼────────┐
                         │ AI Gateway      │
                         │                 │
                         │ Auth            │
                         │ Rate Limit      │
                         │ Tenant          │
                         │ Cost Tracking   │
                         │ Model Routing   │
                         └────────┬─────────┘
                                  │
                     ┌────────────┼─────────────┐
                     │            │             │
                     ▼            ▼             ▼
               Bedrock       Knowledge      Application
               Guardrails     Bases          Tools
                     │            │             │
                     ▼            ▼             ▼
                  Bedrock      OpenSearch     APIs
                  Claude       / Aurora       DB
                  Llama       pgvector        Kafka
                  Titan

Network path:

Internet
   │
   ▼
CloudFront
   │
   ▼
WAF + Shield
   │
   ▼
ALB
   │
   ▼
Private ECS/EKS
   │
   ▼
AI Gateway
   │
   ├───────────────► Bedrock
   │
   ├───────────────► Knowledge Base
   │
   └───────────────► Internal APIs

3. RAG application

Let's build the simpler system first.

User question

"What is the counterparty exposure policy
for below-investment-grade entities?"

Architecture:

                     USER
                       │
                       ▼
                 API Gateway
                       │
                       ▼
                  AI Gateway
                       │
                       ▼
                Bedrock Guardrail
                       │
                       ▼
             Bedrock Knowledge Base
                       │
                       ▼
             Vector Search / OpenSearch
                       │
                  Top K documents
                       │
                       ▼
                   Claude
                       │
                       ▼
               Grounded answer
                       │
                       ▼
                     USER

4. Document ingestion

Suppose we have:

s3://bank-risk-documents/

├── credit/
│   ├── credit_policy.pdf
│   └── rating_policy.pdf
│
├── market/
│   └── market_risk_policy.pdf
│
└── liquidity/
    └── liquidity_policy.pdf

The pipeline is:

PDF
 │
 ▼
Amazon S3
 │
 ▼
Bedrock Knowledge Base
 │
 ├── Parse
 ├── Chunk
 ├── Embed
 └── Index
       │
       ▼
Amazon OpenSearch Serverless

The embedding model converts:

"Counterparty exposure must not exceed..."

into something like:

[0.021, -0.182, 0.731, ...]

The vector is stored in the vector index.


5. Retrieval

User asks:

"What happens if rating falls below BBB?"

The question becomes:

query
 ↓
embedding
 ↓
vector similarity
 ↓
Top 5 chunks

Example:

Document 1 → similarity 0.92
Document 2 → similarity 0.88
Document 3 → similarity 0.84
Document 4 → similarity 0.81
Document 5 → similarity 0.79

Those documents become context for the LLM.


6. Important enterprise feature: authorization-aware RAG

This is where your architecture becomes enterprise-grade.

Suppose:

Consultant A
    │
    └── Client A documents

Consultant B
    │
    └── Client B documents

Never do:

results = vector_db.search(query)

Do:

results = vector_db.search(
    query=query,
    filter={
        "tenant_id": user.tenant_id,
        "classification": {
            "$in": user.allowed_classifications
        }
    }
)

Metadata:

{
  "document_id": "RISK-001",
  "tenant_id": "BANK-A",
  "classification": "CONFIDENTIAL",
  "department": "MARKET_RISK",
  "region": "EU"
}

This prevents:

Client A
   ↓
Client B's documents
   ↓
DATA LEAK

7. RAG code

A simplified Python service:

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()


class Query(BaseModel):
    question: str
    tenant_id: str


@app.post("/rag")
async def rag(query: Query):

    documents = await retrieve_documents(
        question=query.question,
        tenant_id=query.tenant_id
    )

    context = "\n\n".join(
        document["text"]
        for document in documents
    )

    prompt = f"""
You are an enterprise risk assistant.

Answer only from the supplied context.

If the answer is not available,
say that the information is unavailable.

Context:
{context}

Question:
{query.question}
"""

    response = await invoke_bedrock(
        prompt=prompt
    )

    return {
        "answer": response,
        "sources": [
            d["document_id"]
            for d in documents
        ]
    }

Notice the architecture:

FastAPI
   │
   ├── Authorization
   │
   ├── Retrieval
   │
   ├── Prompt construction
   │
   ├── Bedrock
   │
   └── Citation

8. Bedrock model invocation

Your application should not directly scatter Bedrock calls everywhere.

Bad:

bedrock.invoke_model(...)

from 20 different microservices.

Better:

Applications
     │
     ▼
AI Gateway
     │
     ▼
Bedrock

The gateway provides:

Authentication
Authorization
Rate limiting
Tenant isolation
Model routing
Cost tracking
Prompt policy
Guardrails
Observability

9. LiteLLM architecture

If you use LiteLLM:

                  Applications
                       │
                       ▼
                   LiteLLM
                       │
             ┌─────────┼─────────┐
             ▼         ▼         ▼
          Claude     Llama      Titan
             │         │         │
             └─────────┼─────────┘
                       ▼
                    Bedrock

Now your application doesn't need to know which model is being used.

For example:

response = completion(
    model="bedrock/anthropic.claude",
    messages=[
        {
            "role": "user",
            "content": prompt
        }
    ]
)

Then your gateway can implement:

Premium request
      ↓
Claude

Normal request
      ↓
Llama

Low-cost request
      ↓
smaller model

10. Where Guardrails belong

There are actually multiple guardrail points.

                    USER
                      │
                      ▼
              Input Guardrail
                      │
                      ▼
                 AI Gateway
                      │
                      ▼
                    RAG
                      │
                      ▼
                  Bedrock
                      │
                      ▼
             Output Guardrail
                      │
                      ▼
                    USER

Check:

Input:
├── Prompt injection
├── Toxicity
├── PII
└── Policy violations

Output:
├── PII
├── Unsafe content
├── Policy violations
└── Grounding/citation requirements

11. Now let's make it Agentic AI

RAG answers:

"What does the policy say?"

Agentic AI can answer:

"Why did this counterparty breach its exposure limit?"

That requires multiple actions.

Architecture:

                         USER
                           │
                           ▼
                      Agent API
                           │
                           ▼
                      AI Gateway
                           │
                           ▼
                       Agent
                           │
           ┌───────────────┼────────────────┐
           │               │                │
           ▼               ▼                ▼
      Policy RAG      Exposure API      Trade API
           │               │                │
           ▼               ▼                ▼
      Knowledge Base    Risk Engine       Trade DB
           │               │                │
           └───────────────┼────────────────┘
                           ▼
                        Gemini/Claude
                           │
                           ▼
                    Final Explanation

12. Agent's tools

Define tools explicitly.

tools = [

    get_counterparty_exposure,

    get_counterparty_limit,

    get_recent_trades,

    search_risk_policy,

    calculate_potential_exposure,

    create_risk_case
]

The LLM doesn't directly access databases.

Instead:

Agent
  │
  ├── get_exposure()
  │
  ├── get_limit()
  │
  ├── search_policy()
  │
  └── get_trades()

This is critical for security.


13. Example Agent Workflow

User:

"Investigate ABC's exposure breach."

Agent thinks in terms of actions:

STEP 1
Get ABC exposure

       ↓

STEP 2
Get ABC approved limit

       ↓

STEP 3
Compare exposure vs limit

       ↓

STEP 4
If breach:
      search relevant policy

       ↓

STEP 5
Get recent trades

       ↓

STEP 6
Determine likely cause

       ↓

STEP 7
Generate recommendation

       ↓

STEP 8
Ask human approval
if action has financial impact

14. Agent architecture

                    ┌───────────────┐
                    │     USER      │
                    └───────┬───────┘
                            │
                            ▼
                    ┌───────────────┐
                    │  Agent        │
                    │  Orchestrator │
                    └───────┬───────┘
                            │
                    ┌───────▼────────┐
                    │   Planner      │
                    └───────┬────────┘
                            │
          ┌─────────────────┼──────────────────┐
          ▼                 ▼                  ▼
     Policy Tool       Exposure Tool       Trade Tool
          │                 │                  │
          ▼                 ▼                  ▼
     RAG/KB             Risk API            Trade DB
          │                 │                  │
          └─────────────────┼──────────────────┘
                            ▼
                     Result Aggregator
                            │
                            ▼
                         LLM Judge
                            │
                            ▼
                       Human Review
                            │
                            ▼
                         Response

15. Example Agent Tool

async def get_counterparty_exposure(
    counterparty_id: str
):

    response = await risk_api.get(
        f"/counterparty/{counterparty_id}/exposure"
    )

    return {
        "counterparty": counterparty_id,
        "exposure": response["exposure"],
        "currency": response["currency"],
        "timestamp": response["timestamp"]
    }

Another:

async def get_counterparty_limit(
    counterparty_id: str
):

    response = await risk_api.get(
        f"/counterparty/{counterparty_id}/limit"
    )

    return {
        "limit": response["limit"],
        "currency": response["currency"]
    }

16. Agent decision

Suppose tools return:

Exposure = $125M

Limit = $100M

Breach = $25M

Agent then calls:

search_risk_policy(
    "counterparty exposure breach"
)

RAG returns:

"If exposure exceeds approved limit,
the breach must be escalated to Risk Control..."

Then:

Agent
 │
 ├── Exposure = $125M
 ├── Limit = $100M
 ├── Breach = $25M
 │
 └── Policy = escalation required

Final answer:

ABC currently exceeds its approved counterparty
limit by $25M.

The applicable risk policy requires escalation
to Risk Control.

Recent trade activity indicates that the breach
was primarily driven by ...

Recommended action:
Escalate to Risk Control and review the
transactions responsible for the increase.

17. Human-in-the-loop

This is extremely important in financial services.

Never let the agent autonomously execute:

Cancel trade
Change credit limit
Transfer money
Approve transaction
Modify collateral

Instead:

Agent
  │
  ▼
Recommendation
  │
  ▼
Human Approval
  │
 ┌┴────────────┐
 ▼             ▼
Approve       Reject
 │
 ▼
Tool execution

For example:

Agent:

"I recommend reducing the exposure limit
from $100M to $80M."

             ↓

Risk Officer:

[ APPROVE ] [ REJECT ]

18. Agent + RAG together

This is the architecture you should really understand.

RAG is a capability.

Agentic AI is an orchestration pattern.

                   AGENT
                     │
        ┌────────────┼────────────┐
        │            │            │
        ▼            ▼            ▼
       RAG          API          SQL
        │            │            │
        ▼            ▼            ▼
 Knowledge       Risk Engine    Database
 Base

Therefore:

RAG ≠ Agent

Agent can USE RAG.

19. AWS network architecture

Now incorporate your PrivateLink requirement.

                         INTERNET
                            │
                            ▼
                       CloudFront
                            │
                            ▼
                    WAF + Shield
                            │
                            ▼
                         ALB
                            │
                    PUBLIC SUBNET
                            │
                  ──────────┼──────────
                            │
                   PRIVATE SUBNET
                            │
                    ┌───────▼───────┐
                    │ ECS / EKS     │
                    │               │
                    │ RAG Service   │
                    │ Agent Service │
                    │ API Gateway   │
                    └───────┬───────┘
                            │
                    VPC Endpoints
                            │
               ┌────────────┼────────────┐
               ▼            ▼            ▼
            Bedrock      S3          OpenSearch

The important idea is:

Application
     │
     ▼
Private VPC
     │
     ▼
Interface VPC Endpoint
     │
     ▼
AWS service

So your workloads don't need public internet paths to reach supported AWS services.


20. ECS vs EKS

For the example, I would start with ECS unless Kubernetes is explicitly required.

ECS
│
├── RAG API
├── Agent API
├── AI Gateway
└── Worker

Use EKS when you need:

Complex Kubernetes workloads
Custom scheduling
Service mesh
GPU workloads
Large microservice platform
Existing Kubernetes organization

For an interview, say:

"I would default to ECS/Fargate for a relatively straightforward stateless GenAI platform because it reduces operational overhead. I would choose EKS where Kubernetes-level control, GPU scheduling, service mesh or an existing enterprise Kubernetes platform justifies the additional complexity."


21. Complete Agentic AI request

Here is the complete request flow:

USER
 │
 │ "Investigate ABC exposure breach"
 ▼
CloudFront
 │
 ▼
WAF
 │
 ▼
Shield
 │
 ▼
ALB
 │
 ▼
ECS
 │
 ▼
AI Gateway
 │
 ├── Authentication
 ├── Tenant validation
 ├── Rate limit
 ├── Cost tracking
 └── Guardrails
 │
 ▼
Agent
 │
 ├──────────────┐
 │              │
 ▼              ▼
RAG           Tools
 │              │
 ▼              ├── Exposure API
Bedrock KB      ├── Limit API
 │              ├── Trade API
 ▼              └── Risk DB
OpenSearch
 │
 └──────────────┐
                ▼
             Bedrock
                │
                ▼
           Reasoning
                │
                ▼
        Recommendation
                │
                ▼
       Human approval
                │
                ▼
              User

22. Production observability

You should instrument every agent step.

Example trace:

Trace ID: ABC-123

00ms  API Gateway
  15ms Authentication
  20ms Guardrail
  35ms Agent started
  90ms RAG retrieval
 150ms Exposure API
 180ms Limit API
 250ms Trade API
 400ms Bedrock
 430ms Output guardrail

Then you can answer:

"Why is the agent slow?"

Maybe:

LLM = 120ms
RAG = 40ms
Risk API = 20ms
Trade API = 800ms   ← bottleneck

This is much better than simply looking at total latency.


23. Cost tracking

Your AI Gateway should attach:

{
  "tenant_id": "BANK-A",
  "user_id": "U123",
  "application": "risk-agent",
  "model": "claude",
  "input_tokens": 4200,
  "output_tokens": 850,
  "latency_ms": 1430
}

Then:

Tenant
   │
   ▼
AI Gateway
   │
   ├── Token accounting
   ├── Model accounting
   ├── Request accounting
   └── Cost accounting
          │
          ▼
       BigQuery/S3
          │
          ▼
       Dashboard

24. What makes this architecture "Senior Architect" level?

Not:

CloudFront
+
ECS
+
Bedrock
+
OpenSearch

Anyone can draw AWS services.

The architecture becomes senior-level when you explain:

                    ┌──────────────┐
                    │ REQUIREMENTS │
                    └──────┬───────┘
                           │
         ┌─────────────────┼─────────────────┐
         ▼                 ▼                 ▼
      Security          Reliability       Cost
         │                 │                 │
         ▼                 ▼                 ▼
      IAM/WAF          Retry/CB          Model routing
      KMS              Fallback          Caching
      VPC              Queue             Token budget
         │                 │                 │
         └─────────────────┼─────────────────┘
                           ▼
                      Scalability
                           │
                           ▼
                      Observability

And especially:

RAG:
"Find the right information."

Agent:
"Decide which actions/tools are required
to solve the problem."

LLM:
"Reason/generate."

Tools:
"Actually interact with enterprise systems."

Guardrails:
"Constrain what the system is allowed to do."

Human:
"Approve high-impact decisions."

That distinction is one of the strongest concepts to internalize for an AWS GenAI Architect interview.

One final architecture to memorize

                     ┌─────────────────────┐
                     │       USER          │
                     └──────────┬──────────┘
                                ▼
                     ┌─────────────────────┐
                     │ CloudFront          │
                     │ WAF + Shield        │
                     └──────────┬──────────┘
                                ▼
                     ┌─────────────────────┐
                     │ ALB                 │
                     └──────────┬──────────┘
                                ▼
                 ┌─────────────────────────────┐
                 │ ECS / EKS PRIVATE SUBNET   │
                 │                             │
                 │ AI Gateway                  │
                 │ Agent Orchestrator          │
                 │ RAG Service                 │
                 └─────────────┬───────────────┘
                               │
             ┌─────────────────┼─────────────────┐
             ▼                 ▼                 ▼
        Guardrails         Knowledge Base       Tools
             │                 │                 │
             │                 ▼                 ├── Risk API
             │            OpenSearch              ├── Trade API
             │            / Aurora                ├── SQL
             │                 │                 └── MCP
             │                 │
             └─────────────────┼─────────────────┐
                               ▼                 │
                         Amazon Bedrock          │
                         Claude/Llama/Titan      │
                               │                 │
                               ▼                 │
                          Agent Result ◄─────────┘
                               │
                               ▼
                       Human Approval
                               │
                               ▼
                             USER

This single architecture can answer a surprisingly large number of AWS GenAI Architect interview questions: RAG, agents, Bedrock, security, networking, multi-tenancy, governance, scalability, observability, cost optimization, human-in-the-loop, and enterprise integration.

Azure - Financial Services Application with RAG and AgenticAI

I would make the Azure version slightly more advanced than the AWS/GCP versions because Azure now has a particularly strong enterprise story...