Unit-1: Introduction To Cloud Computing

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

Unit-1: Introduction to Cloud Computing

What is cloud computing?

Cloud computing refers to the delivery of computing resources over the Internet. Instead of
keeping data on users own hard drive or updating applications as user needs, s/he use a service
over the Internet, at another location, to store information or use its applications.

When we store our photos online instead of on own home computer, or use webmail or a
social networking site, it is a cloud computing service.  Cloud services allow individuals and
businesses to use software and hardware that are managed by third parties at remote locations.

The cloud computing model allows access to information and computer resources from
anywhere that a network connection is available. This computing provides a shared pool of
resources, including data storage space, networks, computer processing power, and specialized
corporate and user applications.

Cloud computing is a recently developing paradigm of distributed computing. It referred as data


storage, type of software outsourcing and processing. Software outsourcing consists of
networking, servers, analytics, storage, databases, software and intelligence through the Internet. 

It is idea of centralizing computation and storage in distributed data centers maintained by third
party companies. It's aimed at providing IT as a service to the cloud user's on-demand basis with
greater flexibility, availability, reliability and scalability with utility computing model.
The approach of cloud computing is in every aspect these days either Small-scale, mid-scale or
large-scale, every organization is implementing cloud computing methodologies for data storage,
disaster recovery, software development, testing, big data analytics, virtual desktops, software
deliveries, and web applications.

Streamlining many approaches, this computing has modernized the approaches of:

Maintaining Huge Servers

With the methodologies of cloud computing, there is no need to maintain huge servers in large
equipment rooms.

Enhanced Data Storage

People can skip the approach of manually storing their information in hard discs, pen drives or
any other external devices.

Restricted Geographic Accessibility

This technology offers the feature of gaining accessibility for processes and data at every
location. So, this flexibility enhances the operation and performance of the next step.

Loss of Data

One might be worried about their data loss because of rapid enhancements in the hacking
technology and it becomes so easy to steal the data. But the computing has shown a complete
advancement in data protection where information is stored in cloud ad has numerous
safeguards.
No mess up in sharing of documents with one other, because cloud-dependent files having
shared accessibility are always up to date. So, there is no scope of file misplace or duplicate
version of documents.

The National Institute of Standards and Technology (NIST) cloud definition


has three main components:

1. Five key cloud characteristics


2. Four cloud deployment models
3. Three cloud service models

Characteristics
The NIST definition of cloud computing outlines five key cloud characteristics: on-demand self-
service, broad network access, resource pooling, rapid elasticity, and measured service. All five
of these characteristics must be present in order for the offering to be considered a true cloud
offering.

On-request self-service:  On-demand self-service means that a consumer can request and
receive access to a service offering, without an administrator or some sort of support staff having
to fulfill the request manually. The request processes and fulfillment processes are all automated.
This offers advantages for both the provider and the consumer of the service.

Implementing user self-service allows customers to quickly procure and access the
services they want. This is a very attractive feature of the cloud. It makes getting the resources
you need very quick and easy.

User self-service also reduces the administrative burden on the provider. Administrators
are freed from the day-to-day activities around creating users and managing user requests. This
allows an organization’s IT staff to focus on other, hopefully more strategic, activities.

Broad network access: 

Cloud services should be easily accessed. Users should only be required to have a basic network
connection to connect to services or applications. In most cases, the connection used will be
some type of Internet connection. Although Internet connections are growing in bandwidth, they
are still relatively slow compared to local area network (LAN) connections. Therefore, the
provider must not require users to have a large amount of bandwidth to use the service.

Competencies are accessible over the network and retrieved via typical tools that promote the use
by varied client platforms (e.g., mobile devices, laptops, and Personal Digital Assistants).
Resource sharing: Resource pooling helps save costs and allows flexibility on the provider side.
Resource pooling is based on the fact that clients will not have a constant need for all the
resources available to them. When resources are not being used by one customer, instead of
sitting idle those resources can be used by another customer. This gives providers the ability to
service many more customers than they could if each customer required dedicated resources.

