Elasticity in Cloud Computing Explained
Elasticity in Cloud Computing Explained
BCAM-051
BY
DR. CHITRANGADA CHAUBEY
ASSISTANT PROFESSOR
CSE & ALLIED SPECIALIZED BRANCHES
UNIT- I
➢The term is generally used to describe data centers available to many users over
the Internet.
WHAT IS CLOUD
▪ The term Cloud refers to a Network or Internet. In other words, we can say
that Cloud is something, which is present at remote location.
▪ Automatic System: Cloud computing automatically analyzes the data needed and
supports a metering capability at some level of services. We can monitor, control,
and report the usage. It will provide transparency for the host as well as the
customer.
▪ Economical: It is the one-time investment as the company (host) has to buy the
storage and a small part of it can be provided to the many companies which save
the host from monthly or yearly costs. Only the amount which is spent is on the
basic maintenance and a few more expenses which are very less.
▪ Security: Cloud Security , is one of the best features of cloud computing. It creates a
snapshot of the data stored so that the data may not get lost even if one of the
servers gets damaged. The data is stored within the storage devices, which cannot be
hacked and utilized by any other person. The storage service is quick and reliable.
▪ Pay as you go: In cloud computing, the user has to pay only for the service or the
space they have utilized. There is no hidden or extra charge which is to be paid. The
service is economical and most of the time some space is allotted for free.
▪ Measured Service: Cloud Computing resources used to monitor and the company
uses it for recording. This resource utilization is analyzed by supporting charge-per-
use capabilities. This means that the resource usages which can be either virtual
server instances that are running in the cloud are getting monitored measured and
reported by the service provider. The model pay as you go is variable based on actual
consumption of the manufacturing organization.
PROS: CLOUD
CLOUD COMPUTING : ADVANTAGES
• Cost efficiency: The biggest reason behind companies shifting to Cloud Computing
is that it takes considerably lesser cost than any on-premise technology. Now,
companies need not store data in disks anymore as the cloud offers enormous
storage space, saving money and resources.
• High speed: Cloud Computing lets us deploy the service quickly in fewer clicks. This
quick deployment lets us get the resources required for our system within minutes.
• Excellent accessibility: Storing information in the cloud allows us to access it
anywhere and anytime regardless of the machine making it a highly accessible and
flexible technology of the present times.
• Back-up and restore data: Once data is stored in the cloud, it is easier to get its
back-up and recovery, which is quite a time-consuming process in on-premise
technology.
• Manageability: Cloud Computing eliminates the need for IT infrastructure updates
and maintenance since the service provider ensures timely, guaranteed, and seamless
delivery of our services and also takes care of all the maintenance and management of
our IT services according to the service-level agreement (SLA).
• Sporadic batch processing: Cloud Computing lets us add or subtract resources and
services according to our needs. So, if the workload is not 24/7, we need not worry
about the resources and services getting wasted and we won’t end up stuck with
unused services.
• Strategic edge: Cloud Computing provides a company with a competitive edge over its
competitors when it comes to accessing the latest and mission-critical applications
that it needs without having to invest its time and money on their installations. It lets
the company focus on keeping up with the business competition by offering access to
the most trending and in-demand applications and doing all the manual work of
installing and maintaining the applications for the company.
CLOUD COMPUTING: DISADVANTAGES
• Vulnerability to attacks: Storing data in the cloud may pose serious challenges of
information theft since in the cloud every data of a company is online. Security breach
is something that even the best organizations have suffered from and it’s a potential
risk in the cloud as well. Although advanced security measures are deployed on the
cloud, still storing confidential data in the cloud can be a risky affair.
• Limited control: Cloud customers may face limited control over their deployments.
Cloud services run on remote servers that are completely owned and managed by
service providers, which makes it hard for the companies to have the level of control
that they would want over their back-end infrastructure.
• Vendor lock-in: When in need to migrate from one cloud platform to another, a
company might face some serious challenges because of the differences between
vendor platforms. Hosting and running the applications of the current cloud platform
on some other platform may cause support issues, configuration complexities, and
additional expenses. The company data might also be left vulnerable to security
attacks due to compromises that might have been made during migrations.
The architecture is mainly divides the cloud architecture into two parts:
1) FRONT END
2) BACK END
3) INTERNET CONNECTIVITY
2. BACK END
• The back end is the CLOUD section of the system.
• It involves all the resources which are necessary to give cloud computing services.
• It includes huge data storage, virtual machines, security mechanism, services,
deployment models, servers etc.
• To give built-in security mechanism, traffic control and protocols is the
responsibility of the back end.
ADVANTAGE DISADVANTAGE
• The PaaS service is meant for the support of a full lifecycle of a web application:
➢ Development
➢ Testing
➢ Deployment
➢ Management
➢ Updating
PaaS consists of :
ADVANTAGE DISADVANTAGE
• Reduced Costs
• Dependency on Vendor
• Improved Time to Market
• Compatibility of Existing Infrastructure
• Continuous Updates
• Security Risks
• Scalability
• Freedom of Action
INFRASTRUCTURE AS A SERVICE (IaaS)
ADVANTAGE DISADVANTAGE
• The purpose of distributed systems is to share resources and also use them
effectively and efficiently.
• Distributed systems possess characteristics such as :
➢ Scalability
➢ Concurrency
➢ Continuous availability
➢ Heterogeneity
➢ Independence in failures
• But the main problem with this system was that all the systems were required to be
present at the same geographical location. Thus to solve this problem, distributed
computing led to three more types of computing and they were-mainframe computing,
cluster computing, and grid computing.
Mainframe computing:
• Mainframes which first came into existence in 1951 are highly powerful and reliable
computing machines.
• These are responsible for handling large data such as massive input-output
operations.
• Even today these are used for bulk processing tasks such as online transactions etc.
• These systems have almost no downtime with high fault tolerance.
• After distributed computing, these increased the processing capabilities of the
system.
• But these were very expensive. To reduce this cost, cluster computing came as an
alternative to mainframe technology.
Cluster computing:
In 1990s, the concept of grid computing was introduced. It means that different
systems were placed at entirely different geographical locations and these all were
connected via the internet. These systems belonged to different organizations and
thus the grid consisted of heterogeneous nodes. Although it solved some problems
but new problems emerged as the distance between the nodes increased. The main
problem which was encountered was the low availability of high bandwidth
connectivity and with it other network associated issues. Thus. Cloud computing is
often referred to as “successor of grid computing”.
Virtualization:
It was introduced nearly 40 years back. It refers to the process of creating a virtual layer
over the hardware which allows the user to run multiple instances simultaneously on
the hardware. It is a key technology used in cloud computing. It is the base on which
major cloud computing services such as Amazon EC2, VMware vcloud, etc work on.
Hardware virtualization is still one of the most common types of virtualization.
Web 2.0:
It is the interface through which the cloud computing services interact with the clients.
It is because of web 2.0 that we have interactive and dynamic web pages. It also
increases flexibility among web pages. Popular examples of web 2.0 include Google
maps, facebook, twitter, etc. Needless to say, social media is possible because of this
technology only. In gained major popularity in 2004.
Service orientation:
It acts as a reference model for cloud computing. It supports low-cost, flexible, and
evolvable applications. Two important concepts were introduced in this computing
model. These were quality of service (QoS) which also includes the SLA (service level
agreement) and software as a service (SaaS).
Utility computing:
Here are a few situations where cloud computing is used to enhance the ability to
achieve business goals.
Disadvantages
• The multi-core architectures consume a lot of power.
• Parallel solutions are more difficult to implement, debug, and prove right due
to the complexity of communication and coordination, and they frequently
perform worse than their serial equivalents.
DISTRIBUTED COMPUTING
Disadvantages
• The multi-core architectures consume a lot of power.
• Parallel solutions are more difficult to implement, debug, and prove right due
to the complexity of communication and coordination, and they frequently
perform worse than their serial equivalents.
DIFFERENCE BETWEEN PARALLEL & DISTRIBUTED COMPUTING
[Link] Parallel Computing Distributed Computing
4. It may have shared or distributed memory It have only distributed (own) memory
Processors communicate with each other Computer communicate with each other
5.
through bus through message passing.
In this, processors share memory and In this, processors have their own private
communicate directly using the shared memory and communicate via message
7.
memory via bus. passing.
It helps to improve the system performance It allows for scalability, resource sharing, &
8.
the efficient completion of computation tasks.
In cloud computing, the term cloud scalability refers to the capacity to improve
or reduce IT resources, depending on the requirement changing demand. In
other words, we can say that scalability is employed to satisfy the static growth
in the workload.
What is Elasticity?
Let’s consider a business website; with the rising business graph, there are
more hits on the website. The server performance starts degrading with an
increase in hits. The load is managed by Scaling the resources like CPUs
(Processors), RAM, disk capacity etc.
The strategy involves decreasing the server’s load rather than expanding
the capacity of the individual server. The Horizontal Scaling strategy is
also termed Scaling out. Load balancing, clustering, and distributed file
system are crucial strategies for Horizontal Scaling. Horizontal Scaling
caters to portioning of the data where each node contains a single part of
the data.
Businesses choose horizontal Scaling to enhance the I/O concurrency,
reduce the load on existing nodes and expand disk capacity. The servers’
ability to interchangeably manage a single session or millions of single
sessions is the epitome of Horizontal Scaling.
Benefits of Horizontal Scaling
1. Flexible Scaling tools
2. Easy fault-tolerance
3. Enhanced resilience due to discrete, multiple systems
4. Easy to upgrade
5. Limitless Scaling with endless additions of server instances
6. Cost-effective implementation
Difference between Horizontal and Vertical Scaling
Horizontal Scaling Vertical Scaling
Horizontal Scaling is defined as the Vertical Scaling is defined as the ability
ability to extend capacity by interfacing to increase an existing system’s
different hardware or software entities capacity by adding resources
It is based on partitioning where each The data is present on a single node
node contains a single part of data and is scaled through multicore
It is referred to as Scale-out It is referred to as Scale-up
The licensing fee is costly The licensing is cost-effective
It requires a load balancer to distribute
Scaling the server capacity enhances
load among the servers within a
the load capacity of the server
system
It implies boosting the power of
It implies boosting the power of the
individual server with the existing
individual server
server
Elasticity in Cloud Computing
• Cloud Elasticity is the property of a cloud to grow or shrink capacity for CPU, memory, and storage resources to adapt
to the changing demands of an organization. Cloud Elasticity can be automatic, without need to perform capacity
planning in advance of the occasion, or it can be a manual process where the organization is notified they are running
low on resources and can then decide to add or reduce capacity when needed. Monitoring tools offered by the cloud
provider dynamically adjust the resources allocated to an organization without impacting existing cloud-based
operations.
• A cloud provider is said to have more or less elasticity depending on the degree to which it is able to adapt to
workload changes by provisioning or deprovisioning resources autonomously to match demand as closely as possible.
This eliminates the need for IT administration staff to monitor resources to determine if additional CPU, memory, or
storage resources are needed, or whether excess capacity can be decommissioned.
• Cloud Elasticity is often associated with horizontal scaling (scale-out) architecture, and it generally associated with
public cloud provider resources that are billed on a pay-as-you-go basis. This approach brings real-time cloud
expenditures more closely in alignment with the actual consumption of cloud services, for example when virtual
machines (VMs) are spun up or down as demand for a particular application or service varies over time.
• Cloud Elasticity provides businesses and IT organizations the ability to meet any unexpected jump in demand, without
the need to maintain standby equipment to handle that demand. An organization that normally runs certain
processes on-premises can ‘cloudburst’ to take advantage of Cloud Elasticity and meet that demand, returning to on-
premises operations only when the demand has passed. Thus, the result of cloud elasticity is savings in infrastructure
costs, in human capital, and in overall IT costs.
Why is Cloud Elasticity important
• Without Cloud Elasticity, organizations would have to pay for capacity that remained
unused for most of the time, as well as manage and maintain that capacity with OS
upgrades, patches, and component failures. It is Cloud Elasticity that in many ways defines
cloud computing and differentiates it from other computing models such as client-server,
grid computing, or legacy infrastructure.
• Cloud Elasticity helps businesses avoid either over-provisioning (deploying and allocating
more IT resources than needed to serve current demands) or under-provisioning (not
allocating enough IT resources to meet existing or imminent demands).
• Organizations that over-provision spend more than is necessary to meet their needs,
wasting valuable capital which could be applied elsewhere. Even if an organization is
already utilizing the public cloud, without elasticity, thousands of dollars could be wasted
on unused VMs every year.
• Under-provisioning can lead to the inability to serve existing demand, which could lead to
unacceptable latency, user dissatisfaction, and ultimately loss of business as customers
abandon long and unresponsive online services and take their business to more responsive
organizations. In this way, the lack of Cloud Elasticity can lead to lost business and severe
bottom-line impacts.
Typical use cases for Cloud Elasticity include:
• Retail or e-tail holiday seasonal demand, in which demand increases dramatically from Black Friday
shopping specials until the end of the holiday season in early January
• School district registration which spikes in demand during the spring and wanes after the school
term begins
• Businesses that see a sudden spike in demand due to a popular product introduction or social media
boost, such as a streaming service like Netflix adding VMs and storage to meet the demand for a new
release or positive review.
• Disaster Recovery and Business Continuity (DR/BC). Organizations can leverage public cloud
capabilities to provide off-site snapshots or backups of critical data and applications and spin up
VMs in the cloud if on-premises infrastructure suffers an outage or loss.
• Scale virtual desktop infrastructure in the cloud for temporary workers or contractors or for
applications such as remote learning
• Scale infrastructure into the cloud for test and development activities and tear it down once test/dev
work is complete.
• Unplanned projects with short timelines
• Temporary projects like data analytics, batch processing, media rendering, etc.
Benefits of Cloud Elasticity
• Agility: By eliminating the need to purchase, configure, and install new infrastructure when demand changes,
Cloud Elasticity prevents the need to plan for such unexpected demand spikes, and enables organizations to
meet any unexpected demand, whether due to seasonal spike, mention on Reddit, or selection by Oprah’s book
club.
• Pay-as-needed pricing: Rather than paying for infrastructure whether or not is is being used, Cloud Elasticity
enables organizations to pay only for the resources that are in use at any given point tin time, closely tracking IT
expenditures to the actual demand in real-time. In this way, although spending may fluctuate, organizations can
‘right-size’ their infrastructure as elasticity automatically allocates or deallocates resources on the basis of real-
time demand. Amazon has stated that organizations that adopt its instance scheduler with their EC2 cloud
service can achieve savings of over 60 percent versus organizations that do not.
• High Availability: Cloud elasticity facilitates both high availability and fault tolerance, since VMs or containers
can be replicated if they appear to be failing, helping to ensure that business services are uninterrupted and
that users do not experience downtime. This helps ensure that users perceive a consistent and predictable
experience, even as resources are provisioned or deprovisioned automatically and without impact on
operations.
• Efficiency: As with most automations, the ability to autonomously adjust cloud resources as needed enables IT
staff to shift their focus away from provisioning and onto projects that are more beneficial to the organization.
• Speed/Time-to-market: organizations have access to capacity in minutes instead of the weeks or months it may
take through a traditional procurement process.
Challenges of Cloud Elasticity
• Cloud Elasticity is only useful to organizations that experience rapid or periodic increases or decreases in
demand for IT services. Organizations with predictable, steady demand most likely would not find an advantage
in the benefits of Cloud Elasticity. Here are some potential challenges with Cloud Elasticity
• Time to provision: Although cloud VMs can be spun up on-demand, there can still be a lag time of up to several
minutes before it is available for use. This may or not be enough time base on a specific application or service
demands, and can impact performance when a sudden surge occurs, such as when a sign-on storm occurs at
the beginning of the business day.
• Cloud Provider Lock-in: Although all major public cloud providers offer Cloud Elasticity solution, each are
implemented differently, which cloud mean that organizations are locked into a single vendor for their cloud
needs.
• Security Impact: Cloud services that spin up and down in an elastic fashion can impact existing security
workflows and require them to be reimagined. Since elastic systems are ephemeral, incident response may be
impacted, for example when a server experiencing a security issue spins down as demand wanes.
• Resource Availability: Cloud Elasticity does require modifications to existing cloud or on-premises
deployments. Organizations that do not outsource their IT management will need to acquire technical expertise
including architects, developers, and admins to help ensure that a Cloud Elasticity plan is properly configured to
meet the organization’s specific needs. This can also introduce a learning curve delay as the newly acquired
talent come up to speed on new environments, languages, and automation tools and processes that need to be
implemented.
Difference between Scalability and Elasticity in Cloud
Computing
[Link] Elasticity Scalability
1 It is used just to fulfil the sudden requirement It is used to fulfil the static boost in
in the workload for a short period. the workload.