L4 - Monoliths Flashcards

1
Q

What is Monolothic software architecture?

A

A modular way of building software whereby the software functionality is split into modules and built by developing and integrating the modules into one another.

This results in a single, centralised piece of software.

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

What are the pros and cons of Monolithic architecture?

A

Pros:
- Easier management and maintenance due to centralised components.

Cons:
- Single point of failure

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

Explain how Alexa is an example of Monolithic software architecture, and give the modules that it consists of…

A

Amazon Alexa is monolithic due to being made up of centralised modules of functionality.

Modules include: Knowledge Engine, speech to text, text to speech, Alexa.

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

Define each of the modules in Amazon Alexa…

A

Knowledge Engine: Provides question answering capabilities.
Speech to text: Enables Alexa to comprehend speech input from user.
Text to speech: Enables Alexa to respond to user instructions.
Alexa: Encapsulates other modules.

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

Explain 4 advantages of using Monolithic architecture…

A

Development: One language in one project is simply and easy to manage.

Testing: Central search space makes it easier to debug, test and locate errors.

Scaling: Scale vertically. This means once the system running the software can’t cope with the workload, the software can be transported to a more powerful system.

Databases: Monolithic systems often communicated with a single database. This makes database management simpler and easier.

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

What type of database do monolithic systems often utilise?

A

Centralised.

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

Define a database transaction…

A

A client interaction with a database.

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

Define the Commit and Abort transactions…

A

Commit -> A successful commit to the database in which the new state of the database is saved.

Abort -> A failure to commit a database change, resulting in reverting back to the prior state.

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

What are the ACID database properties?

A

Atomicity: Commits finish an entire transaction in it’s entirety, or rolls back to the prior state. There is no in between.

Consistency: Any change maintains data integrity or it cancelled entirely.

Isolation: Transactions should happen in isolation of one another to prevent concurrency issues such as race condition. This can be done via locking the contact point of the database.

Durability: Effects of transactions have to persist, even in the case of system failure.

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

What is a way to ensure Isolation when communication with a database?

A

Perform locking on the database to prevent concurrency issues such as a race condition.

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