Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Unit 1

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 16

Introduction to Cloud Computing

Cloud Computing is the delivery of computing services such as servers, storage, databases,
networking, software, analytics, intelligence, and more, over the Cloud (Internet).
Cloud computing is the services provided on the Internet to store a vast amount of data in one
place and can be used from anywhere and from any place. This minimizes the cost of the
physical installation of the data centers and servers.
Some examples of cloud computing are −
 Dropbox − It is a one-stop solution for all the services like file storage, sharing, and managing
the system.
 Microsoft Azure − It provides a wide range of services like the backup of data and any sudden
recovery from any type of disaster.

Cloud Computing provides an alternative to the on-premises datacentre. With an on-premises


datacentre, we have to manage everything, such as purchasing and installing hardware,
virtualization, installing the operating system, and any other required applications, setting up the
network, configuring the firewall, and setting up storage for data. After doing all the set-up, we
become responsible for maintaining it through its entire lifecycle.
But if we choose Cloud Computing, a cloud vendor is responsible for the hardware purchase and
maintenance. They also provide a wide variety of software and platform as a service. We can
take any required services on rent. The cloud computing services will be charged based on usage.

The cloud environment provides an easily accessible online portal that makes handy for the user
to manage the compute, storage, network, and application resources. Some cloud service
providers are in the following figure.
o Cost: It reduces the huge capital costs of buying hardware and software.
o Speed: Resources can be accessed in minutes, typically within a few clicks.
o Scalability: We can increase or decrease the requirement of resources according to the business
requirements.
o Productivity: While using cloud computing, we put less operational effort. We do not need to
apply patching, as well as no need to maintain hardware and software. So, in this way, the IT
team can be more productive and focus on achieving business goals.
o Reliability: Backup and recovery of data are less expensive and very fast for business
continuity.
o Security: Many cloud vendors offer a broad set of policies, technologies, and controls that
strengthen our data security.
Types of Cloud Computing

o Public Cloud: The cloud resources that are owned and operated by a third-party cloud service
provider are termed as public clouds. It delivers computing resources such as servers, software,
and storage over the internet
o Private Cloud: The cloud computing resources that are exclusively used inside a single business
or organization are termed as a private cloud. A private cloud may physically be located on the
company’s on-site datacentre or hosted by a third-party service provider.
o Hybrid Cloud: It is the combination of public and private clouds, which is bounded together by
technology that allows data applications to be shared between them. Hybrid cloud provides
flexibility and more deployment options to the business.
Types of Cloud Services

1. Infrastructure as a Service (IaaS): In IaaS, we can rent IT infrastructures like servers and
virtual machines (VMs), storage, networks, operating systems from a cloud service vendor. We
can create VM running Windows or Linux and install anything we want on it. Using IaaS, we
don’t need to care about the hardware or virtualization software, but other than that, we do have
to manage everything else. Using IaaS, we get maximum flexibility, but still, we need to put
more effort into maintenance.
2. Platform as a Service (PaaS): This service provides an on-demand environment for developing,
testing, delivering, and managing software applications. The developer is responsible for the
application, and the PaaS vendor provides the ability to deploy and run it. Using PaaS, the
flexibility gets reduce, but the management of the environment is taken care of by the cloud
vendors.
3. Software as a Service (SaaS): It provides a centrally hosted and managed software services to
the end-users. It delivers software over the internet, on-demand, and typically on a subscription
basis. E.g., Microsoft One Drive, Dropbox, WordPress, Office 365, and Amazon Kindle. SaaS is
used to minimize the operational cost to the maximum extent.

