High Level Design — Native cloud & Microservices based application

Sujit Udhane
Feb 14, 2021

1.Microservices architecture
- Async communication between Microservices through Message Queue (Design Pattern — Event Sourcing).
- Sync communication between Microservices through API Gateway.
- Separate Write DB per domain/business functionality.

2.SaaS Design
- Separate DB for each tenant.

3.Improved read performance of system
- Design Pattern — Materialized View.

4.Security
-Web Firewall (WAF)
-DDoS attack prevention
-Encryption at rest (DB Layer)
-Virtual Private Network
-NAT Rules
-KeyVault (for securing secretes/credentials)

5.Cloud PaaS Offerings
-Message Queue
-API Gateway
-Kubernetes Cluster
-Database cluster
-Load Balancer
-CDN
-Cache
-Search database cluster
-Unified Logs Aggregator

6.Middleware
-Security checks like Token Validation/Access Control
-Target Resolvers
-Unique Http Request Id for Request Traceability
-Rate Limiting
-HTTP Traffic Analysis

If you like the article, please clap for it. Also, share the article with your friends.

--

--

Sujit Udhane

I am Lead Platform Architect, working in Pune-India. I have 20+ years of experience in technology, and last 10+ years working as an Architect.