Resource pooling is often achieved using virtualization. Virtualization allows providers


to increase the density of their systems. They can host multiple virtual sessions on a single
system. In a virtualized environment, the resources on one physical system are placed into a pool
that can be used by multiple virtual systems.

Rapid elasticity: 

Rapid elasticity describes the ability of a cloud environment to easily grow to satisfy user
demand. Cloud deployments should already have the needed infrastructure in place to expand the
service capacity. If the system is designed properly, this might only require adding more
computer resources, hard disks, and the like. They key is that even though the resources are
available, they are not used until needed. This allows the provider to save on consumption cost.

Measured Service: 

Cloud services must have the ability to measure usage. Usage can be quantified using various
metrics, such as time used, bandwidth used, and data used. The measured service characteristic is
what enables the “pay as you go” feature of cloud computing. Once an appropriate metric has
been identified, a rate is determined. This rate is used to determine how much a customer should
be charged. This way, the client is billed based on consumption levels. If the service is not used
on a particular day, the customer is not charged for that time.

Cloud Computing Deployment Model (Types)

Private Cloud (or Internal Cloud)– This type of cloud is maintained within an organization and
used only for their internal purpose. So the utility model is not a big term in this scenario. Many
companies are moving towards this setting and experts consider this is the 1st step for an
organization to move into cloud. Security, network bandwidth are not critical issues for private
cloud. Authorized users can access, utilize, and store data in the private cloud from anywhere,
just like they could with a public cloud. The company that owns the cloud is responsible for both
software and infrastructure, making this a less economical model than the public cloud. Since the
private cloud isn’t controlled by an outside vendor, there’s no risk of sudden changes disrupting
the company’s entire infrastructure.

In simple word private cloud used completely by a single corporate or organization and
can be physically situated on the company’s on-site data centre.

Public Cloud (or External Cloud)- When most people think about cloud computing, they are
thinking of the public cloud service model. In the public service model, all the systems and
resources that provide the service are housed at an external service provider. That service
provider is responsible for the management and administration of the systems that are used to
provide the service. The client is only responsible for any software or client application that is
installed on the end-user system. Connections to public cloud providers are usually made through
the Internet.

Some public cloud examples include those offered by Amazon, Microsoft, or Google. These
companies provide both services and infrastructure, which are shared by all customers. 

Community Cloud - Community clouds are semi-public clouds that are shared between members
of a select group of organizations. These organizations will generally have a common purpose or
mission. The organizations do not want to use a public cloud that is open to everyone. They want
more privacy than what a public cloud offers. In addition, each organization doesn’t want to be
individually responsible for maintaining the cloud; they want to be able to share the
responsibilities with others.

Hybrid Cloud- Hybrid cloud model is a combination of two or more other cloud models. The
clouds themselves are not mixed together; rather, each cloud is separate, and they are all linked
together. A hybrid cloud may introduce more complexity to the environment, but it also allows
more flexibility in fulfilling an organization’s objectives.
Service Models
Cloud computing is based on service models. These are categorized into three basic service
models which are –

Infrastructure-as–a-Service (IaaS)
The IaaS model provides just the hardware and network; the customer installs or develops its
own operating systems, software and applications. IaaS is easier to understand if we refer it as
Hardware as a Service. It means IaaS, provides basic infrastructure services to customers. These
services may include physical machines, virtual machines, networking, storage, or some
combination of these. Users are then able to build whatever s/he need on top of the managed
infrastructure.
Here end-users rent cloud as an infrastructure for their companies. . Companies such as
Google,Microsoft and IBM are involved in offering such services. Businesses can run any
operating systems on the servers and configure it to host web and other types of applications
without buying new hardware and actively maintaining it.  

The IaaS is categorized into: (1) Computation as a Service (CaaS), in which virtual machine
based servers are rented and charged per hour based on the virtual machine capacity – mainly
CPU and RAM size, features of the virtual machine and (2) Data as a Service (DaaS), in which
unlimited storage space is used to store the user’s data regardless of its type, charged per GByte
for data size and data transfer.
Advantages:
 It offers flexible and efficient renting of computer hardware.
 It simplifies integration with enterprise infrastructure.
 IaaS providers provide services based on the pay-as-per-use basis. The users are required to
