Unit - 1
Unit - 1
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.
Cost: It reduces the huge capital costs of buying hardware and software.
Speed: Resources can be accessed in minutes, typically within a few clicks.
Scalability: We can increase or decrease the requirement of resources according to
the business requirements.
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.
Reliability: Backup and recovery of data are less expensive and very fast for
business continuity.
Security: Many cloud vendors offer a broad set of policies, technologies, and
controls that strengthen our data security.
Security and privacy: Data stored in virtual data centers can be vulnerable to data
loss, theft, leakage, and other risks. Security concerns can be especially important
for companies with sensitive information.
Vendor lock-in: Companies may be unable to switch to a different cloud service
provider due to high switching costs or the difficulty of migrating large amounts of
data.
Downtime: Cloud computing can experience technical issues like network outages
and reboots, which can disrupt business operations.
Limited control: The cloud service provider owns and manages the cloud
infrastructure, which can limit the user's control and flexibility.
Cost: Cloud computing can incur unforeseen costs and unexpected expenses.
Integration complexity: Integrating cloud computing with existing systems can be
complex.
Internet dependency: Most cloud-based data storage requires an internet
connection.
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.
Definition of 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.
The following are some of the Operations that can be performed with Cloud
Computing
Storage, backup, and recovery of data
Delivery of software on demand
Development of new applications and services
Streaming videos and audio
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.
1. 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.
2. 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.
3. 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.
4. 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”.
5. 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.
6. 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.
7. 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).
8. 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.
9. 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.
Examples
Fault Tolerance: The failure of one node means that this node is no longer part
of the computations, but that is not fatal for the entire computation since there are
other computers participating in the process thereby making the system more
reliable.
Cost-Effective: Builds upon existing hardware and has flexibility in utilizing
commodity machines instead of the need to have expensive and specific
processors for its use.
Scalability: The distributed systems have the ability to scale and expand
horizontally through the addition of more machines in the networks and therefore
they can take on greater workloads and processes.
Geographic Distribution: Distributed computing makes it possible to execute
tasks at different points thereby eliminating latencies.
There are many characteristics of Cloud Computing here are few of them :
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.
Cloud Elasticity:
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.
On-demand Provisioning
Resource Provisioning means the selection, deployment, and run-time
management of software (e.g., database server management systems, load
balancers) and hardware resources (e.g., CPU, storage, and network) for ensuring
guaranteed performance for applications.
Resource Provisioning is an important and challenging problem in the large-scale
distributed systems such as Cloud computing environments.
There are many resource provisioning techniques, both static and dynamic each
one having its own advantages and also some challenges.
These resource provisioning techniques used must meet Quality of Service (QoS)
parameters like availability, throughput, response time, security, reliability etc.,
and thereby avoiding Service Level Agreement (SLA) violation.
Over provisioning and under provisioning of resources must be avoided.
Another important constraint is power consumption.
The ultimate goal of the cloud user is to minimize cost by renting the resources
and from the cloud service provider’s perspective to maximize profit by
efficiently allocating the resources.
In order to achieve the goal, the cloud user has to request cloud service provider
to make a provision for the resources either statically or dynamically.
So that the cloud service provider will know how many instances of the resources
and what resources are required for a particular application.
By provisioning the resources, the QoS parameters like availability, throughput,
security, response time, reliability, performance etc must be achieved without
violating SLA.
Static Provisioning
For applications that have predictable and generally unchanging
demands/workloads, it is possible to use “static provisioning" effectively.
With advance provisioning, the customer contracts with the provider for services.
The provider prepares the appropriate resources in advance of start of service.
The customer is charged a flat fee or is billed on a monthly basis.
Dynamic Provisioning
In cases where demand by applications may change or vary, “dynamic
provisioning" techniques have been suggested whereby VMs may be migrated on-
the-fly to new compute nodes within the cloud.
The provider allocates more resources as they are needed and removes them when
they are not.
The customer is billed on a pay-per-use basis.
When dynamic provisioning is used to create a hybrid cloud, it is sometimes
referred to as cloud bursting.