Definition of Cloud
The term cloud refers to a network or the internet. It is a technology that uses remote servers on
the internet to store, manage, and access data online rather than local drives. The data can be
anything such as files, images, documents, audio, video, and more.
There are the following operations that we can do using cloud computing:
o Developing new applications and services
o Storage, back up, and recovery of data
o Hosting blogs and websites
o Delivery of software on demand
o Analysis of data
o Streaming videos and audios
Why Cloud Computing?
Small as well as large IT companies, follow the traditional methods to provide the IT
infrastructure. That means for any IT company, we need a Server Room that is the basic need
of IT companies.
In that server room, there should be a database server, mail server, networking, firewalls, routers,
modem, switches, QPS (Query Per Second means how much queries or load will be handled by
the server), configurable system, high net speed, and the maintenance engineers.
To establish such IT infrastructure, we need to spend lots of money. To overcome all these
problems and to reduce the IT infrastructure cost, Cloud Computing comes into existence.
Characteristics of Cloud Computing
The characteristics of cloud computing are given below:
1) Agility
The cloud works in a distributed computing environment. It shares resources among users
and works very fast.
High availability and reliability
The availability of servers is high and more reliable because the chances of infrastructure
failure are minimum.
3) High Scalability
Cloud offers "on-demand" provisioning of resources on a large scale, without having
engineers for peak loads.
4) Multi-Sharing
With the help of cloud computing, multiple users and applications can work more
efficiently with cost reductions by sharing common infrastructure.
5) Device and Location Independence
Cloud computing enables the users to access systems using a web browser regardless of their
location or what device they use e.g. PC, mobile phone, etc. As infrastructure is off-
site (typically provided by a third-party) and accessed via the Internet, users can connect
from anywhere.
6) Maintenance
Maintenance of cloud computing applications is easier, since they do not need to be installed
on each user's computer and can be accessed from different places. So, it reduces the cost
also.
7) Low Cost
By using cloud computing, the cost will be reduced because to take the services of cloud
computing, IT company need not to set its own infrastructure and pay-as-per usage of
resources.
Services in the pay-per-use mode
Application Programming Interfaces (APIs) are provided to the users so that they can access
services on the cloud by using these APIs and pay the charges as per the usage of services.
Evolution of Cloud Computing
The phrase “Cloud Computing” was first introduced in the 1950s to describe internet-related
services, and it evolved from distributed computing to the modern technology known as cloud
computing. Cloud services include those provided by Amazon, Google, and Microsoft. Cloud
computing allows users to access a wide range of services stored in the cloud or on the
Internet. Cloud computing services include computer resources, data storage, apps, servers,
development tools, and networking protocols.

