Question

In: Computer Science

present and critically discuss key attributes of two cloud design patterns offered by commercial cloud services...

present and critically discuss key attributes of two cloud design patterns offered by commercial cloud services providers. Explain what use cases the design patterns address and how they operate (Should NOT be, Web hosting, Lab-on demand, testing facility and Performance cluster)

Solutions

Expert Solution

Before discussing the two cloud design patterns of our choice offered by a commercial cloud service provider, let us first look at the challenges in cloud development:

1) availability- proportion of time for which system is functional and working ( percentage of uptime). This is affected by system errors, infrastructure problems, malicious attacks, etc. To resolve this issue cloud provides users with SLA ( service level agreement) to users, this helps in maximizing the availability.

2) data management- data is hosted in different locations and across multiple servers for reason such as performance, scalability, availability. Data consistency and data synchronisation becomes a major concern.

3) design and implementation- consistency and coherency in designing and deployment of components, maintanibility to simply administration and development, reusability to allow components and subsystems in other applications becomes important.

4) messaging- messaging infrastructure that connects components and services ideally in a loosely coupled manner to maximize scalability becomes important because of the distributed nature of cloud.

5) management and monitoring- management of information to administer and operators for handling requests and customising without stopping application.

6) performance and scalability- responsiveness to system to evaluate any action within a given time interval and ability of a syasys to handle increase in load without impact on performance or for availability resources to be readily increased.

7) reseliency- gracefully handling and recovering failures

8) security- prevent malicious or accidental actions outside of designed usage.

Before we present and discuss the key attributes of the two cloud design patterns and also present with the relevant usecases and how they operate, let us first have a brief look over the key attributes of any generalized cloud design pattern:

1) pattern name - summary, brief description

2) issues that led to pattern creation

3) issues/challenges- to be solved through this pattern

4) resolution in cloud- description of terms/ how to solve problems in cloud

5) implementation- how to implement pattern using AWS

6) benefits- application of pattern

7) notes: description of tradeoffs, advantages, design and points to note when applying this pattern

8) other: comparison with other patterns, use cases

Now, we will discuss the first cloud design pattern and for this we have selected Ambassador pattern:

1) Ambassador pattern

2) description-

a) useful for offloading commercial client connectivity tasks such as monitoring, logging, routing, security (such as TLS).

b) used with legacy applications or other applications that are difficult to modify, in order to extend network capabilities.

3) issues- circuit breaking, routing, metering, monitoring, ability to awake network related configuration updates.

4) challenges- network calls require substantial configuration, authentication and authorisation. Network and security functionality need to be managed by central trigger within an organisation.

5) solution-

a) client framework and libraries are put into external process to act as a proxy between your application and external services.

b) deploy proxy on same host environment as your application to allow control over routing, reseliency, security features and to avoid any host related access restrictions

c) to standardise and extend instrumentation

6) benefits-

a) need to build a common set of client connectivity features for multiple layers or framework

b) need to offload cross cutting client community concerns to infrastructure development

c) need to support cloud requirements in legacy applications

7) disadvantages-

a) when network requirement is critical this is not appropriate cloud design to choose

b) when client community features are consumed by a single language, this is not an effective cloud design pattern to rely on

c) when connectivity features can not be generalized

8) An application addressing usecases by ambassador design pattern is attached as image file in this answer.

The other design pattern that we are going to discuss is : Gatekeeper

1) description- protects applications and services by using a dedicated host instance that act as a broker between clients and applications or services, validates and sanitized requests, and passes requests and data by them.

2) issues- if a malicious user is able to compromise with the system or gain access to the application hosting environment.

3) challenge- application exposes their functionality to clients by accepting and processing requests.

4) resolution- use a facade/dedicated task that interacts with clients and then hands off the requests- perhaps through a decoupled interface to the hosts or tasks that will handle the request.

5) benefits-

a) controlled validation- the gatekeeper validates all requests, and rejects those that doesn't meet validation requirements

b) limited risk and exposure- the gatekeeper doesn't have access to credentials used by trusted host to access stage and services

c) application security- the gatekeeper runs in a limited private mode. Acts like a firewall.

6) when to use-

a) applications that handle sensitive information

b) distributed applications when it's necessary to perform request validation repeatedly for maintenance

7) limitations-

a) the gatekeeper must be in a limited private mode

b) impacts performance of the sussys due to added extra layer to application to implement gatekeeper pattern

c) single point of failure

8) diagram illustrating what usecases the gatekeeper design pattern addresses is attached as image format.


Related Solutions

Research various cloud-based data warehouse services offered by businesses such as Amazon.
Research various cloud-based data warehouse services offered by businesses such as Amazon.
From your research, discuss how the design patterns that you found support a key aspect of software design such as scalability, adaptability, security, dependability, etc.
In your own word write 500–600 words that respond to the following questions on Architectural design patterns, and complete the following: From your research, discuss how the design patterns that you found support a key aspect of software design such as scalability, adaptability, security, dependability, etc. Include specific examples of design decisions that you would make based on the design patterns.
Analyse the potential effects of climate on building design and services: Critically analyse: - The potential...
Analyse the potential effects of climate on building design and services: Critically analyse: - The potential effect of environmental resources to the building design and services - The potential effect of local climate on building design and services. Smart building.
or each of the design patterns listed below, briefly discuss the purpose of that pattern and...
or each of the design patterns listed below, briefly discuss the purpose of that pattern and explain how its use contributed to the code you developed for your Maze Game in Assignment 2. Your explanation should provide specific examples from your game that illustrate the function performed by the implementation of each pattern. a)      Command Pattern b)      State Pattern c)      Singleton Pattern
Discuss the main sources of risk in commercial banking, and critically discuss the Value-at-Risk (VaR) approach...
Discuss the main sources of risk in commercial banking, and critically discuss the Value-at-Risk (VaR) approach to risk measurement.
Using Eclipse, create two classes; Services and Supplies. Class Services should have two private attributes numberOfHours...
Using Eclipse, create two classes; Services and Supplies. Class Services should have two private attributes numberOfHours and ratePerHour of type double. Class Supplies should also have two private attributes numberOfItems and pricePerItem of type double. For each class, provide its getter and setter functions, a default constructor, and a constructor that will take the two of its private attributes. Create method calculateSales() for each class that will calculate the cost accrued. For example, the cost accrued for the Services class...
Discuss the impact of GST in indai on the goods and services offered by any cement...
Discuss the impact of GST in indai on the goods and services offered by any cement company.
Discuss the key legal attributes of a company? How does a company differ from a partnership...
Discuss the key legal attributes of a company? How does a company differ from a partnership business structure? 1000 words
3. Describe how to deploy applications over commercial cloud computing infrastructures Amazon Web Services, Windows Azure,...
3. Describe how to deploy applications over commercial cloud computing infrastructures Amazon Web Services, Windows Azure, Google AppEngine
3. Describe how to deploy applications over commercial cloud computing infrastructures: 1) Amazon Web Services, 2)...
3. Describe how to deploy applications over commercial cloud computing infrastructures: 1) Amazon Web Services, 2) Windows Azure, 3) Google AppEngine
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT