0% found this document useful (0 votes)
38 views97 pages

Unit 1

Uploaded by

Khushi Sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views97 pages

Unit 1

Uploaded by

Khushi Sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 97

CLOUD COMPUTING

(KCS713)

Department of Computer Science & Engineering


UNIT I

INTRODUCTION
INTRODUCTION
 A cloud, of course, is a visible mass of droplets or frozen crystals
floating in the atmosphere above the surface of the Earth or another
planetary body.

 A cloud is also a visible mass attracted by gravity. Lately, cloud


computing has been exerting a strong gravitational pull all of its
own—one that has been attracting a mass of money.

 "The cloud" refers to servers that are accessed over the Internet,
and the software and databases that run on those servers. Cloud
servers are located in data centres all over the world.

 By using cloud computing, users and companies do not have to


manage physical servers themselves or run software applications
on their own machines.
INTRODUCTION (CONT…)
INTRODUCTION (CONT…)
 The big players in cloud computing are Google, Amazon, and,
of late, Microsoft and IBM. Maybe Oracle/Sun, maybe HP
will join them. Rackspace, GoGrid, and AT&T want in too.

 Google has built the world’s largest cloud computing


infrastructure. Amazon has not only built the world’s largest
marketplace, but also is a prime mover in the cloud computing
revolution, hosting a myriad of other businesses on its Cloud
Services infrastructure.

 With the recently gone-live Microsoft Azure, Microsoft has


entered the cloud-computing business as well, simplifying
migration for all Windows applications.
INTRODUCTION (CONT…)
 Salesforce, VMware, Oracle (Sun), IBM, Adobe, and RackSpace
among others, have all tied their futures to cloud computing.

 As cloud computing matures, it is being embraced not only by


small start-ups, but also by major enterprises (albeit more slowly);
they appreciate the scalability and reliability that cloud computing
can provide.

 The cloud enables users to access the same files and applications
from almost any device, because the computing and storage takes
place on servers in a data center, instead of locally on the user device.

 This is why a user can log in to their Instagram account on a new


phone after their old phone breaks and still find their old account
in place, with all their photos, videos, and conversation history.
INTRODUCTION (CONT…)
 It works the same way with cloud email providers like Gmail or
Microsoft Office 365, and with cloud storage providers like Dropbox
or Google Drive.

 For businesses, switching to cloud computing removes some IT


costs and overhead: for instance, they no longer need to update and
maintain their own servers, as the cloud vendor they are using will do
that.

 This especially makes an impact for small businesses that may not
have been able to afford their own internal infrastructure but can
outsource their infrastructure needs affordably via the cloud.

 The cloud can also make it easier for companies to operate


internationally, because employees and customers can access the
same files and applications from any location.
WHAT IS CLOUD COMPUTING?
 Cloud computing is the delivery of computing services—including
servers, storage, databases, networking, software, analytics, and
intelligence—over the Internet (“the cloud”) to offer faster innovation,
flexible resources, and economies of scale.

 You typically pay only for cloud services you use, helping lower your
operating costs, run your infrastructure more efficiently and scale as
your business needs change.

 At its simplest, cloud computing is the dynamic delivery of


information technology resources and capabilities as a service over the
Internet.

 Cloud computing is a style of computing in which dynamically


scalable and often virtualized resources are provided as a service
over the Internet. It generally incorporates infrastructure as a service
(IaaS), platform as a service (PaaS), and software as a service (SaaS).
WHAT IS CLOUD COMPUTING? (CONT…)
WHAT IS CLOUD COMPUTING? (CONT…)
 Top benefits of cloud computing
 Cloud computing is a big shift from the traditional way businesses think
about IT resources. Here are some common reasons organizations are
turning to cloud computing services:

 Cost
 Cloud computing eliminates the capital expense of buying hardware
and software and setting up and running on-site datacenters—the racks
of servers, the round-the-clock electricity for power and cooling, and
the IT experts for managing the infrastructure. It adds up fast.

 Speed
 Most cloud computing services are provided self service and on
demand, so even vast amounts of computing resources can be
provisioned in minutes, typically with just a few mouse clicks, giving
businesses a lot of flexibility and taking the pressure off capacity
planning.
WHAT IS CLOUD COMPUTING? (CONT…)
 Performance
 The biggest cloud computing services run on a worldwide network of
secure datacenters, which are regularly upgraded to the latest
generation of fast and efficient computing hardware. This offers
several benefits over a single corporate datacenter, including reduced
network latency for applications and greater economies of scale.

 Reliability
 Cloud computing makes data backup, disaster recovery, and
business continuity easier and less expensive because data can be
mirrored at multiple redundant sites on the cloud provider’s network.

 Security
 Many cloud providers offer a broad set of policies, technologies,
and controls that strengthen your security posture overall, helping
protect your data, apps, and infrastructure from potential threats.
EVOLUTION OF CLOUD COMPUTING
EVOLUTION OF CLOUD COMPUTING
(CONT…)
 Cloud computing is all about renting computing services. This