Distributed
Systems
Distributed System is a composition of multiple independent systems but all of them are
depicted as a single entity to the users. 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, and 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 1980s, cluster computing came as an alternative to mainframe computing. Each machine in
the cluster was connected to each other by a network with high bandwidth. These were way
cheaper than those mainframe systems. These were equally capable of high computations.
Also, new nodes could easily be added to the cluster if it was required. Thus, the problem of
the cost was solved to some extent but the problem related to geographical restrictions still
pertained. To solve this, the concept of grid computing was introduced.
Grid 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
Virtualization 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
Web 2.0 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. It
gained major popularity in 2004.
Service Orientation
A service orientation 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
Utility Computing is a computing model that defines service provisioning techniques for
services such as compute services along with other major services such as storage,
infrastructure, etc which are provisioned on a pay-per-use basis.
Cloud Computing
Cloud Computing means storing and accessing the data and programs on remote servers that
are hosted on the internet instead of the computer’s hard drive or local server. Cloud
computing is also referred to as Internet-based computing, it is a technology where the
resource is provided as a service through the Internet to the user. The data that is stored can be
files, images, documents, or any other storable document.
Underlaying principles of parallel and distributed computing
Parallel Computing:
In parallel computing multiple processors performs multiple tasks assigned to them
simultaneously. Memory in parallel systems can either be shared or distributed. Parallel
computing provides concurrency and saves time and money.
Distributed Computing :
In distributed computing we have multiple autonomous computers which seems to the user as
single system. In distributed systems there is no shared memory and computers communicate
with each other through message passing. In distributed computing a single task is divided
among different computers.
There are mainly two computation types, including parallel computing and distributed
computing. A computer system may perform tasks according to human instructions. A single
processor executes only one task in the computer system, which is not an effective way. Parallel
computing solves this problem by allowing numerous processors to accomplish tasks
simultaneously. Modern computers support parallel processing to improve system performance.
In contrast, distributed computing enables several computers to communicate with one another
and achieve a goal. All of these computers communicate and collaborate over the network.
Distributed computing is commonly used by organizations such as Facebook and Google that
allow people to share resources.
In this article, you will learn about the difference between Parallel Computing and Distributed
Computing. But before discussing the differences, you must know about parallel computing and
distributed computing.
What is Parallel Computing?
It is also known as parallel processing. It utilizes several processors. Each of the processors
completes the tasks that have been allocated to them. In other words, parallel computing involves
performing numerous tasks simultaneously. A shared memory or distributed memory system can
be used to assist in parallel computing. All CPUs in shared memory systems share the memory.
Memory is shared between the processors in distributed memory systems.
Parallel computing provides numerous advantages. Parallel computing helps to increase the CPU
utilization and improve the performance because several processors work simultaneously.
Moreover, the failure of one CPU has no impact on the other CPUs' functionality. Furthermore,
if one processor needs instructions from another, the CPU might cause latency.
Advantages and Disadvantages of Parallel Computing
There are various advantages and disadvantages of parallel computing. Some of the advantages
and disadvantages are as follows:
Advantages
1. It saves time and money because many resources working together cut down on time and costs.
2. It may be difficult to resolve larger problems on Serial Computing.
3. You can do many things at once using many computing resources.
4. Parallel computing is much better than serial computing for modeling, simulating, and
comprehending complicated real-world events.
Disadvantages
1. The multi-core architectures consume a lot of power.
2. 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.
What is Distributing Computing?
It comprises several software components that reside on different systems but operate as a single
system. A distributed system's computers can be physically close together and linked by a local
network or geographically distant and linked by a wide area network (WAN). A distributed
system can be made up of any number of different configurations, such as mainframes, PCs,
workstations, and minicomputers. The main aim of distributed computing is to make a network
work as a single computer.
There are various benefits of using distributed computing. It enables scalability and makes it
simpler to share resources. It also aids in the efficiency of computation processes.
Advantages and Disadvantages of Distributed Computing
There are various advantages and disadvantages of distributed computing. Some of the
advantages and disadvantages are as follows:
Advantages
1. It is flexible, making it simple to install, use, and debug new services.
2. In distributed computing, you may add multiple machines as required.
3. If the system crashes on one server, that doesn't affect other servers.
4. A distributed computer system may combine the computational capacity of several computers,
making it faster than traditional systems.
Disadvantages
1. Data security and sharing are the main issues in distributed systems due to the features of open
systems
2. Because of the distribution across multiple servers, troubleshooting and diagnostics are more
challenging.
3. The main disadvantage of distributed computer systems is the lack of software support.
4. Head-to-head Comparison between the Parallel Computing and Distributed Computing
Features Parallel Computing Distributed Computing

Definition It is a type of computation in It is that type of computing in which the components ar


which various processes runs located on various networked systems that interact an
simultaneously. coordinate their actions by passing messages to on
another.

Communication The processors communicate The computer systems connect with one another via
with one another via a bus. network.

Functionality Several processors execute Several computers execute tasks simultaneously.


various tasks simultaneously in
parallel computing.

Number of It occurs in a single computer It involves various computers.


Computers system.

Memory The system may have Each computer system in distributed computing has i
distributed or shared memory. own memory.

