- The solution proposes a cloud-based e-commerce application using a microservices architecture hosted on Azure. Key services include Azure WAF, VPN, subnets, API Management, Azure AD/OAuth 2.0, Azure Cosmos DB, and Azure Media Services.
- The application would be broken into bounded contexts and microservices for functions like search, browse, cart, orders, recommendations, and administration. Services like Elasticsearch, Redis, Cassandra, and SQL would be used for data storage.
- High risks include cost optimization on the cloud, testing environments, infrastructure as code, microservices communication complexity, training on cloud technologies, and implementing continuous integration/deployment pipelines.
An overview of a cloud-based application solution utilizing Azure services, microservices architecture, and NoSQL databases for scalability.
Details the logical architecture with bounded contexts for different functionalities and high request performance for components like Search and Recommendations.
Describes the technical architecture for audio/video streaming using Azure Media Services.
Discusses high-level risks associated with cloud programs including cost optimization, microservices complexity, and the need for DevSecOps practices.
Solution Approach
- Cloudbased application
- Secured from Internet through Azure WAF, VPN, subnets & API Management using Azure AD/OAuth 2.0
- Microservices architecture
- NoSQL datastore like Azure Cosmos, RavenDB with features like external replication for horizontal scaling/scale-out
functionality to support millions and millions of customers hitting the website.
2.
Logical architecture
Bounded Context
SearchBrowse Cart Orders Recommendations
Wish List Admin
.WAR or .EAR file
Search – 5 million requests per minute
Recommendations – Compute heavy
Orders – Mostly Writes, few Queries
Admin – 5 requests per minute
Search
ElasticSearch
Bounded Context
Browse
Redis
Bounded Context
Recommendations
Cassandra
Bounded Context
Reviews
SQL
Bounded Context
Cart
Redis
Bounded Context
Orders
SQL
Modeling
Product
group category
SKU
Monolith application
Microservices application
Shipping
address customer
Shipping
company
Order
sku
customer
address
record
Performance Scalability Capacity Availability Reliability Recoverability Maintainability Servicability Security
Regulatory Manageability Environmental Data Integrity Usability Interoperability
NFR’s
High level risksin such a program
- Cost optimization (TCO) on Cloud
- Testing environments
- Infrastructure-as-a-code
- Complexity in microservices communication
- Need to go for Service Mesh/Istio for cross-cutting concerns like
logging, configuration, security, service discovery etc.
- Training on Cloud/New Technologies for developers
- Continuous Integration/Continuous Depoyment(CI/CD) using Azure
DevOps. Setting up build and release pipeline.
- DevSecOps with code on demand and cloud native applications
- 12 factor cloud native application
- Inventory availability from various vendors
- API integration issues with various vendors