idea first came in the 1950s. In making cloud computing what it
is today, five technologies played a vital role. These are
distributed systems and its peripherals, virtualization, web
2.0, service orientation, and utility computing.
 Distributed Systems: It 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.
EVOLUTION OF CLOUD COMPUTING
(CONT…)
 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.
EVOLUTION OF CLOUD COMPUTING
(CONT…)
 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.
EVOLUTION OF CLOUD COMPUTING
(CONT…)
 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”.
EVOLUTION OF CLOUD COMPUTING
(CONT…)
 Virtualization: It 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: It 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. In gained major popularity in 2004.
EVOLUTION OF CLOUD COMPUTING
(CONT…)
 Service orientation: It 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: It 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.
UNDERLYING PRINCIPLES OF PARALLEL
AND DISTRIBUTED COMPUTING
 The terms parallel computing and distributed computing are
used interchangeably.

 It implies a tightly coupled system.

 It is characterised by homogeneity of components (Uniform


Structure).

 Multiple Processors share the same physical memory.


UNDERLYING PRINCIPLES OF PARALLEL
AND DISTRIBUTED COMPUTING (CONT…)
 Parallel Computing:
 In parallel computing multiple processors performs multiple tasks
assigned to them simultaneously.

 Memory in parallel systems can either be shared.

 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


UNDERLYING PRINCIPLES OF PARALLEL
AND DISTRIBUTED COMPUTING (CONT…)
UNDERLYING PRINCIPLES OF PARALLEL
AND DISTRIBUTED COMPUTING (CONT…)
UNDERLYING PRINCIPLES OF PARALLEL
AND DISTRIBUTED COMPUTING (CONT…)
 Types of Parallelism:
 1. Bit-level parallelism: It is the form of parallel computing
which is based on the increasing processor’s size. It reduces
the number of instructions that the system must execute in order
to perform a task on large-sized data.

 Example: Consider a scenario where an 8-bit processor must


compute the sum of two 16-bit integers. It must first sum up the
8 lower-order bits, then add the 8 higher-order bits, thus
requiring two instructions to perform the operation. A 16-bit
processor can perform the operation with just one instruction.
UNDERLYING PRINCIPLES OF PARALLEL
AND DISTRIBUTED COMPUTING (CONT…)
 2. Instruction-level parallelism: A processor can only address
less than one instruction for each clock cycle phase. These
instructions can be re-ordered and grouped which are later
on executed concurrently without affecting the result of the
program. This is called instruction-level parallelism.

 3. Task Parallelism: Task parallelism employs the


decomposition of a task into subtasks and then allocating
each of the subtasks for execution. The processors perform
execution of sub tasks concurrently.
UNDERLYING PRINCIPLES OF PARALLEL
AND DISTRIBUTED COMPUTING (CONT…)
 Types of Distributed Systems
 The nodes in the distributed systems can be arranged in the form of
client/server systems or peer to peer systems. Details about these are as
follows −

 Client/Server Systems
 In client server systems, the client requests a resource and the server
provides that resource. A server may serve multiple clients at the same
time while a client is in contact with only one server. Both the client
and server usually communicate via a computer network and so they are
a part of distributed systems.

 Peer to Peer Systems


 The peer to peer systems contains nodes that are equal participants in
data sharing. All the tasks are equally divided between all the nodes.
The nodes interact with each other as required as share resources. This is
HISTORY OF CLOUD COMPUTING
 Evolution of the cloud computing can be mapped back to older systems
which have been used in the real-time long before cloud computing has
come into existence.

 In “Cloud Computing”, the word “Cloud” means carrier or provider


who provides the services over the Internet.

 “Computing” is the processing or computations or calculations or


various resources that are provided by computer.

 The concept of cloud computing traces back to 1961 by John McCarthy


at MIT:

 “If computers of the kind I have advocated become the computers of the
future, then computing may someday be organized as a public utility just
as the telephone system is a public utility. The computer utility could
become the basis of a new and important industry.”
HISTORY OF CLOUD COMPUTING (CONT..)
 One of the first companies to start working with the concept of
the “cloud computing” is formed by Salesforce in late 1990.

 The company started providing their Software as a Service


(SaaS), which provides customer relationship management for
its users.

 Salesforce model is one of the typical patterns of cloud


computing, in addition to “Platform as a Service” (PaaS),
which provides customers with development platform such
as Microsoft Azure and Google’s Application Engine.

 The other form is “Infrastructure as a Service” (IaaS) model


such as Amazon Elastic Compute Cloud (EC2) started in
2006.
HISTORY OF CLOUD COMPUTING (CONT..)
 In 2007, many of the US universities started collaborating with
Google and IBM and promoted cloud computing programs at
their universities.

 This helped reduce the cost for academic research, sharing the
resources between the students, and to build substantial
processing power or computing power to access it over the
Internet.

 Many more universities around the globe followed the same trend
during the subsequent years.

 In July 2010, NASA and Rackspace started a joint project called


