Lecture 2: SOA Flashcards

1
Q

SOA

A

Service-Oriented Architecture

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

Web Service

A

Essentially anything you can use on the internet

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

What does SOA?

A
  • utilizes services as the constructsto support the development of rapid, low-cost and easy composition of distributed applications
  • composing applications by discovering and invoking network-available services
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

SOA encapsulate business functions such as:

A
  • Business task (funds withdrawal)
  • Business process (purchase order)
  • Application (life insurance)
  • Service-enabled resource (patient records)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Types of (Web)services

A
  • Informational services (stateless)

- Complex Services (stateful)

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

Service Design Principles

A
  • Loose Coupling (degree of dependency)

- Service Granularity

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

Simpel Information Systems

A
  • Light weight
  • Fine grained
  • Module dependencies
  • Reusable
  • Not easy to use
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Complex systems

A
  • Heavy weight
  • Coarse grained
  • Context-dependencies
  • Easy to use
  • Not reusable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Microservices

A

Variation of SOA applied on an application scale

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

To address the new IT world (Microservices)

A
  • Speed of Delivery
  • Scalability
  • Innovation/experimentation
  • Cloud/DevOps
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Microservice Design Principles

A
  1. Modularity
  2. Autonomous
  3. Hiding Implementation Details
  4. Automation
  5. Stateless
  6. Highly observable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Modularity

A
  • Loose coupling
  • Single Business logic
  • Maintainable and Understandable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Autonomous

A
  • Independent

- Takes full responsibility over business logic

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

Automation

A
  • CI/CD (Continuous Integration / Continuous Delivery)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Highly Observable

A
  • Log files

- Splunk

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

Advantages of Microservices

A
  • Selective Scalability (only increase one microservice)
  • Evolutionary Design (experimentation allowed)
  • Agility (simple to develop)
  • High Availability (load balancing)
  • Technology Invariants (all programming languages)
16
Q

Advantages of Microservices

A
  • Selective Scalability (only increase one microservice)
  • Evolutionary Design (experimentation allowed)
  • Agility (simple to develop)
  • High Availability (load balancing)
  • Technology Invariants (all programming languages)
17
Q

Drawback Microservice

A
  • Performance: all interactions via HTTP
  • Complex Integration: requires thorough testing
  • Synchronous vs. Asynchronous: requires careful design
  • Distributed system: Consistency vs. Availability (CAP theorem)
18
Q

Conclusion

A
  • The microservicesarchitecture is more complex than a monolithic architecture
  • Strong benefit is the capability to maintain, grow & scale easily