pay for what they have used.
 IaaS providers focus on the organization's core business rather than on IT infrastructure.
 On-demand scalability is one of the biggest advantages of IaaS. Using IaaS, users do not
worry about to upgrade software and troubleshoot the issues related to hardware components.

Disadvantages:
 Customers or users do not have any control over server used or its geographical location.
 Security is one of the biggest issues in IaaS. Most of the IaaS providers are not able to provide
100% security.
 Although IaaS service providers maintain the software, but they do not upgrade the software
for some organizations.
 It is difficult to migrate VM from one IaaS provider to the other, so the customers might face
problem related to vendor lock-in.

Platform-as-a-Service (PaaS)

 In PaaS, an operating system, hardware, and network are provided, and the customer installs or
develops its own software and applications. PaaS provides the resources to development and
deployment platform to businesses. From simple cloud-based applications to complex,
sophisticated enterprises, user can develop and deploy any application.  It offers a framework
that developers can use to develop an application on top of it.

Advantages

 Lower administrative overhead


Customer need not bother about the administration because it is the responsibility of cloud
provider.
 Lower total cost of ownership
Customer need not purchase expensive hardware, servers, power, and data storage.
 Scalable solutions
It is very easy to scale the resources up or down automatically, based on their demand.
More current system software
 It is the responsibility of the cloud provider to maintain software versions and patch
installations.

Disadvantages
 Vendor Migration: Migration from one PaaS vendors' application to another PaaS vendor will
create some problem.
 Data-Privacy: Privacy of data can get hamper if it is not held within the boundary of the
company or organization.
 Mix-up Complexity: Some of the applications developed may be local while others are from
the cloud; which may increase the complexity

Software-as-a-Service (SaaS)

In a SaaS, a pre-made application, along with any required software, operating system, hardware,
and network are provided by service provider.

Software as a Service is a cloud-based software delivery method that allows users to access data
via the internet anytime from any device. Here, software vendors host their applications on the
cloud and allow users to subscribe to their software for access. 

There are several vendors that offer SaaS solutions and some of them include Cisco
WebEx, Salesforce, Dropbox, Google Apps, GoToMeeting, Gmail, Office365, etc.

Advantages

 It doesn’t involve any hardware and set up cost as users don’t need to install any software or
hardware in their device.
 The cloud service of SaaS is easily accessible from the location of your choice where internet
services are available.
 You can get automated software upgrades on a regular basis. If there are any technical issues
or bugs, the vendor will look after them and you can focus on your goal instead of worrying
about maintenance.
 The services of SaaS are quite affordable when compared with on-premises software.
 The vendor looks after all issues related to software and infrastructure.

Disadvantages
 User doesn’t have any control over the hardware that looks after the data.
 Sometimes users face restrictions over a range of services.
 In a few cases, staff may access application of SaaS without taking approval from IT which
means the data stored is less secure.
 Sometimes, user may find it difficult to integrate SaaS applications with the tool or software
which your organization is using
 Users may need to pay subscription fees even though they have accessed services on an
occasional basis or never before

Cloud Provider

Cloud service providers (CSP) are companies that offer network services, infrastructure, or


business applications in the cloud. The cloud services are hosted in a data center that can be
accessed by companies or individuals using network connectivity.

1. Microsoft Azure
2. Amazon Web Services (AWS)
3. Google Cloud
4. Alibaba Cloud
5. IBM Cloud
6. Oracle
7. Salesforce
8. SAP
9. Rackspace Cloud
10. VMWare

Deploy application over cloud


Requirements for deploying an application over public cloud

Licensing: Application is made up of many components which are associated with some license
agreements. Analysis should be made about the effects of those license agreements on the
deployment of application on cloud. Applications which are designed licensed for CPU, when
we deploy it on the cloud increases the load by exciding the CPU license limit.