OpenStack with several vendors including AMD, Intel, and
Dell. Later on, many other organizations have joined the project.
HISTORY OF CLOUD COMPUTING (CONT..)
 A non-profit organization called OpenStack Foundation is
formed in September 2012 to promote OpenStack. Now more
than 500 companies are supporting the project.

 Around 6800 companies are using OpenStack to deploy their


cloud services.

 In October 2011, Trusted Cloud Initiative by Cloud Security


Alliance (CSA) published a white paper to help cloud service
providers to develop cloud services that meet the
requirement for industry standards, secure, access
controllable, interoperable, and manageable. Fig. shows the
history of cloud computing.
HISTORY OF CLOUD COMPUTING (CONT..)
CLOUD ARCHITECTURE
 Cloud Computing Architecture is divided into two parts, i.e., front-end and
back-end. Front-end and back-end communicate via a network or internet.
 Architecture of cloud computing is the combination of both SOA (Service Oriented
Architecture) and EDA (Event Driven Architecture)
 A diagrammatic representation of cloud computing architecture is shown below:
CLOUD ARCHITECTURE (CONT…)
Front-End
 It provides applications and the interfaces that are required for
the cloud-based service.

 Frontend of the cloud architecture refers to the client side of the


cloud computing system. This means it contains all the user
interfaces and applications which are used by the client to access
the cloud computing services/resources.
 For example, the use of a web browser to access the cloud
platform.

 Client Infrastructure – Client Infrastructure is a part of the


frontend component. It contains the applications and user interfaces
that are required to access the cloud platform.
 In other words, it provides a GUI( Graphical User Interface ) to
interact with the cloud.
CLOUD ARCHITECTURE (CONT…)
Back-End
 Backend refers to the cloud itself which is used by the service
provider. It contains the resources as well as manages the
resources and provides security mechanisms. Along with this,
it includes huge storage, virtual applications, virtual machines,
traffic control mechanisms, deployment models, etc.
 Application

 Application in the backend refers to a software or platform to


which the client accesses. This means it provides the service in
the backend as per the client’s requirement.
CLOUD ARCHITECTURE (CONT…)
Back-End
 Service

 Service in the backend refers to the major three types of cloud-


based services SaaS, PaaS, and IaaS. Also manages which type
of service the user accesses.
 Runtime Cloud

 Runtime cloud in the backend provides the execution and


Runtime platform/environment to the Virtual machine.
 Storage

 Storage in the backend provides flexible and scalable storage


service and management of stored data.
CLOUD ARCHITECTURE (CONT…)
Back-End
 Service

 Software as a Service (SaaS) – It is also known as cloud


application services. Mostly, SaaS applications run directly
through the web browser means we do not require to download
and install these applications. An important example of SaaS is
given below –

 Example: Google Apps, Salesforce Dropbox, Slack, Hubspot,


Cisco WebEx
CLOUD ARCHITECTURE (CONT…)
Back-End
 Service

 Platform as a Service (PaaS) – It is also known as cloud


platform services. It is quite similar to SaaS, but the difference
is that PaaS provides a platform for software creation, but using
SaaS, we can access software over the internet without the need
for any platform.

 Example: Windows Azure, Force.com, Magento Commerce


Cloud, OpenShift.
CLOUD ARCHITECTURE (CONT…)
Back-End
 Service

 Infrastructure as a Service (IaaS) – It is also known as cloud


infrastructure services. It is responsible for managing
application data, middleware, and runtime environments.

 Example: Amazon Web Services (AWS) EC2, Google Compute


Engine (GCE), Cisco Metapod.
CLOUD ARCHITECTURE (CONT…)
Back-End
 Infrastructure

 Cloud Infrastructure in the backend refers to the hardware and


software components of the cloud like it includes servers,
storage, network devices, virtualization software, etc.
 Management

 Management in the backend refers to the management of


backend components like application, service, runtime cloud,
storage, infrastructure, other security mechanisms, etc.
CLOUD ARCHITECTURE (CONT…)
Back-End
 Security

 Security in the backend refers to the implementation of


different security mechanisms in the backend for secure cloud
resources, systems, files, and infrastructure to end-users.
 Internet

 Internet connection acts as the medium or a bridge between


frontend and backend and establishes the interaction and
communication between frontend and backend.
CLOUD ARCHITECTURE (CONT…)
Benefits of Cloud Computing Architecture
 It solves latency issues and improves data processing requirements

 It reduces IT operating costs and gives good accessibility to access data


and digital tools

 It helps businesses to easily scale up and scale down their cloud


resources

 It has a flexibility feature which gives businesses a competitive advantage

 It results in better disaster recovery and provides high security

 It automatically updates its services

 It encourages remote working and promotes team collaboration


CLOUD ARCHITECTURE (CONT…)
 Cloud Computing Architecture Components
CLOUD ARCHITECTURE (CONT…)
 Hypervisor
 It is a virtual machine monitor which provides Virtual Operating
Platforms to every user
 It also manages guest operating systems in the cloud
 It runs a separate virtual machine on the back end which consists of
software and hardware
 Its main objective is to divide and allocate resources

 Management Software
 Its responsibility is to manage and monitor cloud operations