Usage It helps to improve the system It allows for scalability, resource sharing, and th
performance efficient completion of computation tasks.
Cloud characteristics
1. On-demand self-services: The Cloud computing services does not require any human
administrators, user themselves are able to provision, monitor and manage computing
resources as needed.
2. Broad network access: The Computing services are generally provided over standard
networks and heterogeneous devices.
3. Rapid elasticity: The Computing services should have IT resources that are able to scale out
and in quickly and on a need basis. Whenever the user require services it is provided to him
and it is scale out as soon as its requirement gets over.
4. Resource pooling: The IT resource (e.g., networks, servers, storage, applications, and
services) present are shared across multiple applications and occupant in an uncommitted
manner. Multiple clients are provided service from a same physical resource.
5. Measured service: The resource utilization is tracked for each application and occupant, it
will provide both the user and the resource provider with an account of what has been used.
This is done for various reasons like monitoring billing and effective use of resource.
6. Multi-tenancy: Cloud computing providers can support multiple tenants (users or
organizations) on a single set of shared resources.
7. Virtualization: Cloud computing providers use virtualization technology to abstract
underlying hardware resources and present them as logical resources to users.
8. Resilient computing: Cloud computing services are typically designed with redundancy and
fault tolerance in mind, which ensures high availability and reliability.
9. Flexible pricing models: Cloud providers offer a variety of pricing models, including pay-per-
use, subscription-based, and spot pricing, allowing users to choose the option that best suits
their needs.
10. Security: Cloud providers invest heavily in security measures to protect their users’ data and
ensure the privacy of sensitive information.
11. Automation: Cloud computing services are often highly automated, allowing users to deploy
and manage resources with minimal manual intervention.
12. Sustainability: Cloud providers are increasingly focused on sustainable practices, such as
energy-efficient data centers and the use of renewable energy sources, to reduce their
environmental impact.

Elasticity in Cloud
Elasticity refers to the ability of a cloud to automatically expand or compress the
infrastructural resources on a sudden up and down in the requirement so that the workload can
be managed efficiently. This elasticity helps to minimize infrastructural costs. This is not
applicable for all kinds of environments, it is helpful to address only those scenarios where the
resource requirements fluctuate up and down suddenly for a specific time interval. It is not
quite practical to use where persistent resource infrastructure is required to handle the heavy
workload.
The versatility is vital for mission basic or business basic applications where any split the
difference in the exhibition may prompts enormous business misfortune. Thus, flexibility
comes into picture where extra assets are provisioned for such application to meet the
presentation prerequisites.
It works such a way that when number of client access expands, applications are naturally
provisioned the extra figuring, stockpiling and organization assets like central processor,
Memory, Stockpiling or transfer speed what’s more, when fewer clients are there it will
naturally diminish those as
per prerequisite.
The Flexibility in cloud is a well-known highlight related with scale-out arrangements (level
scaling), which takes into consideration assets to be powerfully added or eliminated when
required.
It is for the most part connected with public cloud assets which is generally highlighted in pay-
per-use or pay-more only as costs arise administrations.
The Flexibility is the capacity to develop or contract framework assets (like process, capacity
or organization) powerfully on a case by case basis to adjust to responsibility changes in the
applications in an autonomic way.
It makes make most extreme asset use which bring about reserve funds in foundation costs in
general.
Relies upon the climate, flexibility is applied on assets in the framework that isn’t restricted to
equipment, programming, network, QoS and different arrangements.
The versatility is totally relying upon the climate as now and again it might become negative
characteristic where execution of certain applications probably ensured execution.
It is most commonly used in pay-per-use, public cloud services. Where IT managers are
willing to pay only for the duration to which they consumed the resources.
Example: Consider an online shopping site whose transaction workload increases during
festive season like Christmas. So for this specific period of time, the resources need a spike up.
In order to handle this kind of situation, we can go for a Cloud-Elasticity service rather than
Cloud Scalability. As soon as the season goes out, the deployed resources can then be
requested for withdrawal.
Cloud Scalability: Cloud scalability is used to handle the growing workload where good
performance is also needed to work efficiently with software or applications. Scalability is
commonly used where the persistent deployment of resources is required to handle the
workload statically.
Example: Consider you are the owner of a company whose database size was small in earlier
days but as time passed your business does grow and the size of your database also increases,
so in this case you just need to request your cloud service vendor to scale up your database
capacity to handle a heavy workload.
It is totally different from what you have read above in Cloud Elasticity. Scalability is used to
fulfill the static needs while elasticity is used to fulfill the dynamic need of the organization.
Scalability is a similar kind of service provided by the cloud where the customers have to pay-
per-use. So, in conclusion, we can say that Scalability is useful where the workload remains
high and increases statically.
Types of Scalability:
1. Vertical Scalability (Scale-up) –
In this type of scalability, we increase the power of existing resources in the working
environment in an upward direction.
2. Horizontal Scalability: In this kind of scaling, the resources are added in a horizontal row.

