Application Architectures Flashcards
When would you use N-tier architecture?
The main advantage of an N-tier architecture is that it is portable. So, it would be best to use it when the migration of the system might be necessary
Traditional business domain. Update frequency is low.
What is the major drawback of N-tier architecture?
The major drawback would be its monolithic design. Prevents individual deployment of features
How do N-tier apps communicate?
Asynchronous messaging (decouples tiers)
When do you use Web-Queue worker architecture?
1.) When there is a simple domain with some resource-intensive tasks.
2.) Long workflows or batch operations
3.) When you want to use managed services, rather than IaaS. (Web queue worker works for SaaS and PaaS but not IaaS)
For example Process Optimization
What are the challenges of web-queue worker?
- ) Web and worker can become a large monolithic component.
2. ) Possible hidden dependencies if web and worker share data schemas
When do you use event-driven architecture?
High volume and velocity of data.
IoT and real-time systems
When do you use big data architecture?
When the data to be processed is too much for traditional database systems
Batch and real-time data analysis
When do you use Big compute architecture?
You use Big compute when:
- Discrete tasks need to be split among several cores
- Computations require too much memory for one computer
- Compute intensive VM sizes
- Computationally intensive operations like simulations
- Computations that would take too long on one computer
- Computations that need to be rerun a lot of times
When do you use microservices?
When you need a feature-rich application that is scalable. In other words, an application that could be split into smaller subgroups.
Complicated domain. Frequent updates
Benefits of Microservices architecture?
Agility
Small teams
Scalability
Fault isolation
What is the most convenient storage method for microservices?
Containerized data stores