with various strategies to increase the performance of the cloud
 Some of the operations performed by the management software are:
 compliance auditing
 management of overseeing disaster
 contingency plans
CLOUD ARCHITECTURE (CONT…)
 Deployment Software
 It consists of all the mandatory installations and configurations
required to run a cloud service
 Every deployment of cloud services are performed using a
deployment software
 The three different models which can be deployed are the
following:
 SaaS - Software as a service hosts and manages applications of the
end-user. Example: Gmail
 PaaS - Platform as a service helps developers to build, create, and
manage applications. Example: Microsoft Azure
 IaaS - Infrastructure as a service provides services on a pay-as-you-
go pricing model.
CLOUD ARCHITECTURE (CONT…)
 Network
 It connects the front-end and back-end. Also, allows every user
to access cloud resources
 It helps users to connect and customize the route and protocol

 It is a virtual server which is hosted on the cloud computing


platform
 It is highly flexible, secure, and cost-effective

 Cloud Storage
 Here, every bit of data is stored and accessed by a user from
anywhere over the internet
 It is scalable at run-time and is automatically accessed

 Data can be modified and retrieved from cloud storage over the
web
TYPES OF CLOUDS
 Four models of cloud deployment are recognized.

Private cloud.
 The cloud infrastructure is operated solely for an organization. It
may be managed by the organization or a third party and may exist
on premise or off premise.

 Advantages of using a private cloud are:


 Customer information protection: In the private cloud security
concerns are less since customer data and other sensitive information
do not flow out of private infrastructure.

 Infrastructure ensuring SLAs (Service Level Aggrement): Private


cloud provides specific operations such as appropriate clustering,
data replication, system monitoring, and maintenance, and disaster
recovery, and other uptime services.
TYPES OF CLOUDS
 Advantages of using a private cloud are (Cont…):
 Compliance with standard procedures and operations: Specific
procedures have to be put in place when deploying and executing
applications according to third-party compliance standards. This is
not possible in the case of the public cloud.
TYPES OF CLOUDS (CONT…)
 Public cloud.
 The cloud infrastructure is made available to the general
public or a large industry group and is owned by an
organization selling cloud services.

 They offer solutions for minimizing IT infrastructure costs


and become a good option for handling peak loads on the local
infrastructure.

 Public clouds are the go-to option for small enterprises, which
are able to start their businesses without large upfront
investments by completely relying on public infrastructure for
their IT needs.
TYPES OF CLOUDS (CONT…)
TYPES OF CLOUDS (CONT…)
 Hybrid cloud
 The cloud infrastructure is a composition of two or more
clouds (private, community, or public) that remain unique
entities but are bound together by standardized or proprietary
technology that enables data and application portability (e.g.,
cloud bursting for load-balancing between clouds).

 A major drawback of private deployments is the inability to


scale on-demand and efficiently address peak loads. Here
public clouds are needed. Hence, a hybrid cloud takes
advantage of both public and private clouds.
TYPES OF CLOUDS (CONT…)
TYPES OF CLOUDS (CONT…)
Community cloud.
 The cloud infrastructure is shared by several organizations and supports a
specific community that has shared concerns (e.g., mission, security
requirements, policy, and compliance considerations).

 It may be managed by the organizations or a third party and may exist on


premise or off premise.

 Sectors that use community clouds are:


 1. Media industry: Media companies are looking for quick, simple, low-cost
ways for increasing the efficiency of content generation.
 2. Healthcare industry: In the healthcare industry community clouds are used
to share information and knowledge on the global level with sensitive data in
the private infrastructure.
 3. Energy and core industry: In these sectors, the community cloud is used to
cluster a set of solution which collectively addresses management,
deployment, and orchestration of services and operations.
 4. Scientific research: In this organization with common interests in science
share a large distributed infrastructure for scientific computing.
TYPES OF CLOUDS (CONT…)
BUSINESS MODELS AROUND CLOUDS
 The encouragement behind outsourcing have always been
dependent on the evolving business models which emphasize
creating sustainable advantage in the marketplace.

 Businesses look for ways to increase revenue growth,


decrease costs, increase asset efficiency, build entry
barriers, innovate, etc., all of which have become increasingly
dependent on the IT technologies.

 These technologies are playing an increasing role in


determining the success or failure of these businesses.
BUSINESS MODELS AROUND CLOUDS
(CONT…)
 Cloud Computing Layers
 Cloud computing is composed of three layers. These layers are
Software as a Service (SaaS ), Platform as a Service (PaaS ),
and Infrastructure as a Service (IaaS ).

 Each layer offers particular types of services to a particular


segment of the market while at the same time paying for the
services provided by the preceding layer (except IaaS)
BUSINESS MODELS AROUND CLOUDS
(CONT…)
 The first layer or foundation of the Cloud computing is the IT
level or IaaS . At this level, the product is the hardware and
related services.

 Here we have general processing, servers, storage devices,


database management, and all other hardware related
services offered as a service to the end user.

 As can be guessed, the necessary investment at this level is


