Core Banking
Team Design: Core Banking
Team Design: Core Banking
Please design a high-level architecture using Cloud Resources.
There are many solutions to the problem, which may include:
Compute: Google Compute Engine, Google Kubernetes Engine, Cloud Run Functions, Cloud Run
Storage: Buckets, Transactional SQL (Spanner, CloudSQL, AlloyDB), Analytic SQL (BigQuery), NoSQL (Firestore, Memorystore, BigTable)
Transportation: VPC Networking, Shared VPC, Pub/Sub (event-driven), Serverless products
Project Design: Single-Project, Multiple Projects, Organization, Folder Hierarchy
Permission Consideration: Basic (Owner, Editor, Viewer), Predefined Roles, Custom Roles, Separation of Duties
NOTE: Please do NOT design with App Engine. App Engine is a SINGLE-REGION product and not suitable for this design.
MoonBank is building a new retail bank in the cloud. VERY rapid growth is expected, and the bank must be able to rapidly respond to this growth.
Allow a global footprint (customers everywhere, access from anywhere)
Reduce latency to customer
All resources must be designed in the cloud
Dynamically scale up or down based on customer usage
Connect to a transactional database service to manage customer information
Store banking activity in a time-series database service for future analysis
Ensure that data is not lost due to processing backlogs
Ensure high availability and disaster recovery is accounted for
Green-field implementation. Assuming NOTHING has been implemented yet. Architect a New Bank in the Cloud!
Customers need to interact with MoonBank via a web-based application to:
Login/logout to MoonBank
Check their account balances
Make online payments
Interact with customer service via messages and/or chat
MoonBank needs to have a web-facing front-end.
Design the web infrastructure
MoonBank needs to store and maintain customer contact information.
Design the storage infrastructure
MoonBank needs to keep record of all transactions in/out of accounts.
Design the storage infrastructure
MoonBank needs to be able to reconcile at the end of the day, creating assets and liabilities.
Design the storage and processing infrastructure