Part 1 - Architectures Flashcards
what does the vendor and client manage in
traditional software deployment
because two pieces of software may have specific roles it is sometimes necessary to implement this between them so that the two original pieces of software do not go beyond their purpose or capabilities
describe
middleware
what does the vendor and client manage in
Platform as a Service (PaaS)
describe how cloud computing extends the idea of Service-oriented architecture (SOA)
this extends the idea of Service-oriented architecture (SOA) by being able to offer servers, storage, databases, networking, software, analytics and more over a network and not being limited to services
these include:
* Applications can be accessed over the web instead of being installed locally
* The service provider handles the entire application and hosting
* Users do not have to be concerned about software upgrades and patches
* the provider can provide scalable web applications using a multi-tiered architecture, implemented on a high-performance infrastructure.
give 4 advantages of
Software as a Service (SaaS)
this type of arhitecture would involve the user downloading all content and functionality of the application
describe a
Monolithic - single tier architecture
what does the vendor and client manage in
Infrastructure as a Service (IaaS)
these include:
* Provides some functionality
* Reusable - Is packaged so it can be re used
* Is well defined - has a clear interface and outcome
* **Is self contained **- meaning it is complete and it can work independently, is not tied to any specific product, vendor or technology and so can be used by anyone
* **A black box **- the implementation of the service is hidden (encapsulated) the service consumer does not need to know anything about how it works only the service is offers
* Loose coupling - a failure in one service does not affect another service or the system it is part of, a service can be freely replaced or removed from the application
in the context of Service-oriented architecture (SOA) give 6 points that can summarise a service
**benefit: **how the client is implemented and maintained is no longer your burden
disadvantage: you cannot be sure which client a user is using. the only way to mitigate the uncertainty is to create the rest of your applications architecture using defined and agreed standards
with two-tier architecture and above.
who has control over the client tier
what does the vendor and client manage in
Software as a Service (SaaS)
what might the middle tier also be referred to as
this may also be referred to as the middleware.
when middleware is encountered it is likely that the architecture is multi tiered
these can be created by any 3rd party often called the service provider clients or the service consumer can discover these services via service registrys and use them within their own application
regarding Service-oriented architecture (SOA) how are services created and used
system architecture will take into account:
1. hardware components
2. network components
3. software components
whereas software architecture will break down how parts of the software will be broken down into components
describe the differences between
system architecture
vs
software architecture
these include:
* Software as a Service (SaaS)
* Platform as a Service (PaaS)
* Infrastructure as a Service (IaaS)
what are the 3 main types of
cloud computing models
these include:
* on demand self service
* Broad network access
* Resource pooling
* Rapid elasticity
* Measured service
what are the 5 characteristics that the National Institute of Standards and Technology (NIST) use to define cloud computing
within the context of cloud computing define the characteristic
Broad network access
The capabilities of the cloud can be accessed and used through a standard mechanism that is compatible with various devices such as mobile phones, tablets, workstations
describe the differences between
system architecture
vs
software architecture
system architecture will take into account:
1. hardware components
2. network components
3. software components
whereas software architecture will break down how parts of the software will be broken down into components
in 3 points define
architecture
in terms of the web
- high level view - this is a high level view of web applications and web services and displays the highest level components
- foundation - it is the foundation upon which an application or service will be built upon, meaning cahnges to this are hard later in the development
- the systems overal behaviour and interactionsby creating and viweing this we can understand the interaction between components, their behaviour and the overal behaviour of the system
Gives the consumer the ability to develop and deploy applications on top of cloud architecture. The provider may provide the OS, programming languages, libraries, services, and tools.
describe
Platform as a Service (PaaS)
within the context of cloud computing define the characteristic
Measured service
The provider uses an appropriate abstraction for the resource being used to measure how much of that resource has been used by the customer this can be monitored, controlled, audited, and reported, providing transparency for both the provider and consumer of the utilized service. Billing can occur as a pay as you go or a fixed cost
in the context of an application design process describe
step 1 - architecture
this is Deciding on what high level components are needed, and which components communicate with which
- high level view - this is a high level view of web applications and web services and displays the highest level components
- foundation - it is the foundation upon which an application or service will be built upon, meaning cahnges to this are hard later in the development
- the systems overal behaviour and interactionsby creating and viweing this we can understand the interaction between components, their behaviour and the overal behaviour of the system
in 3 points define
architecture
in terms of the web
how does the National Institute of Standards and Technology (NIST)
**define cloud computing **
NIST define this as:
“a model for enabling ubiquitous, 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.”
these include:
* Currency converter
* Check customer credit
* Take customer payments
* Provide weather data
* Provide map data (google maps)
in the context of Service-oriented architecture (SOA) give 5 examples of what a service might be or offer
describe
Platform as a Service (PaaS)
Gives the consumer the ability to develop and deploy applications on top of cloud architecture. The provider may provide the OS, programming languages, libraries, services, and tools.
describe the
**thick client **
distribution type
for example it may perform calculations or any other manner of further processing on the data from the server
within a multi tiered architecture describe the role of a
data tier
this tier would be responsible for the storage of application and user data
what 2 other names is a client referred to as
this may be referred to as:
* the presentation layer
* the presentation tier
what 3 steps can application design be broken down into
this can be broken down into:
1. architecture
2. design
3. implementation
decsribe
Software as a Service (SaaS)
This provides the consumer with an application that runs on top of cloud architecture. The application can be accessed from a variety of devices. The client does not manage anything except perhaps user specific configuration
this tier would be responsible for the storage of application and user data
within a multi tiered architecture describe the role of a
data tier
The capabilities of the cloud can be accessed and used through a standard mechanism that is compatible with various devices such as mobile phones, tablets, workstations
within the context of cloud computing define the characteristic
Broad network access
what are the 3 main types of
cloud computing models
these include:
* Software as a Service (SaaS)
* Platform as a Service (PaaS)
* Infrastructure as a Service (IaaS)
these include:
* acts as a central point for information and functionality
* Many clients can connect to it
* Can send/receive information from the client
* can hold secure information
give 4 points about a
server
what does the vendor and client manage in
traditional software deployment
give 4 points about a
client
these include:
* A common client is a web browser
* provides an interface for the user
* Can display information from the server
* Can pass information back to the server
in the context of an application design process describe
step 2 - design
Here we make choices about how the application works.
This requires loooking at each architecture component and start making choices.
Looking at the data tier, this could be choices such as what data we will hold and how it is stored
describe a
Multi-tier architecture
This essentially takes the two-tier architecture one step further by subdividing the client and/or the server into further tiers or components
a primary benefit of this is that its components can be easily swapped and changed this though requires that:
* Requires good use of standards
* Requires specific and limited interactions between the tiers
—
if implemented correctly there are many vendors that solve specific tiers, such as:
* Different browsers
* Different web servers
* Different databases
* Different middleware
what is an
advantage of multi tier architecture
these include:
* A common client is a web browser
* provides an interface for the user
* Can display information from the server
* Can pass information back to the server
give 4 points about a
client
for example it may perform calculations or any other manner of further processing on the data from the server
describe the
**thick client **
distribution type
briefly describe
Service-oriented architecture (SOA)
this is a distributed architecture solution that breaks an application up into separate components, where each individual component offers a specific function often referred to as a service
describe
Infrastructure as a Service (IaaS)
This allows the consumer to select the infrastructure they require such as processing, storage, networks, and other fundamental computing resources and then run their own software on top such as an OS or other software. Once the underlying infrastructure has been chosen it is the service provider who manages them
this is made up of only two components being the client and the server, the client can request information from the server and display to the user
describe the
two-tier architecture
Resources and capabilities can be provisioned and released in an elastic fashion. This can in some cases be arranged to happen automatically
within the context of cloud computing define the characteristic
Rapid elasticity
this extends the idea of Service-oriented architecture (SOA) by being able to offer servers, storage, databases, networking, software, analytics and more over a network and not being limited to services
describe how cloud computing extends the idea of Service-oriented architecture (SOA)
This provides the consumer with an application that runs on top of cloud architecture. The application can be accessed from a variety of devices. The client does not manage anything except perhaps user specific configuration
decsribe
Software as a Service (SaaS)
within a multi tiered architecture describe the role of a
middle tier
this tier would be responsible for:
* retrieves data from data tier
* validates user data before passing it to the data tier
* perform any other business logic that the application requires
this may also be referred to as the middleware.
when middleware is encountered it is likely that the architecture is multi tiered
what might the middle tier also be referred to as
in the context of Service-oriented architecture (SOA) give 6 points that can summarise a service
these include:
* Provides some functionality
* Reusable - Is packaged so it can be re used
* Is well defined - has a clear interface and outcome
* **Is self contained **- meaning it is complete and it can work independently, is not tied to any specific product, vendor or technology and so can be used by anyone
* **A black box **- the implementation of the service is hidden (encapsulated) the service consumer does not need to know anything about how it works only the service is offers
* Loose coupling - a failure in one service does not affect another service or the system it is part of, a service can be freely replaced or removed from the application
what does the vendor and client manage in
Infrastructure as a Service (IaaS)
This essentially takes the two-tier architecture one step further by subdividing the client and/or the server into further tiers or components
describe a
Multi-tier architecture
Here we start selecting products and languages that will fullfill the architecture and design choices
in the context of an application design process describe
step 3 - implementation
within the context of cloud computing define the characteristic
Resource pooling
The provider has large resources which are pooled into a single resource and can be sliced up for the demands of individual users.
describe the
two-tier architecture
this is made up of only two components being the client and the server, the client can request information from the server and display to the user
give 4 advantages of
Software as a Service (SaaS)
these include:
* Applications can be accessed over the web instead of being installed locally
* The service provider handles the entire application and hosting
* Users do not have to be concerned about software upgrades and patches
* the provider can provide scalable web applications using a multi-tiered architecture, implemented on a high-performance infrastructure.
describe a
Monolithic - single tier architecture
this type of arhitecture would involve the user downloading all content and functionality of the application
this tier will simply handle connections with clients
within a multi tiered architecture describe the role of a
server tier
This allows the consumer to select the infrastructure they require such as processing, storage, networks, and other fundamental computing resources and then run their own software on top such as an OS or other software. Once the underlying infrastructure has been chosen it is the service provider who manages them
describe
Infrastructure as a Service (IaaS)
this can be broken down into:
1. architecture
2. design
3. implementation
what 3 steps can application design be broken down into
this tier would be responsible for:
* retrieves data from data tier
* validates user data before passing it to the data tier
* perform any other business logic that the application requires
within a multi tiered architecture describe the role of a
middle tier
within a multi tiered architecture describe the role of a
server tier
this tier will simply handle connections with clients
what does the vendor and client manage in
Platform as a Service (PaaS)
with two-tier architecture and above.
who has control over the client tier
**benefit: **how the client is implemented and maintained is no longer your burden
disadvantage: you cannot be sure which client a user is using. the only way to mitigate the uncertainty is to create the rest of your applications architecture using defined and agreed standards
this is Deciding on what high level components are needed, and which components communicate with which
in the context of an application design process describe
step 1 - architecture
regarding Service-oriented architecture (SOA) how are services created and used
these can be created by any 3rd party often called the service provider clients or the service consumer can discover these services via service registrys and use them within their own application
these include:
* thin client
* thick client
what are the two distribution types of a client
give 3 disadvantages of client-server architectures
because the data is most likely being transmitted over a network this has the disadvantages of:
* Potentially slow speeds
* unreliable connection
* security issues
what is an
advantage of multi tier architecture
a primary benefit of this is that its components can be easily swapped and changed this though requires that:
* Requires good use of standards
* Requires specific and limited interactions between the tiers
—
if implemented correctly there are many vendors that solve specific tiers, such as:
* Different browsers
* Different web servers
* Different databases
* Different middleware
what are the two distribution types of a client
these include:
* thin client
* thick client
what does the vendor and client manage in
Software as a Service (SaaS)
this may be referred to as:
* the presentation layer
* the presentation tier
what 2 other names is a client referred to as
give 4 benefits of
client-server architectures
- dynamic content - Content can be dynamic and easily changed (vs downloading an entire app with all the data and functionality)
- maintain control - Allows the application developers to maintain and control the application (vs a single app)
- interchangable client - the client may change with no problems just as long as it can support the information the server gives to it(ie the client must be using the same standrads you are)
- cost saving - where 3rd party clients are used
describe
middleware
because two pieces of software may have specific roles it is sometimes necessary to implement this between them so that the two original pieces of software do not go beyond their purpose or capabilities
The provider has large resources which are pooled into a single resource and can be sliced up for the demands of individual users.
within the context of cloud computing define the characteristic
Resource pooling
NIST define this as:
“a model for enabling ubiquitous, 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.”
how does the National Institute of Standards and Technology (NIST)
**define cloud computing **
within the context of cloud computing define the characteristic
On demand self service
The consumer can themselves provision and release resources such as server time and storage without requiring human interaction from the service provider
give 4 points about a
server
these include:
* acts as a central point for information and functionality
* Many clients can connect to it
* Can send/receive information from the client
* can hold secure information
within the context of cloud computing define the characteristic
Rapid elasticity
Resources and capabilities can be provisioned and released in an elastic fashion. This can in some cases be arranged to happen automatically
in the context of an application design process describe
step 3 - implementation
Here we start selecting products and languages that will fullfill the architecture and design choices
what are the 5 characteristics that the National Institute of Standards and Technology (NIST) use to define cloud computing
these include:
* on demand self service
* Broad network access
* Resource pooling
* Rapid elasticity
* Measured service
describe the
**thin client **
distribution type
this is a client that Simply acts as an interface for information. It makes requests to the server and only displays what the server has given it
this is a client that Simply acts as an interface for information. It makes requests to the server and only displays what the server has given it
describe the
**thin client **
distribution type
in the context of Service-oriented architecture (SOA) give 5 examples of what a service might be or offer
these include:
* Currency converter
* Check customer credit
* Take customer payments
* Provide weather data
* Provide map data (google maps)
because the data is most likely being transmitted over a network this has the disadvantages of:
* Potentially slow speeds
* unreliable connection
* security issues
give 3 disadvantages of client-server architectures
- dynamic content - Content can be dynamic and easily changed (vs downloading an entire app with all the data and functionality)
- maintain control - Allows the application developers to maintain and control the application (vs a single app)
- interchangable client - the client may change with no problems just as long as it can support the information the server gives to it(ie the client must be using the same standrads you are)
- cost saving - where 3rd party clients are used
give 4 benefits of
client-server architectures
Here we make choices about how the application works.
This requires loooking at each architecture component and start making choices.
Looking at the data tier, this could be choices such as what data we will hold and how it is stored
in the context of an application design process describe
step 2 - design
The consumer can themselves provision and release resources such as server time and storage without requiring human interaction from the service provider
within the context of cloud computing define the characteristic
On demand self service
this is a distributed architecture solution that breaks an application up into separate components, where each individual component offers a specific function often referred to as a service
briefly describe
Service-oriented architecture (SOA)
The provider uses an appropriate abstraction for the resource being used to measure how much of that resource has been used by the customer this can be monitored, controlled, audited, and reported, providing transparency for both the provider and consumer of the utilized service. Billing can occur as a pay as you go or a fixed cost
within the context of cloud computing define the characteristic
Measured service