Processing requirements and memory locks: Application should be designed to work on the
parallel architectures, because of the dynamic scalability of cloud. Multi threaded code which
allows process to split in to small chunks suits for the cloud environment. A single threaded
application cannot take the real advantage of clouds distributed nature.

Bandwidth requirements: Because a public cloud is accessed via the Internet, bandwidth is
significantly limited when compared to a private cloud. Given the public cloud’s bandwidth
limitation, applications that have moderate client bandwidth requirements should only be
considered.

Communication protocol: The cloud is based on the Internet Protocol (IP), so for an
application to be considered, it must use IP as its communication mechanism. While there are
many protocols that can be run over IP, the use of Transport Control Protocol (TCP) is preferred.

Data security: The application will need to provide security at the data storage, processing and
transmission stages.

Steps for deployment

The following steps comprise the deployment of the application:

 A load balancer, Web server, and database server appliances should be selected from a library
of preconfigured virtual machine images.

 Configuring each component to make a custom image should be made. Load balancer is
configured accordingly; web server should be populated with the static contents by uploading
them to the storage cloud where as the database servers are populated with the dynamic
content of the site.

 The developer then feeds the custom code in to the new architecture making components meet
their specific requirements.

 The developer chooses a pattern that takes the images for each layer and deploys them,
handling networking, security, and scalability issues.

The secure, high-availability Web application is up and running. When the application
needs to be updated, the virtual machine images can be updated, copied across the
development chain, and the entire infrastructure can be redeployed.
Cloud Computing Platform
The major public cloud platforms from Amazon, Google and Microsoft, outlining the services
they provide from an end-user’s perspective.

 INFRASTRUCTURE AS A SERVICE: AMAZON EC2


The Amazon cloud provides infrastructure as a service (IaaS), whereby computing infrastructure
such as for servers, storage or network end points of a desired capacity are virtually provisioned
in minutes through an automated web-based management console. This core IaaS service, called
Elastic Compute Cloud, or EC2, is but one of a set of services that constitute the Amazon cloud
platform, but the term EC2 is also often used to describe the entire cloud offering.
Following figure illustrates the services provided by the Amazon infrastructure cloud
from a user perspective. These services are implemented on a very large network of servers,
shown as dashed boxes in the figure.
PLATFORM AS A SERVICE: GOOGLE APP ENGINE
The Google cloud, called Google App Engine, is a ‘platform as a service’ (PaaS) offering. In contrast
with the Amazon infrastructure as a service cloud, where users explicitly provision virtual machines and
control them fully, including installing, compiling and running software on them, a PaaS offering hides
the actual execution environment from users. Instead, a software platform is provided along with an SDK,
using which users develop applications and deploy them on the cloud. The PaaS platform is responsible
for executing the applications, including servicing external service requests, as well as running scheduled
jobs included in the application. By making the actual execution servers transparent to the user, a PaaS
platform is able to share application servers across users who need lower capacities, as well as
automatically scale resources allocated to applications that experience heavy loads.
 MICROSOFT AZURE
Microsoft’s cloud offering, called Azure, has been commercially released to the public only
recently, though a community preview beta has been publicly available for longer. Thus, it is
important to note that some elements of the Azure platform are likely to change in future
commercial editions. Like the Google App Engine, Azure is a PaaS offering. Developers create
applications using Microsoft development tools (i.e. Visual Studio along with its supported
languages, C#, Visual Basic, ASPs, etc.); an Azure extension to the standard toolset allows such
applications to be developed and deployed on Microsoft’s cloud, in much the same manner as
developing and deploying using Google App Engine’s SDK. There are also similarities with
aspects of Amazon’s IaaS offering, such as the use of virtualization, user control over the
number of virtual servers allocated to an application and user control on elasticity.
Following figure illustrates a user’s view of Microsoft Azure. Application code deployed on
Azure executes in a number of virtual machines (called instances) with each virtual machine
running the Windows Server operating system. While users do not have any control on when
instances boot and how long they stay up, they can specify the number of instances a particular
application is likely to require.

You might also like