Rasmussen College Microsoft Azure Application Scalability Paper The attachment includes a description of the assignment on the top, grading rubrik, and the class material on the bottom. All listed in the grading rubrik has to be met when writing the 5-6 page paper on how to handle application scaling. Deliverable 1 – How to Handle Application Scalability
Competency
Summarize cloud applications scalability concepts
Scenario
You are a software developer for a retail company that sells mobile
phones via the web. Your company has deployed the entire website onto
the public cloud. The mobile manufacturing company launches a new
mobile every year. Your companys website gets ten times the traffic
during the new mobile launch. Customers often complain about the
timeout and slow website performance. Some of are even moving to
other competitors websites, directly impacting your annual profit.
The public cloud provides various options to handle website scalability.
Your manager has asked you to investigate various alternatives and
walk through the best possible cost-effective solution. The goal is to
handle the scale up of the application during the pick load and scale
down during the less load.
The public cloud company also provides a cost calculator to estimate
the approximate cost to host the solution.
Instructions
In a Microsoft Word document of 5-6 pages, provide a step by step walk
through to your manager and discuss following points.
The public cloud vendor you have selected.
A description of the public cloud architecture for your web application.
A description of the components that are required for your public cloud
and their functionality.
An explanation of how scale up and scale down will work.
How security will be enhanced.
A description of the benefits of deploying to multiple cloud regions.
An overview of serverless architecture and the benefits provided.
The approximate cost to host your design on the cloud.
Be sure use a professional tone and check grammar and spelling.
References
Include a minimum of 5 scholarly resources.
Resources
To calculate the cost, please visit:
o
Azure Cost Calculator
o
AWS Cost Calculator
o
AZURE Scalable Architecture
o
AWS Scale Architecture Overview
o
Google Scalable Architecture
For additional writing assistance, please visit the Rasmussen College
Writing Guide
For additional assistance on APA formatting, please visit the Rasmussen
College APA Citation Guide
Grading Rubric
Class Material
Module 1 Introduction
Module 1 Introduction
In this module, you will have the opportunity to master the following
competency:
Summarize cloud application scalability concepts.
Furthermore, the content in this module will help you achieve the following
learning objectives:
o
Describe the importance of application scalability.
o
Explore the various application scalability options available on a
public cloud.
o
Analyze application scalability and how it benefits zero downtime.
The Importance of
Application Scalability
In this lecture, you will learn about the importance of application
scalability. You will also learn how to scale the application on a public
cloud.
Application scalability is defined as the capacity capability of a system to
grow to handle a higher amount of traffic. It also means that capacity
should shrink once traffic is reduced. Here is an example to help you
understand this concept:
Your web application allows customers to order cellphones and
accessories. Your application is currently deployed on two virtual
machines and handles 100k customers per day. Your web application
performs the background check and then allows customers to order
cellphones. It is expected that your application will get a higher amount of
traffic in the event of a new cellphone model launch. If your application
gets 100k customers per hour instead of per day, your application
performance is going to be severely degraded. This will also have a direct
impact on customer transactions and customers will often notice timeout
issues. The application should scale to handle many customer
transactions. There are two types of scaling.
3. Vertical Scaling: You can upgrade the memory/CPU for the existing
servers. The implementation is simple. Also, servers consume fewer power
requirements. You no longer need to worry about new server licenses for
the Windows operating system. However, hardware cost is one of the big
factors in this type of scaling because CPU/Memory is often expensive. In
addition, if the entire server fails, then all your application users will be
impacted with this approach.
4. Horizontal Scaling: You can add more web servers and deploy your
application for scalability purposes. It will be a lot easier to handle the
upgrades. However, the license costs for the server operating system will
be higher as you need to pay for each additional license. The utility costs
will be also higher with this approach.
You need to evaluate both types of scaling and determine the correct type
of scaling based on your requirements. The application should scale
during higher traffic and scale down during less traffic.
Application scalability and performance are two different concepts. If your
application is slow for a set number of users, then it has performance
issues. If the traffic is higher, then application performance is degraded for
all customers. In this scenario, our application has a scalability issue.
Here are the main advantages of application scalability:
Application scalability will assist you in providing excellent customer
experience for your application. Customers are getting a response from
your application within an expected time instead of waiting and receiving
application timeouts. Here is an example:
You are working for an online retail company. Your web application provides a
customer response after 2 minutes during the holiday season. If you do not fix the
issue, this will have a direct impact on your profit.
If you scale the application during the load, it will also increase the
customer base for you. Your application creates a positive reputation and
gets a larger user base. Your companys profit will increase as the number
of customers increases.
You will also get a better return on investment with application scalability.
Application scalability often requires higher server costs as you need a
greater number of servers to manage load. You will also attract more
customers by scaling your application.
A public cloud provides several services that help handle application
scalability.
(Created using the AWS Icons)
Your web application is deployed on an EC2 instance (a cloud virtual
machine). Both servers are attached to the auto scaling group. You can
define the following rules to handle application scaling.
5. If CPU usage is higher than 80%, add an additional server.
6. If memory usage is higher than 80%, add an additional server.
7. If CPU usage is lower than 80%, remove a server.
The EC2 instances are also registered with the Elastic Load Balancer for
load balancing purposes. All client requests come to the Load balancer
and are then routed to the appropriate server. If an additional server is
available, then ELB detects the server and starts sending traffic to that
node.
Resources
Auto-Scaling Web Applications in Clouds: A Taxonomy and Survey
Chenhao Qu, Rodrigo N. Calheiros, Rajkumar Buyya
Auto-scaling web applications in a hybrid cloud based on docker
Model-Driven Deployment of Auto-Scaling Services on Multiple Clouds
Evaluating Auto-scaling Strategies for Cloud Computing Environments
Auto-scaling for various patterns of workflow within deadline time and
energy-aware VM allocation in a cloud environment
Application Scalability and Zero Downtime
Application Scalability and
Zero Downtime
In this section, you will learn how to handle application scalability for zero
downtime. You will also learn the benefits of having zero downtime.
Application reliability and fault tolerance are the most important
characteristics of software applications. Application reliability means that
your application is up and running 24/7. Your application is also serving
customers requests within a set amount of time. Fault tolerance means
that your application should continue to work even in case of a disaster.
Let us review various scenarios:
Your application is deployed on a server inside the Florida data center. A
natural disaster occurred and the entire data center is down. Your
application is also down.
The software application only handles 100 transactions per minute. The
application now receives 1000 transactions per minute due to a special
event. Your application is not scaling. It means that your customer
response time increases and will often cause timeouts for customer
requests.
The software application requires 1 GB RAM to process a customer
request. Your application is running on a server with only 500 MB RAM.
Your customers will see a direct performance impact due to the availability
of less resources.
We need to understand how to handle application scalability and zero
downtime. Your application is currently deployed on a single EC2 (Virtual
Server). This EC2 receives all of the customer traffic and then processes all
of the customer requests. The server can process 1000 requests every
hour. If the EC2 instance goes down or receives more than 1000 requests,
customers will receive timeout issues
Step 1: Let us improve the architecture and add a node to Availability
Zone 1. The public cloud has a region and an availability zone. Public
cloud companies such as AWS have various regions such as US-East,
US-West, etc. Each region contains several availability zones. An
availability zone is just a data center. Availability zones are connected
with low latency links.
You created an additional virtual server (EC2 instance) and deployed your
application within it. However, the problem still exists: if the entire
availability zone goes down, then your application will also go down. Also,
your application can only handle 2000 requests at max with two servers. If
you receive more than 2000 requests, your application will experience
timeout issues.
Step 2: Let us improve the architecture by deploying the application on
another availability zone and adding a load balancer. The load balancer
checks the status of the virtual machine and routes requests based on the
server capacity.
Here are the issues with the above architecture:
If the entire region is down, then both availability zones are also down
You are still handling only 1000 user requests per virtual machine
Step 3: Let us improve the architecture by including multiple regions along
with multiple availability zones so that, if the entire region goes down, your
application is still up and running.
Step 4: Your application is covered with zero downtime even in the event of
a disaster. Each EC2 is capable of handling 1000 requests. You can handle
2000 requests per minute with the above architecture. However, you still
need to perform application scaling to handle more than 2000 requests.
You can do that by attaching an auto scaling group and creating policies
within it.
This architecture can ensure that your applications are up and running
during the following events:
Natural disaster
Public cloud availability
Zone or region failure
Additional user requests
This architecture also enables us to have zero downtime. There are many
benefits to having zero application downtime:
Reputation
No service interruptions
Increased revenue
Zero Downtime is a process worth implementing. It provides a positive
user experience.
Resources
Application Cluster Service Scheme for Near-Zero-Downtime Services
Using Application Data for SLA-Aware Auto-scaling in Cloud Environments
Protection of Cloud Services from Disaster Using Recovery Mechanism with
Openstack
A new approach to disaster recovery as a service over cloud for database
system
Cloud computing: Virtualization and resiliency for data center computing
Model Driven Deployment of Auto-Scaling Services on Multiple Clouds
Which Cloud Auto-Scaler Should I Use for my Application?: Benchmarking
Auto-Scaling Algorithms
Monitoring-based auto-scalability across hybrid clouds
Purchase answer to see full
attachment
Consider the following information, and answer the question below. China and England are international trade…
The CPA is involved in many aspects of accounting and business. Let's discuss some other…
For your initial post, share your earliest memory of a laser. Compare and contrast your…
2. The Ajax Co. just decided to save $1,500 a month for the next five…
How to make an insertion sort to sort an array of c strings using the…
Assume the following Keynesian income-expenditure two-sector model: AD = Cp + Ip Cp = Co…