huge and requires a considerable financial planning and
provisioning. Datacenters are expensive to build and maintain.
BUSINESS MODELS AROUND CLOUDS
(CONT…)
 The next layer is the Platform layer (PaaS ). At this level,
developers can design, build, and test applications that run
on the IaaS . Those applications can be either for the IaaS itself
or for the layer above (SaaS ).

 This layer offers the same environment as the traditional


software development environment except that the hardware
is outsourced.

 So as far as the investment is concerned, the advantages are not


as large as it is for other companies at other layers. But, the
opportunity of providing new applications for the Cloud and
distributed through SaaS can make this layer a very attractive
layer for developers
BUSINESS MODELS AROUND CLOUDS
(CONT…)
 The final layer (SaaS) deals exclusively with applications for
the end users.

 This layer is the hosting layer, where companies host


applications for the users.

 SaaS layer is where providers will face the largest challenge


with regard to providing the range and quality of services
that customers demand at competitive prices. Here one must
plan for all exigencies.
BUSINESS MODELS AROUND CLOUDS
(CONT…)
BUSINESS MODELS AROUND CLOUDS
(CONT…)
BUSINESS MODELS AROUND CLOUDS
(CONT…)
 Business Models of the Cloud
 A business model is defined as “The plan implemented by a
company to generate revenue and make a profit from
operations. The model includes the components and functions of
the business, as well as the revenues it generates and the expenses
it incurs”.

 Cloud computing is often referred to as the fifth utility, and as


such we should start by looking at the models used by utility
companies.

 As can be seen, water, electricity, and common carrier


transportation utility companies all use the “metered usage of
service” business model. While the rest (radio, TV, telephone, and
Internet access) use mainly the “subscription” model with some
metered usage for special services.
BUSINESS MODELS AROUND CLOUDS
(CONT…)
 The metered usage model is used mainly for products that are
standardized and quality of which is (to some extent) known or
regulated.

 This applies perfectly to processing power, use of storage


devices, servers, and other hardware that composes the IaaS
layer. So it is assumed that for IaaS, the metering model is the
best solution.

 The PaaS layer which can be compared to the water pipelines


or electrical grids has their own model. It is difficult to apply the
pay as you go to this layer since the final consumer hardly sees or
thinks about this layer.

 Therefore, the costs associated with this layer have to be


somehow baked in the infrastructure costs.
BUSINESS MODELS AROUND CLOUDS
(CONT…)
 The SaaS layer with its myriad of products, and especially the
quality of services, requires a different solution.

 Subscription and pay as you go (licensing fees) are the best


available models for this layer. We shall now have a closer
look at each layer and consider the available business models.
MAJOR PLAYERS IN CLOUD
COMPUTING
 Mainly, the battle for cloud dominance is fierce amongst 4 major
players i.e., AWS, Microsoft Azure, Oracle Cloud and Google
Cloud.

 Let’s put a light upon the features and advantages of each of these
cloud giants to have a better understanding of what each environment
is offering in terms of the scope of work and pay scale.
MAJOR PLAYERS IN CLOUD COMPUTING
(CONT..)
 Amazon Web Services-AWS
 AWS is a secure cloud computing platform that help developers
to build sophisticated applications with scalability & flexibility.

 It was launched in 2006 from the internal infrastructure of Amazon


to efficiently manage its retail operations. Amazon was one of the
first companies to set up a pay as you go cloud computing model.

 AWS is broadly adopted by large businesses as it offers 175 fully


featured cloud services from database storage to CDN, machine
learning, and computing power that help them become more agile
and innovate faster.

 It is a cost-effective platform and holds the first position in public


cloud adoption.
MAJOR PLAYERS IN CLOUD COMPUTING
(CONT..)
 Benefits of using AWS
 User-Friendly– Amazon Web Services is easy to use and provides
access to a wide variety of applications. It meets different needs such
as Hadoop Cluster or Content Delivery Network.

 Unlimited Capacity– Around 560,000 hard drives fail each month


in the U.S due to limited storage issues, but AWS fixes this problem
by providing unlimited server capacity. It currently powers thousands
of global businesses.

 Security– AWS provides a reliable encryption & security measure


that guarantees to keep your data safe & secure.

 Innovation- AWS may face competition when it comes to pricing,


but no other cloud service provider can beat Amazon Web Services
in terms of innovation.
MAJOR PLAYERS IN CLOUD COMPUTING
(CONT..)
 Microsoft Azure
 Azure is a public cloud computing platform launched by Microsoft in
2010.

 It provides a wide range of specialized services for analytics, big data,


virtual computing, mobile application development, games, DevOps-
agile development pipelines, data warehousing, storage and much more.

 Microsoft Azure has served more regions globally as compared to any


other cloud provider. It is currently available in more than 60
geographical regions and 140 countries.

 Azure has hybrid cloud features such as Infrastructure as a


