Clouding Computing (UNIT - I)
Clouding Computing (UNIT - I)
Cloud computing is the delivery of different services through the Internet. These resources include tools
and applications like data storage, servers, databases, networking, and software.
These services are broadly divided into three categories: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS)
and Software-as-a-Service (SaaS). The name cloud computing was inspired by the cloud symbol that's often used to
represent the Internet in flowcharts and diagrams.
Cloud Components
In a simple, topological sense, a cloud computing
Solution is made up of several elements: Client
Computers, Distributed Servers and Data Centers
Are the three components of Cloud Computing.
As shown in fig. these components
make up the three parts of a cloud computing solution.
1
1. Client Computers: They are, typically, the computers that just sit on your desk. But they might also be laptops,
tablets computers, mobiles phones, or PDAs.
The following are different types of Clients in Cloud Computing.
1. Mobile: Its include PDAs or Smartphone’s, like a blackberry, windows, iphones etc.
2. Thin: Clients are computers that do not have internal hard drives, but rather let the server do all the work, but
then display the information.
3. Thick: This type of client is a regular computer, using a web browser like firebox or internet explorer to connect
to the cloud.
The advantages of Thin Clients are
1) Lower hardware costs 2) Lower IT costs 3) Security 4) Data security 5) Less power consumption.
2. Data Center:
The datacenter is the collection of servers where the application to which you subscribe is housed. It could be a large
room in the basement of your building or a room full of servers on the other side of the world that you access via the
Internet. A growing trend in the IT world is vitalizing servers. That is, software can be installed allowing multiple
instances of virtual servers to be used. In this way, you can have half a dozen virtual servers running on one physical
server.
3. Distributed Servers:
But the servers don’t all have to be housed in the same location. Often, servers are in geographically
disparate locations. But to you, the cloud subscriber, these servers act as if they’re humming away right next
to each other. This gives the service provider more flexibility in options and security. For instance, Amazon
has their cloud solution in servers all over the world. If something were to happen at one site, causing a
failure, the service would still be accessed through another site.
Examples of Popular Services that Use the Cloud
If you want to store, manage or take files from the cloud, you almost always need a personal account for security
reasons. Free accounts, which most people use, usually just require an email address and a password.
o Dropbox: Dropbox is like your personal folder in the sky (or in the cloud) that can be accessed from
anywhere.
o Google Drive: Google Drive is just like Dropbox, but it integrates with all of your Google tools like Google
Docs, Gmail and others.
o Microsoft OneDrive: Much like Google Drive, Microsoft OneDrive is cloud storage that integrates with
integrates with your Microsoft applications, such as Word or Excel.
o Spotify: Spotify is a free music streaming service with a subscription option so that you can enjoy thousands
upon thousands of songs as often as you want.
o Netflix: Similar to Spotify, Netflix is a TV show and movie streaming service.
2
Advantages
Cloud computing has many advantages. It’s often faster to provision the service, and in many cases, you can gain access
to it instantly. Remote users can access cloud resources from wherever they have a connection, rather than being
limited by physical geography.
o Convenience: does not require installing a specific piece of software to access or manipulating cloud
application.
o (Scalability) Elasticity: Companies can scale up as computing needs increase and scale down again as
demands decrease. This eliminates the need for massive investments in local infrastructure, which may or
may not remain active.
o Low costs
o Offers online development and deployment
o tools, programming runtime environment
through Platform as a Service model
o Security
o Anytime, anywhere access
o High availability
o Pay per use
1. There are certain technologies that are working behind the cloud computing platforms making cloud computing
flexible, reliable, and usable. These technologies are listed below:
Virtualization
Service-Oriented Architecture (SOA)
Grid Computing (distributed computing)
Utility Computing
1.1 Service-Oriented Architecture (SOA) ( Discuss in second Unit)
1.2 Grid Computing (also called "distributed computing") is a collection of computers working together to perform
various tasks. It distributes the workload across multiple systems, allowing computers to contribute their individual
resources to a common goal.
In order for systems in a computing grid to work together, they must be physically connected (over a network or
the Internet) and run software that allows them to communicate. The software used in grid computing is
called middleware since it translates the information passed from one system to another into a recognizable format.
This allows the data computed by one node within the grid to be stored or processed by another system on the grid.
“Grid computing is a processor architecture that combines computer resources from various domains to reach a main
objective. In grid computing, the computers on the network can work on a task together, thus functioning as a
supercomputer.”
Example: online gaming, Facebook, Twitter, LinkedIn, Typically applications like weather forecasting, protein folding
and earthquake simulation is prime candidates for a grid infrastructure.
1.3 Virtualization(in 2nd Unit)
1.4 Utility Computing is the process of providing computing service through an on-demand, pay-per-use billing
method. Utility computing is a computing business model in which the provider owns, operates and manages the
computing infrastructure and resources, and the subscriber accesses it as and when required on a rental.
Example : Amazon E2C, Google AppEngine, Microsoft Azura
3
1. There are certain services and models working behind the scene making the cloud computing feasible and
accessible to end users. The following are the working models for cloud computing:
o Deployment models
o Service models
Cloud computing deployment models
There are various types of clouds, each of which is different from the other. It is often divided into three categories:
o public
o private
o Hybrid,
referring to who has access to the
services or infrastructure.
Public-cloud services are made available to anybody that wants to purchase. Public cloud services are sold on
demand, typically by the minute or hour, though long-term commitments are available for many services. Customers
only pay for the CPU cycles, storage or bandwidth they consume. Public clouds can also typically be deployed much
faster and with more scalability and accessibility than on-premises infrastructure. Leading public cloud service
providers include Amazon Web Services (AWS), Microsoft Azure, IBM and Google Cloud Platform.
Private-cloud services are built by enterprises for use by their employees and partners only. In other word it is a cloud
environment set aside for the exclusive use of one organization.
Top Vendors: HPE, VMware, Dell EMC, IBM, Red Hat, Microsoft, OpenStack.
A hybrid cloud is a combination of both a public and private cloud with some level of integration between the two. In
which some critical data resides in the enterprise’s private cloud while other data is stored in and accessible from a
public cloud. Hybrid clouds seek to deliver the advantages of scalability, reliability, rapid deployment and potential cost
savings of public clouds with the security and increased control and management of private clouds.
4
Top Vendors: Combination of both public and private cloud providers
Types of cloud computing services (Or Common Cloud Service Models or Types of Cloud Computing)
Cloud computing is not a single piece of technology like a microchip or a cellphone. Rather, it's a system primarily
comprised of three services:
o software-as-a-service (SaaS)
o platform-as-a-service (PaaS)
o infrastructure-as-a-service (IaaS)
There are many other service models all of which can take
Like XaaS, i.e. Anything as a Service. This can be Network
a as Service, Business as a Service, Identity as a Service,
Database as a Service or Strategy as a Service.
The Infrastructure as a Service ( IaaS) is the most basic
level of service. Each of the service models make use of
the underlying(fundamental) service model, i.e. each
inherits the security and management mechanism from
the underlying model, as shown in the following diagram.
(I) Infrastructure-as-a-service (IaaS)
Its provide access to fundamental resources such as physical machines, virtual machines, virtual storage, etc. It involves
a method for delivering everything from operating systems to servers and storage through IP-based connectivity as part
of an on-demand service. Clients can avoid the need to purchase software or servers, and instead procure these
resources in an outsourced, on-demand service. Popular examples of the IaaS system include IBM Cloud and Microsoft
Azure.
(II) Platform as a Service (PaaS)
It provide the runtime environment for applications, development & deployment tools etc. PaaS is a computing
platform being delivered as a service. PaaS shares some similarities with SaaS, the primary difference being that instead
of delivering software online, it is actually a platform for creating software that is delivered via the Internet. Here the
platform is outsourced in place of a company or data center purchasing and managing its own hardware and software
layers. Most PaaS are designed for developers and aim to simplify the process of creating and deploying software. For
example, a Web developer might use a PaaS that includes operating system software, Web server software, a database
and related Web development tools. The leading PaaS vendors include Amazon Web Services, Microsoft Azure, IBM
and Google Cloud Platform,Heroku.
(III) Software as a Service (SaaS)
SaaS is a software delivery method that provides access to software and its functions remotely as a Web-based service.
Instead of paying an upfront fee to purchase and/or license software, SaaS customers pay a recurring (often monthly or
annual) fee to subscribe to the service. In general, they can access the SaaS from any Internet-connected device, any
time day or night. Well-known examples of SaaS include Salesforce, Microsoft Office 365, Google G Suite, Dropbox,
Adobe Creative Cloud and others.
5
When it comes to providing services, the big players in the corporate computing sphere include:
o Google Cloud
o Amazon Web Services (AWS)
o Microsoft Azure
o IBM Cloud
o Aliyun
2. Features of Cloud Computing
Following are the characteristics of Cloud Computing:
o Resource pooling is the sharing of computing capabilities, leads to increased resource utilization rates.
o On-Demand Self-Service: A consumer can unilaterally provision computing capabilities, such as server time and
network storage, as needed automatically without requiring human interaction with each service provider. In
simple word the consumer performs all the actions needed to acquire the service herself, instead of going
through an IT department, for example. The consumer’s request is then automatically processed by the cloud
infrastructure, without human intervention on the provider’s side.
o Easy Maintenance: The servers are easily maintained and the downtime is very low; in some cases, there is no
downtime. The cloud computing comes up with an update every time by gradually making it better. The updates
are more compatible with the devices and perform faster than older ones along with the bugs which are fixed.
o Large Network Access: The user can access the data of the cloud or upload the data to the cloud from anywhere
just with the help of a device and an internet connection. These capabilities are available all over the network and
accessed with the help of internet.
o Availability: The capabilities of the cloud can be modified as needed and can extend a lot. It analyzes the storage
usage and allows the user to buy extra storage if needed for a very small amount. This service is available anytime
and can be accessed from anywhere.
o Automation 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.
o 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.
o Security: This 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 server damages. The data stores within the storage devices which cannot
hack and utilize by any other person. The storage service is quick and reliable which can access from anywhere
just with the help of a device and internet connection.
6
o 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 allows for free.
o 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.
7
SaaS: Network-based subscriptions to application
Cloud computing: Anytime, anywhere access to IT resources delivered dynamically as a service
Now, let’s talk a bit about the present.
SoftLayer is one of the largest global providers of cloud computing infrastructure.
IBM already has platforms in its portfolio that include private, public and hybrid cloud solutions. The purchase of
SoftLayer guarantees an even more comprehensive infrastructure as a service (IaaS) solution. While many companies
look to maintain some applications in data centers, many others are moving to public clouds.
Even now, the purchase of bare metal can be modeled in commercial cloud (for example, billing by usage or put
another way, physical server billing by the hour). The result of this is that a bare metal server request with all the
resources needed, and nothing more, can be delivered with a matter of hours.
4. Hypervisor
The hypervisor is software that can virtualize the hardware resources. A hypervisor is a hardware virtualization
technique that allows multiple guest operating systems (OS) to run on a single host system at the same time. A
hypervisor is also known as a virtual machine manager (VMM). These virtual machines are also referred as guest
machines and they all share the hardware of the physical machine like memory, processor, storage and other related
resources. This improves and enhances the utilization of the underlying resources.
Types of Hypervisor – Hypervisors can be divided into two types:
Type 1: Also known as native or bare-metal hypervisors,
these run directly on the host computer’s hardware to control the
hardware resources and to manage guest operating systems.
Examples of Type 1 hypervisors include VMware ESXi,
Citrix XenServer and Microsoft Hyper-V hypervisor.
5. Distributed Computing
A distributed system is a network of autonomous computers that communicate with each other in order to
achieve a goal. The computers in a distributed system are independent and do not physically share memory or
processors. They communicate with each other using messages, pieces of information transferred from one computer
8
to another over a network. Messages can communicate many things: computers can tell other computers to execute a
procedures with particular arguments, they can send and receive packets of data, or send signals that tell other
computers to behave a certain way.
Examples of distributed systems / applications of distributed computing:
Intranets, Internet, WWW, email.
Telecommunication networks: Telephone networks and Cellular networks.
Network of branch office computers -Information system to handle automatic processing of orders,
Real-time process control: Aircraft control systems,
Electronic banking,
Airline reservation systems,
Sensor networks,
There are two predominant ways of organizing computers in a distributed system. The first is the client-server
architecture, and the second is the peer-to-peer architecture.
Client/Server Systems
The client-server architecture is a way to dispense a service from a central source. There is a single server that provides
a service, and multiple clients that communicate with the server to consume its products. In this architecture, clients
and servers have different jobs. The server's job is to respond to service requests from clients, while a client's job is to
use the data provided in response in order to perform some task.
Peer-to-peer Systems
The client-server model is appropriate for service-oriented situations. However, there are other computational goals for
which a more equal division of labor is a better choice. The term peer-to-peer is used to describe distributed systems in
which labor is divided among all the components of the system. All the computers send and receive data, and they all
contribute some processing power and memory. As a distributed system increases in size, its capacity of computational
resources increases. In a peer-to-peer system, all components of the system contribute some processing power and
memory to a distributed computation.
9
10
6. What is Parallel computing?
Serial Computing:
o A problem is broken into a discrete series of instructions
o Instructions are executed sequentially one after another
o Executed on a single processor
o Only one instruction may execute at any moment in time
11
Parallel Computing:
In the simplest sense, parallel computing is the simultaneous use of multiple compute resources to solve a
computational problem:
A problem is broken into discrete parts that can be solved concurrently
Each part is further broken down to a series of instructions
Instructions from each part execute simultaneously on different processors
An overall control/coordination mechanism is employed
[ SCALABILITY - ability of a system to increase the workload on its current hardware resources (scale up);
ELASTICITY - ability of a system to increase the workload on its current and additional (dynamically added on demand)
hardware resources (scale out); ]
8. Provisioning
In general, provisioning means "providing" or making something available. The term is used in a variety of contexts in
IT. For example, in grid computing, to provision is to activate a grid component, such as a server, or switch, so that it is
available for use. In a storage area network (SAN), storage provisioning is the process of assigning storage to optimize
performance. In telecommunications terminology, provisioning means providing a product or service, such as wiring or
bandwidth.
Cloud provisioning is the allocation of a cloud provider's resources and services to a customer. Cloud provisioning is a
key feature of the cloud computing model, relating to how a customer procures cloud services and resources from a
cloud provider. The growing catalog of cloud services that customers can provision includes infrastructure as a service,
software as a service and platform as a service, in public or private cloud environments.
There are three different delivery models:
13
Dynamic/On-Demand Provisioning: The customer or requesting application is provided with resources on run
time. With dynamic provisioning, cloud resources are deployed flexibly to match a customer's fluctuating demands. The
deployments typically scale up to accommodate spikes in usage and scale down when demands decrease. The
customer is billed on a pay-per-use basis. When dynamic provisioning is used to create a hybrid cloud environment, it is
sometimes referred to as cloud bursting.
User Provisioning: The user/customer adds a cloud device or device themselves. With user self-
provisioning, also called cloud self-service, the customer buys resources from the cloud provider through a web
interface or portal. This usually involves creating a user account and paying for resources with a credit card. Those
resources are then quickly spun up and made available for use -- within hours, if not minutes. Examples of this type of
cloud provisioning include employee purchasing cloud-based productivity applications via the Microsoft Office 365
suite or Google Apps for Business.
Post-Sales/Advanced Provisioning: The customer is provided with the resource upon contract/service signup.
With advanced provisioning, the customer signs a formal contract of service with the cloud provider. The provider then
prepares the agreed-upon resources or services for the customer and delivers them. The customer is charged a flat fee
or is billed on a monthly basis.
From a provider’s standpoint, cloud provisioning can include the supply and assignment of required cloud resources to
the customer. For example, the creation of virtual machines, the allocation of storage capacity and/or granting access
to cloud software.
14