top of page

Cloud Agnostic vs Cloud Native Microservices Architecture

  • Writer: Anand Nerurkar
    Anand Nerurkar
  • Apr 21
  • 6 min read

☁️ Cloud Agnostic vs Cloud Native Microservices Architecture

Aspect

Cloud Native

Cloud Agnostic

Definition

Designed specifically to run optimally on a specific cloud provider (e.g., Azure, AWS, GCP).

Designed to run on any cloud provider or on-premises with minimal changes.

Tightly Coupled to Cloud Services

Yes. Uses cloud provider’s proprietary services (e.g., Azure Cosmos DB, AWS Lambda).

No. Uses open standards and portable services (e.g., PostgreSQL, Kubernetes).

Tooling & Services

Leverages cloud-native tools (e.g., Azure DevOps, Azure Functions, Azure AKS, Application Gateway).

Uses open-source or cross-platform tools (e.g., Jenkins, Docker, Kubernetes, Kafka).

Portability

Low – hard to migrate to another cloud.

High – easier to switch providers or run hybrid/cloud/on-prem.

Performance Optimization

High – can use cloud-specific features for optimization.

Moderate – might avoid vendor-optimized services.

Cost Efficiency

Often better due to integrated services and scaling options.

May require more effort to manage infrastructure manually.

Examples of Cloud Services Used

- Azure API Management


- Azure Key Vault


- Azure Monitor


- Azure Functions

- Apache Kafka


- HashiCorp Vault


- Prometheus/Grafana


- Docker + Kubernetes

Deployment Platform

Cloud-native PaaS like Azure AKS, AWS ECS, GCP Cloud Run

Kubernetes, OpenShift, Docker Swarm across any cloud or on-prem

Use Case Fit

When you are committed to one cloud and want to leverage its full power.

When you want cloud independence, multi-cloud, or hybrid strategy.

🎯 When to Choose What?

  • Go Cloud Native when:

    • You’re locked in to a single cloud provider.

    • You want rapid development, autoscaling, and native integrations.

    • You’re building modern apps with high agility in a cloud-first environment.

  • Go Cloud Agnostic when:

    • You have a multi-cloud strategy or are preparing for cloud migration.

    • You want to avoid vendor lock-in.

    • You’re building systems that require high portability and flexibility.



🏦 Example in Banking:

  • Cloud Native: A credit scoring microservice uses Azure Cognitive Services for risk modeling and stores data in Azure Cosmos DB.

  • Cloud Agnostic: A fraud detection service runs in Kubernetes, uses Apache Kafka for event streaming, and stores data in PostgreSQL – portable across Azure, AWS, or on-prem.


pls come up with cloud agnostic microservices architecture with Azure Cloud leveraing all azure cloud services for a personal banking use case -text version flow


Absolutely! Below is a Cloud Agnostic Microservices Architecture for a Personal Banking Use Casedeployed on Azure Cloud, yet designed to remain portable across any cloud provider (AWS, GCP, on-prem). This architecture uses open-source, cloud-agnostic components while integrating with Azure-native services for deployment, management, and observability.


🏦 Personal Banking – Cloud Agnostic Microservices Architecture (on Azure Cloud)

🔹 Key Principles

  • All microservices are stateless, containerized with Docker.

  • Services deployed via Kubernetes (AKS) for orchestration.

  • Communication and observability managed via Istio (Service Mesh).

  • Event-driven architecture using Apache Kafka.

  • Configuration, secrets, and identity managed in a portable, secure way.


🧱 Core Components

🧩 Microservices (Dockerized & loosely coupled)

  • CustomerProfileService – manages customer onboarding, KYC

  • AccountService – creates and manages savings/current accounts

  • TransactionService – handles transfers, deposits, withdrawals

  • LoanService – manages loan applications, status tracking

  • CardService – handles credit/debit card issuance and transactions

  • NotificationService – sends email/SMS/app alerts

  • FraudDetectionService – listens to events and flags anomalies


☁️ Cloud Agnostic Tools

Function

Component

Description