Service (IaaS), Software as a Service (SaaS), and Platform as a
Service (PaaS). This enormous network of infrastructure is used by a
majority of Fortune 500 companies.
MAJOR PLAYERS IN CLOUD COMPUTING
(CONT..)
 Since more businesses are shifting to Microsoft Azure, the demand for skilled
cloud professionals is going to inflate. Presently, there is a scarcity of Azure
talent to fill the increasing positions in the market. Companies are competing to
land the best batch of candidates by providing high wages and additional perks.

 Some significant facts about Azure


 Microsoft affirms that around 1,000 new customers sign up to Azure on a daily
basis. Thus, approximately 365,000 new companies adopt Microsoft Azure
each year.

 The commercial cloud revenue of Microsoft has increased by 62% with an


expected annual run rate between $11.85 billion and $12.05 billion in revenue.

 So far 95% of Fortune 500 companies are using MS Azure.

 Microsoft Azure has received official accreditation from the government of


UK. Moreover, the Azure Government offering is also backed by the US
Government.
MAJOR PLAYERS IN CLOUD COMPUTING
(CONT..)
 Google Cloud Platform
 Google Cloud is a public cloud platform that serves 20
geographical regions in North America, South America, Europe,
Australia, and Asia. Unlike, AWS and Azure, Google Cloud
provides limited cloud services, but offers some specialized
tools for developers.

 GCP offers storage, robust data analysis, networking, and high-


level computing.

 It also provides different networking options such as cloud CDN,


virtual private cloud, cloud DNS, etc.,

 Google Cloud Platform has strong capabilities in machine


learning, big data analytics, and artificial intelligence.
MAJOR PLAYERS IN CLOUD COMPUTING
(CONT..)
 GCP render its services at reasonable prices than its competitors.

 It supports common coding languages like Java & C++.

 Google Cloud Platform allows its users to create a single-purpose


function that eliminates the need for management.

 It quickly writes, debug, and deploy cloud-native applications.

 Google Cloud is a robust platform to build software and


standardize CI/CD across all languages.

 It helps to automate deployments, create pipelines and get faster


feedback.
MAJOR PLAYERS IN CLOUD COMPUTING
(CONT..)
 Oracle Cloud
 Oracle Cloud is relatively a new platform in the market and
cannot be compared to the top three major players in Cloud
Computing i.e, AWS, Azure, and Google Cloud. Despite not
sustaining top positions in the global cloud service providers,
Oracle Cloud has a lot to offer.

It provides a broad spectrum of cloud services such as:


 Business Intelligence (BI) solutions, autonomous analytics, Big
Data, data visualization, and much more.

 Cloud infrastructure maintenance & setup.

 App development including database, blockchain, Internet of


Things, etc.
MAJOR PLAYERS IN CLOUD COMPUTING
(CONT..)
 Data integration and management.

 Security solutions focused on compliance & safety.

 Flexible and smooth customization along with quicker


deployment.

 Immediate integration of financial data.

 Fits-well with all scale of organizations from startup to MNCs.

 Oracle is dynamic and gives out of the box cloud solutions but
they are minimal and insufficient.
MAJOR PLAYERS IN CLOUD COMPUTING
(CONT..)
Current Market Share of Cloud Players
ISSUES IN CLOUDS
ISSUES IN CLOUDS (CONT…)
 Security and Privacy
 Security and Privacy of information is the biggest challenge to cloud
computing. Security and privacy issues can be overcome by employing
encryption, security hardware and security applications.

 Portability
 This is another challenge to cloud computing that applications should
easily be migrated from one cloud provider to another. There must
not be vendor lock-in. However, it is not yet made possible because
each of the cloud provider uses different standard languages for their
platforms.

 Interoperability
 It means the application on one platform should be able to
incorporate services from the other platforms. It is made possible via
web services, but developing such web services is very complex.
ISSUES IN CLOUDS (CONT…)
 Computing Performance
 Data intensive applications on cloud requires high network
bandwidth, which results in high cost. Low bandwidth does
not meet the desired computing performance of cloud
application.

 Reliability and Availability


 It is necessary for cloud systems to be reliable and robust
because most of the businesses are now becoming dependent on
services provided by third-party.
EUCALYPTUS
 Eucalyptus stands for Elastic Utility Computing Architecture for Linking
Your Programs to Useful Systems.

 It is an Open Source Software Supporting Hybrid Solutions. A popular


way of integrating public and private clouds is using Eucalyptus
(www.eucalyptus.com).

 Eucalyptus is an open source software platform that implements IaaS-


style cloud computing using the Linux-based infrastructure found in
many modern data centers.

 While it can be deployed solely for private clouds, because it is interface-


compatible with Amazon’s AWS, it is possible to move workloads
between AWS and the data center without code modification.

 Many other cloud vendors support Eucalyptus, so today, it is the most


portable option available.
EUCALYPTUS (CONT…)

 Eucalyptus also works with most of the currently available


Linux distributions, including Ubuntu, Red Hat Enterprise
Linux (RHEL), CentOS, SUSE Linux Enterprise Server
(SLES), openSUSE, Debian, and Fedora.
EUCALYPTUS (CONT…)
 Importantly, Eucalyptus can use a variety of virtualization