3. Diagonal Scalability –
It is a mixture of both Horizontal and Vertical scalability where the resources are added both
vertically and horizontally.

Difference Between Cloud Elasticity and Scalability :


Cloud Elasticity Cloud Scalability

Elasticity is used just to meet the sudden up


Scalability is used to meet the static increase
and down in the workload for a small period
in the workload.
1 of time.

Elasticity is used to meet dynamic changes,


Scalability is always used to address the
where the resources need can increase or
increase in workload in an organization.
2 decrease.

Elasticity is commonly used by small Scalability is used by giant companies whose


companies whose workload and demand customer circle persistently grows in order to
3 increases only for a specific period of time. do the operations efficiently.

It is a short term planning and adopted just to Scalability is a long term planning and
deal with an unexpected increase in demand adopted just to deal with an expected increase
4 or seasonal demands. in demand.

What is Cloud Elasticity?


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.
How does Cloud Elasticity Work?
Cloud Elasticity enables organizations to rapidly scale capacity up or down, either automatically
or manually. Cloud Elasticity can refer to ‘cloud bursting’ from on-premises infrastructure into
the public cloud for example to meet a sudden or seasonal demand. Cloud Elasticity can also
refer to the ability to grow or shrink the resources used by a cloud-based application.
Cloud Elasticity can be triggered and executed automatically based on workload trends, or can
be manually instantiated, often in minutes. Before organizations had the ability to leverage Cloud
Elasticity, they would have to either have additional stand-by capacity already on hand or would
need to order, configure, and install additional capacity, a process that could take weeks or
months.
If and when demand eases, capacity can be removed in minutes. In this manner, organizations
pay only for the amount of resources in use at any given time, without the need to acquire or
retire on-premises infrastructure to meet elastic demand.
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.
What are the Benefits of Cloud Elasticity?
The benefits of cloud elasticity include:
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.
What are the Challenges in 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.
On-demand provisioning
On-demand computing (ODC) is a delivery model in which computing resources are made
available to the user as needed. The resources might be maintained within the user's enterprise or
made available by a cloud service provider.
The on-demand business computing model was developed to overcome the challenge of
enterprises meeting fluctuating demands efficiently. Because an enterprise's demand for
computing resources can be unpredictable at times, maintaining sufficient resources to meet peak
requirements can be costly. And cutting costs by only maintaining minimal resources means
there are likely insufficient resources to meet peak loads. The on-demand model provides an
enterprise with the ability to scale computing resources up or down whenever needed, with the
click of a button.
As the term suggests, on-demand computing simply means making computing resources
available to users on demand. The term cloud computing is often used as a synonym for on-
demand computing when the services are provided by a third party -- such as a cloud
hosting organization (also known as a cloud service provider or CSP). For this reason, the
definition of on-demand computing can be extended to the cloud realm as "a delivery model in
which cloud computing resources such as compute, storage, networking, and software are made
available to the user as per their need or demand."
On-demand computing normally provides computing resources such as storage capacity, or
hardware and software applications. The service itself is provided with methods
including virtualization, computer clusters and distributed computing.
How does cloud computing on-demand work?
In the context of cloud computing, the on-demand computing model is characterized by three
attributes: scalability, pay-per-use and self-service. Whether the resource is an application
program that helps team members collaborate or provides additional storage, the computing
resources are elastic, metered and easy to obtain.
When an organization pairs with a third party, such as a CSP, to provide on-demand computing,
it either subscribes to the service or uses a pay-per-use model. The third party then provides
computing resources whenever needed, including when the organization is working on
temporary projects, has expected or unexpected workloads, or has long-term computing
requirements. For example, a retail organization could use on-demand computing to scale up its
online services, providing additional computing resources during a high-volume time, like Black
Friday.
How does cloud computing provide on-demand functionality?
On-demand computing often involves cloud computing methods, such as infrastructure as a
service (IaaS), software as a service (SaaS), desktop as a service (DaaS), platform as a service
(PaaS), managed hosting services, as well as cloud storage and backup services.
 IaaS provides virtualized computing resources over the internet.
 SaaS is a software distribution model where a cloud provider hosts applications and makes them