Service Orchestration

Kubernetes (AKS)

Workload management, scaling

Service Mesh

Istio

Traffic routing, observability, security

API Gateway

Azure API Management or Kong

Abstracts microservices from frontend

Streaming

Apache Kafka (Confluent or self-managed)

Event-based communication

Persistence

PostgreSQL, MongoDB

Portable DBs across clouds

Secrets Management

HashiCorp Vault (or Azure Key Vault)

Store secrets, API keys securely

Config Management

Spring Cloud Config

Externalized configuration

Monitoring

Prometheus + Grafana

Metrics, dashboards

Logging

ELK Stack (Elasticsearch, Logstash, Kibana)

Centralized logging

CI/CD

Azure DevOps / GitHub Actions

Container build & deployment pipelines

🔐 Security Layer

  • SSO & Identity: Azure AD integration via OpenID Connect (OIDC) for auth.

  • RBAC & Least Privilege: IAM roles and Kubernetes RBAC policies.

  • mTLS with Istio: Service-to-service encryption.

  • SSL Termination: Configured at Azure Application Gateway.

🌐 Network & Infrastructure (on Azure)

Layer

Azure Component

Purpose

Subscription

Azure Subscription

Logical resource grouping, RBAC

Networking

Azure VNet

Isolated network for resources

Subnets

Separate for App, DB, Gateway

Network isolation

Firewall & NSGs

Azure Firewall + NSG

Traffic filtering and control

Ingress

Azure Application Gateway

L7 Load Balancer + WAF

Load Balancer

Internal LB (for east-west traffic)

High availability

Traffic Manager

Azure Traffic Manager

Geo-routing and failover

DNS & SSL

Azure DNS + Cert Manager

Domain and TLS config

Registry

Azure Container Registry (ACR)

Stores Docker images

Kubernetes

Azure Kubernetes Service (AKS)

Microservices deployment

Monitoring

Azure Monitor, Application Insights

Telemetry, logs, tracing

🧭 User Request Flow Example

  1. Customer logs in → Auth via Azure AD or custom OIDC.

  2. Front-end calls API Gateway → Routes to relevant microservice.

  3. New account creation → CustomerProfileService & AccountService interact.

  4. Events emitted to Kafka → Fraud check, welcome email triggered.

  5. Data persisted → PostgreSQL & MongoDB for customer/account data.

  6. Dashboard rendered → Frontend calls API to fetch live account status.

🔁 High Availability & Scaling

  • Multi-AZ deployment via AKS and Azure Load Balancer

  • Auto-scaling pods with HPA (Horizontal Pod Autoscaler)

  • Kafka with replication across availability zones

⚠️ Risks and Mitigation (Snapshot)

Category

Example Risk

Mitigation

Business

Downtime during high traffic

Multi-AZ, autoscaling

Ops

Deployment failure

Canary releases, blue-green deployments

Security

Data breach

mTLS, Azure AD, Vault

Compliance

GDPR/PCI violations

Auditing, tokenization, data encryption

Technology

Service dependency

Circuit breakers, retries, fallbacks

People

Skill gap in cloud/K8s

Training, platform engineering

Environment

Regional outage

Geo-redundancy, Azure Traffic Manager

:

Great! Here's an expanded case study walkthrough for a Personal Banking Cloud-Agnostic Microservices Architecture (deployed on Azure Cloud) covering a realistic End-to-End Customer Flow.

🧾 Case Study: Personal Banking – Cloud-Agnostic Architecture on Azure

🎯 Use Case: Customer Onboarding → Account Creation → UPI Setup → Transaction → Fraud Check

👤 Step 1: Customer Onboarding

Scenario: A user visits the banking portal/app to open a new savings account.

Flow:

  1. User enters personal details and uploads KYC documents via frontend.

  2. API Gateway forwards the request to CustomerProfileService.

  3. CustomerProfileService performs:

    • Input validation

    • KYC data formatting

    • Publishes CustomerOnboarded event to Kafka

  4. DocumentService asynchronously receives the event and stores documents in Blob Storage.

  5. NotificationService sends a "Thank you for registering" SMS/email.

  6. FraudDetectionService runs a check on initial customer profile using basic heuristics.