technologies, including VMware, Xen, and KVM, to
implement the cloud abstractions it supports.

 Eucalyptus’s Walrus is an S3-compatible implementation of


cloud storage.

 The Ubuntu Enterprise Cloud (UEC) is powered by


Eucalyptus and brings an Amazon EC2-like infrastructure
inside the firewall.

 It appears that the recently announced Nimbula, which


supports private versions of EC2, is similar.
EUCALYPTUS (CONT…)
Eucalyptus Features and Benefits

 The most attractive features of Eucalyptus are:


 Is compatible with Amazon AWS (EC2, S3, and EBS)

 Includes Walrus, an Amazon S3 interface-compatible storage manager.

 Has added support for elastic IP assignment.

 Has a Web-based interface for cloud configuration.

 Provides image registration and image attribute manipulation.

 Provides configurable scheduling policies and service level agreements


(SLAs).
EUCALYPTUS (CONT…)
The benefits of Eucalyptus include:
 The ability to build a private cloud that can “cloud-burst” into
Amazon AWS

 Easy deployment on all types of legacy hardware and software

 Leveraging of the development strength of a worldwide user


community

 Compatibility with multiple distributions of Linux,


including support for the commercial Linux distributions, Red
Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise
Server (SLES)
NIMBUS
 Nimbus is an open-source toolkit focused on providing
Infrastructure-as-a-Service (IaaS) capabilities to the
scientific community.

 It is written in Python and Java for rapid development of


custom community-specific solutions.

 Nimbus is a powerful toolkit focused on converting a


computer cluster into an Infrastructure-as-a-Service (IaaS)
cloud for scientific communities.

 Essentially, it allows a deployment and configuration of


virtual machines (VMs) on remote resources to create an
environment suitable for the users’ requirements.
NIMBUS (CONT…)
 Being written in Python and Java, it is totally free and open-
source software, released under the Apache License.

 Nimbus consists of two basic products:

 Nimbus Infrastructure is an open source EC2/S3-compatible


IaaS solution with features that benefit scientific community
interests, like support for auto-configuring clusters, proxy
credentials, batch schedulers, best-effort allocations, etc.

 Nimbus Platform is an integrated set of tools for a multi-


cloud environment that automates and simplifies the work
with infrastructure clouds (deployment, scaling, and
management of cloud resources) for scientific users.
NIMBUS (CONT…)
 NIMBUS KEEPS DEVELOPERS, PROVIDERS AND
USERS SATISFIED
 To open all power and versatility of IaaS to scientific users
Nimbus project developers targeted the main three goals and
their open source implementations:

 1. Give capabilities to providers of resources for private or


community IaaS clouds development. The Nimbus Workspace
Service enables lease of computational resources by deploying
virtual machines on those resources.

 2. Give capabilities to users for IaaS clouds


application. Among Nimbus scaling tools (users can
automatically scale across multiple distributed providers) the
Nimbus Context Broker is especially robust.
NIMBUS (CONT…)
 3. Give capabilities to developers for extension, experimentation
and customization of IaaS. For instance, the Workspace Service
can support several virtualization implementations (either Xen or
KVM), resource management options (including schedulers such as
Portable Batch System), interfaces (including compatibility with
Amazon EC2), and other options.

 Different combinations of these tools assist users in rapid


development of custom community-specific solutions. For
example, Nimbus enables users to build multiple virtual machines
and deploy them throughout the cloud, so that they will co-operate
and supplement each other.

 Such flexibility and on-demand computing power is particularly


essential for specific computational jobs and data-intensive
research.
NIMBUS (CONT…)
 INTERESTED IN NIMBUS?
 Nimbus is a set of robust tools providing Storage Cloud Service
and Infrastructure-as-a-Service capabilities to the scientific
community.

 It is highly configurable, including scheduling, networking


leases, usage accounting, remote deployment and lifecycle
management of VMs.

 Moreover, Nimbus allows deployment of self-configured virtual


clusters via contextualization. For more information of features
and functionality visit nimbusproject.org.
OPEN NEBULA
 OpenNebula is an open source cloud middleware solution that
manages heterogeneous distributed data centre infrastructures.

 It is designed to be a simple but feature-rich, production-


ready, customisable solution to build and manage enterprise
clouds—simple to install, update and operate by the
administrators; and simple to use by end users.

 OpenNebula combines existing virtualisation technologies with


advanced features for multi-tenancy, automated provisioning
and elasticity.

 Distributions such as Ubuntu and Red Hat Enterprise Linux


have already integrated OpenNebula. OpenNebula supports
Xen, KVM and VMware hypervisors.
OPEN NEBULA (CONT…)
 The Open Nebula deployment model:
 Master node: A single gateway or front-end machine, sometimes also
called the master node, is responsible for queuing, scheduling and
submitting jobs to the machines in the cluster.

 It runs several other OpenNebula services mentioned below:


 Provides an interface to the user to submit virtual machines and monitor their
