Application Architectures Flashcards

1
Q

When would you use N-tier architecture?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the major drawback of N-tier architecture?

A

The major drawback would be its monolithic design. Prevents individual deployment of features

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How do N-tier apps communicate?

A

Asynchronous messaging (decouples tiers)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

When do you use Web-Queue worker architecture?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the challenges of web-queue worker?

A
  1. ) Web and worker can become a large monolithic component.

2. ) Possible hidden dependencies if web and worker share data schemas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

When do you use event-driven architecture?

A

High volume and velocity of data.

IoT and real-time systems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

When do you use big data architecture?

A

When the data to be processed is too much for traditional database systems

Batch and real-time data analysis

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

When do you use Big compute architecture?

A

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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

When do you use microservices?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Benefits of Microservices architecture?

A

Agility
Small teams
Scalability
Fault isolation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the most convenient storage method for microservices?

A

Containerized data stores

How well did you know this?
1
Not at all
2
3
4
5
Perfectly