Azure Services Used:

  • Azure API Management

  • AKS-hosted Spring Boot services

  • Azure Blob Storage

  • Azure AD B2C (for SSO)

  • Kafka (Confluent on AKS or Event Hub Kafka-compatible)

🏦 Step 2: Account Creation

Scenario: Post-onboarding, the system auto-triggers account creation.

Flow:

  1. CustomerOnboarded event picked up by AccountService.

  2. Account number is generated.

  3. Account data persisted in Azure SQL/PostgreSQL.

  4. Event AccountCreated is emitted.

  5. NotificationService triggers welcome messages with account info.

Azure Services Used:

  • Azure PostgreSQL (Flexible Server)

  • Azure Event Hubs or Kafka

  • Azure DevOps CI/CD pipeline deploys services

📲 Step 3: UPI Setup & Device Binding

Scenario: The user links their bank account to UPI and verifies mobile device.

Flow:

  1. UPIService receives device binding and UPI handle request via API Gateway.

  2. Mobile OTP verification done via 3rd-party provider.

  3. UPI handle linked, and status updated.

  4. UPIService publishes UPILinked event.

  5. Fraud check is invoked if device location/IP is suspicious.

Azure Services Used:

  • Azure API Management

  • Azure AD for secure auth with OAuth2

  • Azure Monitor + Application Insights (for anomaly detection)

  • Kafka for UPILinked event streaming

💸 Step 4: Transaction Processing (UPI Payment)

Scenario: Customer initiates a UPI payment from their account.

Flow:

  1. User initiates payment in mobile app.

  2. Request hits TransactionService through the Gateway.

  3. TransactionService:

    • Verifies balance from AccountService

    • Creates a debit transaction

    • Emits TransactionInitiated to Kafka

  4. FraudDetectionService picks the event and runs transaction scoring.

  5. If approved:

    • Updates account balance in PostgreSQL.

    • Confirms to UPI layer.

    • Publishes TransactionSuccess.

Azure Services Used:

  • Azure SQL/PostgreSQL

  • Azure Kafka/Event Hub

  • Azure AD (access token validation)

  • Azure Monitor (real-time tracking)

🚨 Step 5: Fraud Detection & Real-Time Alerts

Scenario: Fraud Detection identifies an unusual pattern.

Flow:

  1. FraudDetectionService (running ML model) flags a transaction.

  2. Event: FraudAlertRaised is published.

  3. NotificationService sends alert to customer.

  4. TransactionService reverses or blocks further actions if required.

  5. Audit trail is logged in centralized ELK stack.

Azure Services Used:

  • Azure Machine Learning for model scoring

  • Azure Event Hub for event propagation

  • Azure Monitor / Log Analytics

  • Azure App Insights (for distributed tracing)

🌍 End-to-End Integration Overview

Tier

Services Involved

Frontend

Web / Mobile App (calls APIs)

API Gateway

Azure API Management

Service Mesh

Istio on AKS

Microservices

Spring Boot-based, Dockerized

Asynchronous Events

Kafka or Azure Event Hub

Data Layer

Azure PostgreSQL, MongoDB

Security

Azure AD B2C, OAuth2, mTLS

CI/CD

Azure DevOps + ACR

Monitoring

Azure Monitor, App Insights

Networking

VNet, Subnets, NSG, Azure Firewall, Application Gateway with SSL

Scalability

AKS with HPA + Traffic Manager for Geo-distribution


 
 
 

Recent Posts

See All
Ops Efficiency 30 % improvement

how did you achieve 30 % operational efficiency Achieving 30% operational efficiency in a BFSI-grade, microservices-based personal...

 
 
 

Comentários

Avaliado com 0 de 5 estrelas.
Ainda sem avaliações

Adicione uma avaliação
  • Facebook
  • Twitter
  • LinkedIn

©2024 by AeeroTech. Proudly created with Wix.com

bottom of page