MODULE III
TOPIC 1:CLOUD REFERENCE MODEL
(CLOUD COMPUTING ARCHITECTURE/CLOUD SERVICE
MODEL)
WHAT IS CLOUD COMPUTING.?
The term cloud refers to a network or the internet. It is a technology
that uses remote servers on the internet to store, manage, and access
data online rather than local drives. The data can be anything such as
files, images, documents, audio, video, and more.
Cloud computing is the on-demand availability of computer system
resources, especially data storage (cloud storage) and computing
power, without direct active management by the user.
Cloud Computing reference model is divided into 3 major service
models:
1. Software as a Service (SaaS)
2. Platform as a Service (PaaS)
3. Infrastructure as a Service (IaaS)
I.INFRASTRUCTURE AS A SERVICE(IAAS)
● Iaas is also known as Hardware as a Service (HaaS). It is one
of the layers of the cloud computing platform. It allows customers
to outsource their IT infrastructures such as servers, networking,
processing, storage, virtual machines, and other resources.
Customers access these resources on the Internet using a pay-as-
per use model.
● In traditional hosting services, IT infrastructure was rented out for
a specific period of time, with pre-determined hardware
configuration. The client paid for the configuration and time,
regardless of the actual use. With the help of the IaaS cloud
computing platform layer, clients can dynamically scale the
configuration to meet changing requirements and are billed only
for the services actually used.
● IaaS cloud computing platform layer eliminates the need for
every organization to maintain the IT infrastructure.
● IaaS provider provides the following services -
1. Compute: Computing as a Service includes virtual central
processing units and virtual main memory for the Vms that is
provisioned to the end- users.
2. Storage: IaaS provider provides back-end storage for storing
files.
3. Network: Network as a Service (NaaS) provides networking
components such as routers, switches, and bridges for the Vms.
4. Load balancers: It provides load balancing capability at the
infrastructure layer.
Advantages of IaaS cloud computing layer
There are the following advantages of IaaS computing layer –
1. Shared infrastructure
IaaS allows multiple users to share the same physical
infrastructure.
2. Web access to the resources
Iaas allows IT users to access resources over the internet.
3. Pay-as-per-use model
IaaS providers provide services based on the pay-as-per-use
basis. The users are required to pay for what they have used.
4. Focus on the core business
IaaS providers focus on the organization's core business rather
than on IT infrastructure.
5. On-demand scalability
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 of IaaS cloud computing layer
1. Security
Security is one of the biggest issues in IaaS. Most of the IaaS providers
are not able to provide 100% security.
2. Maintenance & Upgrade
Although IaaS service providers maintain the software, but they do not
upgrade the software for some organizations.
3. Interoperability issues
It is difficult to migrate VM from one IaaS provider to the other, so the
customers might face problem related to vendor lock-in.
II.PLATFORM AS A SERVICE (PAAS)
● Platform as a Service (PaaS) provides a runtime environment.
● It allows programmers to easily create, test, run, and deploy web
applications. You can purchase these applications from a cloud
service provider on a pay-as-per use basis and access them using
the Internet connection.
● PaaS includes infrastructure (servers, storage, and networking)
and platform (middleware, development tools, database
management systems, business intelligence, and more) to support
the web application life cycle.
● Example: Google App Engine, Force.com, Joyent, Azure.
1. Programming languages
PaaS providers provide various programming languages for the
developers to develop the applications. Some popular programming
languages provided by PaaS providers are Java, PHP, Ruby, Perl, and
Go.
2. Application frameworks
PaaS providers provide application frameworks to easily understand
the application development. Some popular application frameworks
provided by PaaS providers are Node.js, Drupal, Joomla, WordPress,
Spring, Play, Rack, and Zend.
3. Databases
PaaS providers provide various databases such as ClearDB,
PostgreSQL, MongoDB, and Redis to communicate with the
applications.
4. Other tools
PaaS providers provide various other tools that are required to develop,
test, and deploy the applications.
Types Of PAAS
PAAS I:Runtime environment with web hosted application
development platform.Rapid application prototyping.
PAAS II:Runtime environment for scaling web applications.The
runtime could be enhanced by additional components which provide
scaling capabilities.
PAAS III:Middleware and programming model for developing
distributed applications in the cloud.
Advantages of PaaS
There are the following advantages of PaaS -
1) Simplified Development
PaaS allows developers to focus on development and innovation
without worrying about infrastructure management.
2) Lower risk
No need for up-front investment in hardware and software. Developers
only need a PC and an internet connection to start building applications.
Disadvantages of PaaS cloud computing layer
1) Vendor lock-in
One has to write the applications according to the platform provided by
the PaaS vendor, so the migration of an application to another PaaS
vendor would be a problem.
2) Data Privacy
Corporate data, whether it can be critical or not, will be private, so if it
is not located within the walls of the company, there can be a risk in
terms of privacy of data.
III.SOFTWARE AS A SERVICE(SAAS)
SaaS is also known as "On-Demand Software". It is a software
distribution model in which services are hosted by a cloud service
provider. These services are available to end-users over the internet so,
the end-users do not need to install any software on their devices to
access these services.
There are the following services provided by SaaS providers -
Business Services - SaaS Provider provides various business services
to start-up the business. The SaaS business services include ERP
(Enterprise Resource Planning), CRM (Customer Relationship
Management), billing, and sales.
Document Management - SaaS document management is a software
application offered by a third party (SaaS providers) to create, manage,
and track electronic documents.
Social Networks - As we all know, social networking sites are used by
the general public, so social networking service providers use SaaS for
their convenience and handle the general public's information.
Mail Services - To handle the unpredictable number of users and load
on e-mail services, many e-mail providers offering their services using
SaaS.
Advantages of SaaS cloud computing layer
1) SaaS is easy to buy
SaaS pricing is based on a monthly fee or annual fee subscription, so it
allows organizations to access business functionality at a low cost,
which is less than licensed applications.
2. One to Many
SaaS services are offered as a one-to-many model means a single
instance of the application is shared by multiple users.
3. Less hardware required for SaaS
The software is hosted remotely, so organizations do not need to invest
in additional hardware.
Disadvantages of SaaS cloud computing layer
1) Total Dependency on Internet
Without an internet connection, most SaaS applications are not usable.
2) Switching between SaaS vendors is difficult
Switching SaaS vendors involves the difficult and slow task of
transferring the very large data files over the internet and then
converting and importing them into another SaaS also.
Examples:Salesforce.com,NetSuite etc
Salesforce.com
Salesforce is a company and salesforce.com is an application built on
the basis of software as a service (SaaS) for customer relationships
management (CRM).
The force.com platform assists developers and business users in
creating successful business applications.
Salesforce is a SaaS product that includes the Out of Box (OOB)
features built into a CRM system for sales automation, marketing,
service automation, etc.
Force.com is a PaaS (Platform-as-a-Service) product; it includes a
framework that allows you to build applications. It contains a
development environment. Force.com helps you to customize the user
interface, functionality and business logic.
TOPIC 2:TYPES OF CLOUD
1.Private cloud
2.Public cloud
3.Hybrid Cloud
4.Community Cloud
1.Private cloud
○ Private cloud is also known as an internal cloud or corporate
cloud.
○ Private cloud provides computing services to a private internal
network (within the organization) and selected users instead of
the general public.
○ Private cloud provides a high level of security and privacy to data
through firewalls and internal hosting. It also ensures that
operational and sensitive data are not accessible to third-party
providers.
○ HP Data Centers, Microsoft are the example of a private cloud.
Advantages
1) Security & privacy
Security & privacy are one of the big advantages of cloud computing.
Private cloud improved the security level as compared to the public
cloud.
2) Improved performance
Private cloud offers better performance with improved speed and space
capacity.
Disadvantages
1) High cost
The cost is higher than a public cloud because set up and maintain
hardware resources are costly.
2) Restricted area of operations
As we know, private cloud is accessible within the organization, so the
area of operations is limited.
2.PUBLIC CLOUD
○ Public Cloud provides a shared platform that is accessible to the
general public through an Internet connection.
○ Public cloud operated on the pay-as-per-use model and
administered by the third party, i.e., Cloud service provider.
○ In the Public cloud, the same storage is being used by multiple
users at the same time.
○ Public cloud is owned, managed, and operated by businesses,
universities, government organizations, or a combination of them.
○ Amazon Elastic Compute Cloud (EC2), Microsoft Azure, IBM's
Blue Cloud, Sun Cloud, and Google Cloud are examples of the
public cloud.
Advantages of Public Cloud
There are the following advantages of public cloud -
1) Low Cost
Public cloud has a lower cost than private, or hybrid cloud, as it shares
the same resources with a large number of consumers.
2) Save Time
In Public cloud, the cloud service provider is responsible for the
manage and maintain data centers in which data is stored, so the cloud
user can save their time to establish connectivity, deploying new
products, release product updates, configure, and assemble servers.
3) Scalability and reliability
Public cloud offers scalable (easy to add and remove) and reliable
(24*7 available) services to the users at an affordable cost.
Disadvantages of Public Cloud
1) Low Security
Public Cloud is less secure because resources are shared publicly.
2) Performance
In the public cloud, performance depends upon the speed of internet
connectivity.
3) Less customizable
Public cloud is less customizable than the private cloud.
3.Hybrid Cloud
○ Hybrid cloud is a combination of public and private clouds.
Hybrid cloud = public cloud + private cloud
○ The main aim to combine these cloud (Public and Private) is to
create a unified, automated, and well-managed computing
environment.
○ In the Hybrid cloud, non-critical activities are performed by the
public cloud and critical activities are performed by the private
cloud.
○ Mainly, a hybrid cloud is used in finance, healthcare, and
Universities.
○ The best hybrid cloud provider companies are Amazon,
Microsoft, Google, Cisco, and NetApp.
Advantages of Hybrid Cloud
There are the following advantages of Hybrid Cloud -
1) Flexible and secure
It provides flexible resources because of the public cloud and secure
resources because of the private cloud.
2) Cost effective
Hybrid cloud costs less than the private cloud. It helps organizations to
save costs for both infrastructure and application support.
3) Security
Hybrid cloud is secure because critical activities are performed by the
private cloud.
Disadvantages of Hybrid Cloud
1) Networking issues
In the Hybrid Cloud, networking becomes complex because of the
private and the public cloud.
2) Infrastructure Compatibility
Infrastructure compatibility is the major issue in a hybrid cloud. With
dual-levels of infrastructure, a private cloud controls the company, and
a public cloud does not, so there is a possibility that they are running in
separate stacks.
4.Community Cloud
● Community clouds are distributed systems created by integrating
the services of different clouds to address the specific needs of an
industry, a community, or a business sector.
● In the community cloud, the infrastructure is shared between
organizations that have shared concerns or tasks. An organization
or a third party may manage the cloud.
●
Advantages of using Community cloud are:
1. Because the entire cloud is shared by numerous enterprises or
a community, community clouds are cost-effective.
2. Because it works with every user, the community cloud is
adaptable and scalable. Users can alter the documents
according to their needs and requirements.
3. Public cloud is less secure than the community cloud, which is
more secure than private cloud.
4. we can share cloud resources, infrastructure, and other
capabilities between different enterprises.
Disadvantages of using Community cloud are:
1. Not all businesses should choose community cloud.
2. It’s challenging for corporations to share duties.
● 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. Most media productions involve an extended
ecosystem of partners. In particular, the creation of digital content
is the outcome of a collaborative process that includes the
movement of large data, massive compute-intensive rendering
tasks, and complex workflow executions.
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 the 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.
TOPIC 3:ECONOMICS OF THE CLOUD
Economics of Cloud Computing is based on the PAY AS YOU GO
method. Users/Customers must have to pay only for their way of the
usage of the cloud services. It is definitely beneficial for the users. So
the Cloud is economically very convenient for all. Another side is to
eliminate some indirect costs which is generated by assets such as
license of the software and their support. In the cloud, users can use
software applications on a subscription basis without any cost because
the property of the software providing service remains to the cloud
provider.
Economical background of the cloud is more useful for developers in
the following ways:
● Pay as you go model offered by cloud providers.
● Scalable and Simple.
Cloud Computing Allows:
● Reduces the capital costs of infrastructure.
● Removes the maintenance cost.
● Removes the administrative cost.
What is Capital Cost?
it is cost occurred in the purchasing infrastructure or the assets that is
important in the production of goods. It takes a long time to generate
profit.
In the case of start-ups, there is no extra budget for the infrastructure
and its maintenance. So cloud can minimizes expenses of any small
organization in terms of economy. It leads to the developers can only
focus on the development logic and not on the maintenance of the
infrastructure.
There are three different Pricing Strategies that are introduced by Cloud
Computing: Tiered Pricing, Per-unit Pricing, and Subscription-based
Pricing. These are explained below.
1. Tiered Pricing: Cloud Services are offered in the various tiers.
Each tier offers to fix service agreements at a specific cost.
Amazon EC2 uses this kind of pricing.
2. Per-unit Pricing: The model is based upon the unit-specific
service concept. Data transfer and memory allocation include
in this model for specific units. GoGrid uses this kind of
pricing in terms of RAM/hour.
3. Subscription-based Pricing: In this model, users are paying
periodic subscription fees for the usage of the software.
TOPIC 4:CLOUD COMPUTING OPEN CHALLENGES
1. Data Security and Privacy
Data security is a major concern when switching to cloud computing.
User or organizational data stored in the cloud is critical and private.
Even if the cloud service provider assures data integrity, it is your
responsibility to carry out user authentication and authorization,
identity management, data encryption, and access control. Security
issues on the cloud include identity theft, data breaches, malware
infections, and a lot more which eventually decrease the trust amongst
the users of your applications. This can in turn lead to potential loss in
revenue alongside reputation and stature. Also, dealing with cloud
computing requires sending and receiving huge amounts of data at high
speed, and therefore is susceptible to data leaks.
2. Cost Management
Even as almost all cloud service providers have a “Pay As You Go”
model, which reduces the overall cost of the resources being used, there
are times when there are huge costs incurred to the enterprise using
cloud computing. When there is under optimization of the resources,
let’s say that the servers are not being used to their full potential, add
up to the hidden costs. If there is a degraded application performance
or sudden spikes or overages in the usage, it adds up to the overall cost.
Unused resources are one of the other main reasons why the costs go
up. If you turn on the services or an instance of cloud and forget to turn
it off during the weekend or when there is no current use of it, it will
increase the cost without even using the resources.
3. Multi-Cloud Environments
Due to an increase in the options available to the companies, enterprises
not only use a single cloud but depend on multiple cloud service
providers. Most of these companies use hybrid cloud tactics and close
to 84% are dependent on multiple clouds. This often ends up being
hindered and difficult to manage for the infrastructure team. The
process most of the time ends up being highly complex for the IT team
due to the differences between multiple cloud providers.
4. Performance Challenges
Performance is an important factor while considering cloud-based
solutions. If the performance of the cloud is not satisfactory, it can drive
away users and decrease profits. Even a little latency while loading an
app or a web page can result in a huge drop in the percentage of users.
This latency can be a product of inefficient load balancing, which
means that the server cannot efficiently split the incoming traffic so as
to provide the best user experience. Challenges also arise in the case of
fault tolerance, which means the operations continue as required even
when one or more of the components fail.
5. Interoperability and Flexibility
When an organization uses a specific cloud service provider and wants
to switch to another cloud-based solution, it often turns up to be a
tedious procedure since applications written for one cloud with the
application stack are required to be re-written for the other cloud. There
is a lack of flexibility from switching from one cloud to another due to
the complexities involved. Handling data movement, setting up the
security from scratch and network also add up to the issues encountered
when changing cloud solutions, thereby reducing flexibility.
6. High Dependence on Network
Since cloud computing deals with provisioning resources in real-time,
it deals with enormous amounts of data transfer to and from the servers.
This is only made possible due to the availability of the high-speed
network. Although these data and resources are exchanged over the
network, this can prove to be highly vulnerable in case of limited
bandwidth or cases when there is a sudden outage. Even when the
enterprises can cut their hardware costs, they need to ensure that the
internet bandwidth is high as well there are zero network outages, or
else it can result in a potential business loss. It is therefore a major
challenge for smaller enterprises that have to maintain network
bandwidth that comes with a high cost.
7. Lack of Knowledge and Expertise
Due to the complex nature and the high demand for research working
with the cloud often ends up being a highly tedious task. It requires
immense knowledge and wide expertise on the subject. Although there
are a lot of professionals in the field they need to constantly update
themselves. Cloud computing is a highly paid job due to the extensive
gap between demand and supply. There are a lot of vacancies but very
few talented cloud engineers, developers, and professionals. Therefore,
there is a need for upskilling so these professionals can actively
understand, manage and develop cloud-based applications with
minimum issues and maximum reliability.