status.

 Manages and monitors all virtual machines running on different nodes in the
cluster.

 It hosts the virtual machine repository and also runs a transfer service to manage
the transfer of virtual machine images to the concerned worker nodes.

 Provides an easy-to-use mechanism to set up virtual networks in the cloud.

 Finally, the front-end allows you to add new machines to your cluster.
OPEN NEBULA (CONT…)
 Worker node: The other machines in the cluster, known as ‘worker nodes’,
provide raw computing power for processing the jobs submitted to the cluster.

 The worker nodes in an OpenNebula cluster are machines that deploy a


virtualisation hypervisor, such as VMware, Xen or KVM.
CLOUDSIM
 CloudSim is an open-source framework, which is used to
simulate cloud computing infrastructure and services. It is
developed by the CLOUDS Lab organization and is written
entirely in Java.

 It is used for modelling and simulating a cloud computing


environment as a means for evaluating a hypothesis prior to
software development in order to reproduce tests and results.

 For example, if you were to deploy an application or a website


on the cloud and wanted to test the services and load that your
product can handle and also tune its performance to overcome
bottlenecks before risking deployment, then such evaluations
could be performed by simply coding a simulation of that
environment with the help of various flexible and scalable classes
provided by the CloudSim package, free of cost.
CLOUDSIM (CONT…)
 Benefits of Simulation over the Actual Deployment:
 Following are the benefits of CloudSim:
 No capital investment involved. With a simulation tool like CloudSim
there is no installation or maintenance cost.

 Easy to use and Scalable. You can change the requirements such as adding
or deleting resources by changing just a few lines of code.

 Risks can be evaluated at an earlier stage. In Cloud Computing utilization


of real testbeds limits the experiments to the scale of the testbed and makes
the reproduction of results an extremely difficult undertaking. With
simulation, you can test your product against test cases and resolve issues
before actual deployment without any limitations.

 No need for try-and-error approaches. Instead of relying on theoretical


and imprecise evaluations which can lead to inefficient service performance
and revenue generation, you can test your services in a repeatable and
controlled environment free of cost with CloudSim.
CLOUDSIM (CONT…)
 Why use CloudSim? --- Below are a few reasons to opt for CloudSim:
 Open source and free of cost, so it favours researchers/developers working in
the field.

 Easy to download and set-up.

 It is more generalized and extensible to support modelling and


experimentation.

 Does not require any high-specs computer to work on.

 Provides pre-defined allocation policies and utilization models for managing


resources, and allows implementation of user-defined algorithms as well.

 The documentation provides pre-coded examples for new developers to get


familiar with the basic classes and functions.

 Tackle bottlenecks before deployment to reduce risk, lower costs, increase


performance, and raise revenue.
CLOUDSIM (CONT…)
 CloudSim Architecture:
CLOUDSIM (CONT…)
 CloudSim Core Simulation Engine provides interfaces for the
management of resources such as VM, memory and bandwidth
of virtualized Datacenters.

 CloudSim layer manages the creation and execution of core


entities such as VMs, Cloudlets, Hosts etc. It also handles
network-related execution along with the provisioning of
resources and their execution and management.

 User Code is the layer controlled by the user. The developer


can write the requirements of the hardware specifications in this
layer according to the scenario.
CLOUDSIM (CONT…)
 Some of the most common classes used during simulation are:
 Datacenter: used for modelling the foundational hardware
equipment of any cloud environment, that is the Datacenter.
This class provides methods to specify the functional
requirements of the Datacenter as well as methods to set the
allocation policies of the VMs etc.

 Host: this class executes actions related to management of


virtual machines. It also defines policies for provisioning
memory and bandwidth to the virtual machines, as well as
allocating CPU cores to the virtual machines.

 VM: this class represents a virtual machine by providing data


members defining a VM’s bandwidth, RAM, mips (million
instructions per second), size while also providing setter and
getter methods for these parameters.
CLOUDSIM (CONT…)
 Cloudlet: a cloudlet class represents any task that is run on a
VM, like a processing task, or a memory access task, or a file
updating task etc. It stores parameters defining the characteristics
of a task such as its length, size, mi (million instructions) and
provides methods similarly to VM class while also providing
methods that define a task’s execution time, status, cost and history.

 DatacenterBroker: is an entity acting on behalf of the


user/customer. It is responsible for functioning of VMs, including
VM creation, management, destruction and submission of cloudlets
to the VM.

 CloudSim: this is the class responsible for initializing and


starting the simulation environment after all the necessary cloud
entities have been defined and later stopping after all the entities
have been destroyed.
CLOUDSIM (CONT…)
 Features of CloudSim:
 CloudSim provides support for simulation and modelling of:
 Large scale virtualized Datacenters, servers and hosts.
 Customizable policies for host to virtual machines.
 Energy-aware computational resources.
 Application containers and federated clouds (joining and
management of multiple public clouds).
 Datacenter network topologies and message-passing applications.
 Dynamic insertion of simulation entities with stop and resume of
simulation.
 User-defined allocation and provisioning policies.

You might also like