Lesson 3: Service Oriented Architectures & Cloud Computing Flashcards

1
Q

What were some architectural issues with how they designed distributed systems in the old days?

A
  • data redundancy
  • synchronization problems
  • vendor and application “lock in”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What were some integration issues with how they designed distributed systems in the old days?

A
  • isolated data silos
  • administrative nightmare
  • integration/customization nightmare
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Which software engineering approaches were an inspiration on the renew design of distributed systems?

A
  • Object-oriented design
  • Component-oriented design
  • Service orientation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Describe the object-oriented software engineering approach.

A
  • based on mental model of actual of imagined objects
  • modelling real-world environments
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Describe the component-oriented software engineering approach.

A
  • focus on separation of concerns
  • split into loosely coupled reusable components
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Describe the service-orientation software engineering approach.

A
  • foundation in component-oriented design
  • component = service
  • service is often interchangeable & stand-alone
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a service?

A
  • Physical independent software program
  • loosely coupled
  • distinct design characteristics
  • capabilities are often defined in terms of a contract
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is a SOA?

A

Service Oriented Architecture.
It is an approach to designing systems, a set of design principles. It is a way of thinking about a problem, a mindset.

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

Explain the service-oriented part of SOA

A

Service-oriented: the core unit of design is a service
(implementing a capability so that it can be easily consumed

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

Explain the ‘architecture’ part of SOA

A

Architecture = style of design

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

What is SOA from a technical perspective?

A

An architecure for designing systems.
-> a service exposes a discrete capability, any application that needs the capability uses the service

A service exposes its capability via an interface

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

Compare a SOA against an application-centric design perspective

A
  • monolithic application silos
  • duplication of functionality
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Give the full detailed definition of SOA

A

A paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. It provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations.

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

What is a multi-tenancy?

A

A single instance of the software runs on a server, serving multiple client-organizations.

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

What types of multi-tenancy are there?

A
  • Data multi-tenancy
  • Application multi-tenancy
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Why do we need SOA?

A
  • allows multi-tenancy
  • promotes reusability
  • promotes exchangeability
17
Q

What are the differences between data and application multi-tenancy?

A

!!!!!! Fill in later
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

18
Q

What is cloud computing? Give the definition?

A

Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.

19
Q

What are some characteristics of IT services as a utility?

A
  • On-demand access to resources
  • Elasticity
  • Pay-per-use
20
Q

What are the key differences between traditional in-house IT and X as a Service?

A

Traditional in-house IT has
 Cash up front
 24/7 use
 Limited Capacity
 Long Lead Time

while X as a Service has
 Pay as you go
 Metered use
 ‘infinite’ capacity
 Short lead time

21
Q

Explain Software as a Service.

A

It delivers special-purpose software that is remotely accessible by consumers through the Internet with a usage-based pricing model.

22
Q

What are some characteristics of using a provider’s application as a service?

A

 Limited user-specific application configuration
 Accessibility through tin clients on various devices
 Automated upgrades and patching

23
Q

Explain Platform as a Service

A

It offers a high-level integrated environment to build, test and deploy custom applications. Generally, developpers will need to accept some restrictions to the type of software they write in exchange for built-in application scalability.

Increased efficiency at cost of lock in

24
Q

Explain Infrastructure as a Service.

A

It provisions hardware, software and equipment to deliver software application environments with a resource usage-based pricing model. The resulting infrastructure can scale up and down dynamically based on application resource needs.

25
Q

What are the characteristics of the application development environment of Platform as a Service?

A

 Provider-constrained components and languages
 Specific use cases
 Speedup development & deployment process
 Automated application scaling

26
Q

What increases in this direction?
IaaS -> PaaS -> Saas

A

provider control, transparency and efficiency

27
Q

What increases in this direction?
IaaS <- PaaS <- SaaS

A

standardization and interoperability

28
Q

What are the 3 main enablers?

A
  • Virtualization Technology & Standards
  • Web Service Technology & Standards
  • Large capital investments by major players & economies of scale
29
Q

What are the three payment models, seen in class?

A
  • Per-instance billing: pay for every hour a VM is used (you pay for idle machines)
  • Reserved usage: up-front payment & reservation, lower rates
  • Bidding: you define a maximum instance price, price varies on the load of the cloud
30
Q

What are characteristics of a public cloud?

A

 Publically shared virtualized resources
 Supports multiple customers
 Supports connectivity over the internet
 Suited for less confidential information

31
Q

What deployment models are there?

A
  • public cloud
  • community clouds (hosted by several organizations)
  • hybrid clouds, combinations of above