Unit 1
Unit 1
the customers.
•
CLOUD COMPUTING
Customers can use these resources as and when needed, can increase or decrease resource capacities dynamically
(Cont…)
according to their requirements and pay only for how much the resource were used.
• Customers no need to invest money to purchase, manage and scale infrastructures, software upgradation and software
licensing.
Cloud Service Models
• The services that are provided by the cloud providers are broadly classified into three categories:
Infrastructure-as-a-Service (IaaS)
Platform-as-a-Service (PaaS)
Software-as-a-Service (SaaS)
Cloud Service
•
Models
Infrastructure-as-a-Service (IaaS): In Infrastructure-as-a-Service model, the service provider owns the hardware equipment's
such as Servers, Storage, Network and is provided as services to the clients. The client uses these equipment's and pays on
per-use basis.
• E.g. Amazon Elastic Compute (EC2) and Simple Storage Service (S3).
Cloud Service
•
Models
Platform-as-a-Service (PaaS): In Platform-as-a-Service model, complete resources needed to Design, Develop,
Testing, Deploy and Hosting an application are provided as services without spending money for purchasing
and maintaining the servers, storage and software.
• PaaS is an extension of IaaS. In addition to the fundamental computing resource supplied by the hardware in an IaaS
offering, PaaS models also include the software and configuration required to create an applications.
• E.g. Accounting, CRM, Google Docs are all popular examples of SaaS.
Deployment
•
Models
Mainly there are four cloud deployment models ( 4 ways we can create/organize a cloud)
Public Cloud
Private Cloud
Community Cloud
Hybrid Cloud
Cloud Deployment
•
Models (Cont…)
Public Cloud: A public cloud is a cloud in which services and infrastructure are hosted off-site by a cloud provider (owned by
an organization selling cloud services) and easily accessible to general public via internet.
• Private Cloud: Private Cloud is a cloud where services and infrastructure are operated for a single operation accessible via
private network, managed internally or by a third party. It is greater level of security.
Cloud Deployment
• Community
Models (Cont…)
Cloud: Community Cloud is a cloud where services and infrastructure accessible by a group of
are organizations.
• Hybrid Cloud: Hybrid Cloud is a cloud which is a mixture of private and public cloud. In this type of cloud all critical and
sensitive applications and data are stored in private cloud and non critical and non sensitive applications and data are
stored in public cloud.
Features of Cloud
• It is elastic: Cloud computing is Computing
flexible in nature, where users can scale up and scale down the resources as needed.
• Pay per use: Usage is metered and user pays only for how much the resources were used.
• Reduce capital cost: No need to invest money on purchasing and maintaining of hardware and software, software licensing,
training required for IT staff.
• Remote accessibility: Users can access applications and data stored on cloud from anywhere any time worldwide through a
device with internet connection.
• Better use of IT staff: Staff with in enterprise need not worry on purchasing and maintaining of servers, softwares, up
gradation of servers and softwares, software licensing etc., instead they can concentrate more on work.
Cloud Services
IaaS-Amazon EC2, Google Compute
Examples:
Engine, Azure VMs
Amazon EC2
• Amazon Elastic Compute Cloud is an Infrastructure as a Service offering from Amazon.
• EC2 is a web service that provides a computing capacity in the form of virtual machines.
• Amazon EC2 allows users to launch instances on demand using a simple web based interface.
• Amazon provides pre-configured Amazon Machine Images (AMIs) which are templates of cloud instances.
• Users can also create their own AMIs with custom applications, libraries and data.
Cloud Services Examples:
IaaS-Amazon EC2, Google Compute
Engine, Azure VMs
Amazon EC2
• Amazon EC2 also provides instances with high memory, high CPU resources, Cluster Compute instances, Cluster
Graphical Processor unit (GPU)instances and high Input/Output instances.
• Users can load their applications on running instances and rapidly and easily increase or decrease capacity to
meet dynamic application performance requirements.
• With EC2, users can even provision hundreds or thousands of server instances simultaneously, manage network
access permissions and monitor usage resources through web interface. (Create 2 VMs at 3 different places and
running applications, creating network among 3 and allowing data transfer among 3 VMs and monitoring resource usage)
Cloud Services Examples:
IaaS-Amazon EC2, Google Compute
Engine, Azure VMs
Amazon EC2
• Amazon EC2 provides instances of various computing capacities ranging from Small Instances (Eg: 1 Virtual core with 1
EC2 compute unit, 1.7 GB memory and 160 GB instance storage) to Extra Large Instances (Eg: 4 Virtual cores with 2 EC@ compute unit each with 15GB
memory and 1690 GB instance storage).
• The pricing model for EC2 instances is based on Pay-Per Use model. Users are billed based on the number on
instance hours used for on demand instances.
• EC2 also provides spot instances that allow users to bid on unused Amazon EC2 capacity and run those
instances for as long as their bid exceeds the current spot price.
Cloud Services Examples:
IaaS-Amazon EC2, Google Compute
Engine, Azure VMs
Amazon EC2
• The below figure shows screenshot of Amazon EC2 dashboard
Cloud Services
IaaS-Amazon EC2,Examples:
Google Compute Engine, Azure VMs
Google Compute Engine
• Google Compute Engine (GCE) is an IaaS offering from Google.
• GCE provides virtual machines of various computing capacities ranging from small instances (Eg: Virtual core
with 1.38 GCE unit and 1.7 GB memory) to high memory machine types (8 virtual cores with 22 GCE unit and
52 GB memory.
• GAE is a cloud based web service for hosting web applications and storing data.
• GAE allows users to build scalable and reliable applications that run on the same systems that power Google’s
own applications.
• GAE provides a Software Development Kit (SDK) for developing web applications software that can
be deployed on GAE.
Examples:
PaaS-Google
• App
Developers can develop and test their Engine
applications with GAE SDK on a local machine and then upload it to GAE with
a simple click of a button
• Applications hosted in GAE are easy to build, maintain and scale. Users don’t need to worry about launching
additional computing instances when the applications load increases.
• With Java runtime environment developers can build applications using Java programming language and standard
Java technologies such as Java Servlets. GAE also provides runtime environment for Python programming languages.
Examples:
PaaS-Google
• App
Applications hosted in GAE run in Engine
secure sandbox with limited access to the underlying operating system and
hardware.
• The pricing model for GAE is based on the amount of computing resources used.
• GAE provides free computing resources for applications up to a certain limit. Beyond that limit, users are billed
based on the amount of computing resources used such as amount of bandwidth consumed, number
of resource instance hours, amount of data stored.
Examples:
PaaS-Google
• App
The below figure shows the screenshot of GAEEngine
dashboard.
Cloud Services
Examples:
SaaS-Salesforce
Salesforce Sales Cloud
• Salesforce Sales Cloud is a cloud based Customer Relationship Management (CRM) SaaS offering.
• Users can access CRM application from anywhere through internet enabled devices such as workstations,
laptops, tablets and smartphones.
• Sales Cloud allows sales representatives to manage customer profiles, track opportunities, optimize campaigns
from lead to close and monitor the impact of campaigns. (A lead can be a company or an individual who has expressed interest
in a company's product and/or service).
Cloud Services
Examples:
SaaS-Salesforce
Salesforce Service Cloud
• Service cloud provides companies a call center like view and allows creating, tracking, routing and escalating
cases.
• Service cloud includes a social networking plug-in that enables social customer service where comments from
social media channels can be used to answer customer questions.
Examples:
SaaS-
Salesforce
Salesforce Marketing Cloud
• Salesforce Marketing Cloud is cloud based social marketing SaaS.
• Marketing cloud allows companies to identify sales leads from social media, discover advocates, identify most
trending information on any topic.
• Marketing cloud allows companies to pro-actively engage with customers, manage social
advertisement campaigns and track the performance of social campaigns.
Cloud Computing :
Cloud Computing referred as the accessing and storing of
data and provide services related to computing over the
internet. It simply referred as it remote services on the
internet manage and access data online rather than any
local drives. The data can be anything like images,
videos, audios, documents, files etc.
• Cloud Computing Service Provider’s :
Cloud computing is in huge demand so, big organization providing the service like
Amazon AWS, Microsoft Azure, Google Cloud, Alibaba cloud etc. are some Cloud
Computing service Provider.
• History of Cloud Computing :
In this, we will discuss the history of Cloud computing. And also cover the history
of client server computing, distributed computing, and cloud computing.
• Before Computing was come into existence, client Server Architecture was used
where all the data and control of client resides in Server side. If a single user want
to access some data, firstly user need to connect to the server and after that user
will get appropriate access. But it has many disadvantages. So, After Client Server
computing, Distributed Computing was come into existence, in this type of
computing all computers are networked together with the help of this, user can
share their resources when needed. It also has certain limitations. So in order to
remove limitations faced in distributed system, cloud computing was emerged.
• During 1961, John MacCharty delivered his speech at MIT that
“Computing Can be sold as a Utility, like Water and Electricity.”
According to John MacCharty it was a brilliant idea. But people at
that time don’t want to adopt this technology. They thought the
technology they are using efficient enough for them. So, this
concept of computing was not appreciated much so and very less
will research on it. But as the time fleet the technology caught the
idea after few years this idea is implemented. So, this is
implemented by Salesforce.com in 1999.
• It allows us easy and quick access stored information anywhere and anytime.
Disadvantages :
• It requires good internet connection.
• Ransomware/Malware Protection
• Flexibility
• Reliability
• High Accessibility
• Scalable
• Disadvantages of Cloud Computing
• Internet Dependency
• Data Breaches
• Limitations on Control
Underlying Principles of Parallel and Distributed Computing
• Efficient Use of Resources: Takes full advantage of all the processing units
it is equipped with hence making the best use of the machine’s
computational power.
• Scalability: Also the more processors built into the system, the more
complex problems can be solved within a short time.
• 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.
• 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.
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.
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.
Scalability and Elasticity in
Cloud Computing
• 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.
• 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.
On-demand provisioning
• Dynamic provisioning or On-demand provisioning: With dynamic
provisioning, the provider adds resources as needed and subtracts them
as they are no longer required. It follows a pay-per-use model, i.e. the
clients are billed only for the exact resources they use. Consumers must
pay for each use of the resources that the cloud service provider allots to
them as needed and when necessary. The pay-as-you-go model is
another name for this. “Dynamic provisioning” techniques allow VMs to
be moved on-the-fly to new computing nodes within the cloud, in
situations where demand by applications may change or vary. This is a
suitable choice for programs with erratic and shifting demands or
workloads. For instance, a customer might want to use a web server with
a configurable quantity of CPU, memory, and storage. In this scenario,
the client can utilize the resources as required and only pay for what is
really used. The client is in charge of ensuring that the resources are not
oversubscribed; otherwise, fees can skyrocket.