available to users over the internet.
 DaaS is a form of cloud computing where a third party hosts the back end of a virtual desktop
infrastructure.
 PaaS is a model in which a third-party provider hosts customer applications on their
infrastructure. Hardware and software tools are delivered to users over the internet.
 Managed hosting services are an IT provisioning and cloud server hosting model where a
service provider leases dedicated servers and associated hardware to a single customer and
manages those systems on the customer's behalf.
 Cloud storage is a service model where data is transmitted and stored securely on remote
storage systems, where it is maintained, managed, backed up and made available to users over a
network.
 Cloud backup is a strategy for sending a copy of a file or database to a secondary location for
preservation in case of equipment failure.
These cloud-based services are typically made on-demand and in real time for users. Computing
resources are delivered using a shared pool of servers, storage devices, networks and
applications.
Cloud hosting providers may provide an enterprise-level control panel where they can quickly
view and scale up or down their cloud services. An organization could use this to access the
storage space, speed, software applications, servers or networks they need at any given time.
What are the advantages of on-demand computing?
The on-demand computing model was developed to overcome the challenge of enterprises
meeting fluctuating demands efficiently. Because an enterprise's demand for computing
resources can be unpredictable at times, maintaining sufficient resources to meet peak
requirements can be costly. And, cutting costs by only maintaining minimal resources means
there likely are insufficient resources to meet peak loads. The on-demand model provides an
enterprise with the ability to scale computing resources up or down whenever needed, with the
click of a button.
In addition, on-demand computing offers the following benefits:
 Flexibility to meet fluctuating demands. Users can quickly increase or decrease their
computing resources as needed -- either short-term or long-term.
 Eliminates the need to purchase, maintain and upgrade hardware. The CSP managing the
on-demand services handles resources such as servers and hardware, system updates and
maintenance so the user organization is saved from making large capital expenditures on these
elements. Organizations also don't have to worry about updating or maintaining those resources
because the CSP takes care of these aspects as well.
 User-friendly. Many cloud-based, on-demand computing services in the cloud are user-friendly
and easy to access since they are available via a self-service model. This enables most users to
easily acquire additional computing resources with minimal or no help from their IT department.
This can help speed up access to these business or mission-critical resources, which then
improves business agility.
 Access to the latest technologies. The largest CSPs invest in the latest technologies such
as machine learning, computer vision, and the internet of things (IoT) that organizations can
access for their requirements without having to make large investments. For smaller companies,
access to these technologies helps level the playing field, allowing them to innovate and compete
on equal grounds with larger competitors.
The possible drawbacks of on-demand computing
Notwithstanding the benefits of on-demand computing, organizations must also be aware of
some of its possible pitfalls. For example, they must be concerned about the unauthorized use of
added resources via on-demand computing. This problem is known as shadow IT and can pose
security risks for the organization. This is because the added resources (by employees without
the permission, approval, or knowledge of the IT team) might contain
security vulnerabilities that can be exploited by threat actors to compromise the organization and
its resources (such as its accounts or data).
For this reason, IT departments should perform periodic cloud audits to identify unauthorized use
of on-demand applications and other rogue IT scenarios, and then take appropriate action to
remove those resources. It's also important to train users about the risks of shadow IT with on-
demand computing.
The future of on-demand computing
Large vendors such as Amazon Web Services, HPE, IBM and Microsoft offer on-demand
computing products. Microsoft, for example, provides Azure SaaS and AWS offers pay-as-you-
go pricing with its IaaS offerings.

You might also like