new the open cloud: cloud computing and open source · 2016. 12. 9. · the open cloud: cloud...
TRANSCRIPT
International Journal of Research in Engineering, Technology and Science, Volume VI,
Special Issue, July 2016
www.ijrets.com, [email protected], ISSN 2454-1915
SOHAIL AKHTAR1
THE OPEN CLOUD: CLOUD COMPUTING AND OPEN SOURCE
Sohail Akhtar Department of Information Technology,
Karim City College, Jamshedpur, Jharkhand, India
ABSTRACT:
OpenSource refers to a program in which the source code is available to the general public
for use and/or modification from its original design free of charge, i.e., open. Open Source
code is typically created as a collaborative effort in which programmers improve upon the
code and share the changes within the community. Open Source developed in the
technological community as a response to proprietary software owned by corporations.
Cloud Computing is a paradigm shift in which computing is moved away from personal
computers and even the individual enterprise application server to a ‘cloud’ of computers. A
cloud is a virtualized server pool which can provide the different computing resources of their
clients. Users of this system need only be concerned with the computing service being asked
for. The underlying details of how it is achieved are hidden from the user. The data and the
services provided reside in massively scalable data centres and can be ubiquitously accessed
from any connected device all over the world.
Cloud Computing is the style of computing where massively scaled IT related capabilities are
provided as a service across the internet to multiple external customers and are billed by
consumption. Many Cloud Computing providers have popped up and there is a considerable
growth in the usage of this service. Google, Microsoft, Yahoo, IBM and Amazon have started
providing Cloud Computing services. Amazon is the pioneer in this field. Smaller companies
like Smug Mug, which is an online photo hosting site, has used cloud services for the storing
all the data and doing some of its services.
Cloud Computing is finding use in various areas like web hosting, parallel batch processing,
graphics rendering, financial modelling, web crawling, genomics analysis, etc.
Keywords: Open Source, Open Source Software, Cloud, Virtualization, Cloud Computing, Cloud Computing Services, Service Providers
[1] INTRODUCTION
The open cloud is one in which every component, from the software to the APIs used
by application developers, is open to vendors, developers and customers alike. While
proprietary cloud vendors promote their open APIs, an open cloud cannot be constructed from
closed components. APIs that are open today, after all, may be closed tomorrow, unless the
code is available. Components of the open cloud today share a couple of key characteristics.
THE OPEN CLOUD: CLOUD COMPUTING AND OPEN SOURCE
2
Most obviously, they are released under an open-source license; this can be a reciprocal-style
license such as the GPL used by the Linux kernel or an alternative like the Apache or MIT
licenses. While the licenses carry with them different obligations, they all guarantee full and
unrestricted access to the project’s codebase. While the code is critical, the community around
the project is of equal long-term importance. To ensure the ongoing viability of a given project,
it must have an ecosystem in terms of contributors and users that work overtime to support it. It
is this community that is most likely to enable the initial experimentation and proof-of-concept
build-outs that represent the first steps towards an open cloud.
Building upon an open cloud provides all the same benefits as the rest of the universe of open
source software, such as:
• improved code quality of the underlying cloud implementation;
• insurance against lock-in as well as the failure of your cloud provider;
• increased security, with the ability to fix vulnerabilities yourself; and
• freedom from mandatory licensing costs; among others.
In the case of Software as a Service (SaaS), the full stack comprising the open cloud
starts at the operating system (OS) level with a kernel on bare metal, and it rises all the way
through what cloud-based developers see and access when writing applications.
In the case of Infrastructure as a Service (IaaS), that may mean the top layer of the open
cloud is software providing APIs to administer virtualization software for setup, takedown and
control of virtual machines.
In the case of Platform as a Service (PaaS), the open cloud necessarily goes even farther
up the stack, through the guest OS to the software that provides developer-accessible APIs.
[2] CLOUD COMPUTING
Definition:
Cloud computing is a computing paradigm, where a large pool of systems are
connected in private or public networks, to provide dynamically scalable infrastructure for
application, data and file storage.
Figure: 1 A Cloud Computing Structure
THE OPEN CLOUD: CLOUD COMPUTING AND OPEN SOURCE
3
With the advent of this technology, the cost of computation, application hosting, content storage
and delivery is reduced significantly.Cloud computing is a practical approach to experience
direct cost benefits and it has the potential to transform a data center from a capital-intensive set
up to a variable priced environment. The idea of cloud computing is based on a very
fundamental principal of “reusability of IT capabilities”.
The National Institute of Standards and Technology (NIST) defines cloud computing as:
“Cloud Computing is a model for enabling convenient, on-demand network
access to a shared pool of configurable computing resources (e.g., networks,
servers, storage, applications, and services) that can be rapidly provisioned and
released with minimal management effort or service provider interaction.”
Forrester defines cloud computing as:
“A pool of abstracted, highly scalable, and managed compute infrastructure
capable of hosting end customer applications and billed by consumption.”
[3] ESSENTIAL CHARACTERISTICS OF CLOUD COMPUTING
1. On demand self-services:
Computer services such as email, applications, network or server service can be
provided without requiring human interaction with each service provider. Cloud service
providers providing on demand self-services include AWS, Microsoft, Google, IBM
and Salesforce.com. New York Times and NASDAQ are examples of companies using
AWS.
2. Broad network access:
Cloud Capabilities are available over the network and accessed through
standard mechanisms that promote use by heterogeneous thin or thick client platforms
such as mobile phones, laptops and PDAs.
3. Resource pooling:
The provider’s computing resources are pooled together to serve multiple
consumers using multiple-tenant model, with different physical and virtual resources
dynamically assigned and reassigned according to consumer demand. The resources
include among others storage, processing, memory, network bandwidth, virtual
machines and email services. The pooling together of the resource builds economies of
scale.
4. Rapid elasticity:
Cloud services can be rapidly and elastically provisioned, in some cases
automatically, to quickly scale out and rapidly released to quickly scale in. To the
consumer, the capabilities available for provisioning often appear to be unlimited and
can be purchased in any quantity at any time.
5. Measured service:
Cloud computing resource usage can be measured, controlled, and reported
providing transparency for both the provider and consumer of the utilised service.
THE OPEN CLOUD: CLOUD COMPUTING AND OPEN SOURCE
4
Cloud computing services use a metering capability which enables to control and
optimise resource use. This implies that just like air time, electricity or municipality
water IT services are charged per usage metrics, pay per use. The more you utilise the
higher the bill.
6. Multi Tenacity:
Multi Tenacity is the 6th characteristics of cloud computing advocated by the
Cloud Security Alliance. It refers to the need for policy-driven enforcement,
segmentation, isolation, governance, service levels, and chargeback/billing models for
different consumer constituencies. Consumers might utilize a public cloud provider’s
service offerings or actually be from the same organization, such as different business
units rather than distinct organizational entities, but would still share infrastructure.
[4] SERVICE MODELS OF CLOUD COMPUTING
The Cloud Computing Service model is divided into three categories.
1. SaaS – Software as a Service
Cloud application services, or Software as a Service (SaaS), represent the largest cloud
market and are still growing quickly. SaaS uses the web to deliver applications that are
managed by a third-party vendor and whose interface is accessed on the clients’ side. Most
SaaS applications can be run directly from a web browser without any downloads or
installations required, although some require plugins.
Figure: 2 Software as a Service (SaaS)
Because of the web delivery model, SaaS eliminates the need to install and run
applications on individual computers. With SaaS, it’s easy for enterprises to streamline their
maintenance and support, because everything can be managed by vendors: applications,
runtime, data, middleware, OSes, virtualization, servers, storage and networking.
Popular SaaS offering types include email and collaboration, customer relationship
management, and healthcare-related applications. Some large enterprises that are not
traditionally thought of as software vendors have started building SaaS as an additional
source of revenue in order to gain a competitive advantage.
THE OPEN CLOUD: CLOUD COMPUTING AND OPEN SOURCE
5
2. PaaS – Platform as a Service
Cloud platform services, or Platform as a Service (PaaS), are used for applications, and
other development, while providing cloud components to software. What developers gain
with PaaS is a framework they can build upon to develop or customize applications? PaaS
makes the development, testing, and deployment of applications quick, simple, and cost-
effective. With this technology, enterprise operations, or a third-party provider, can manage
OSes, virtualization, servers, storage, networking, and the PaaS software itself. Developers,
however, manage the applications.
Figure: 3Platform as a Service (PaaS)
Enterprise PaaS provides line-of-business software developers a self-service portal for
managing computing infrastructure from centralized IT operations and the platforms that
are installed on top of the hardware. The enterprise PaaS can be delivered through a hybrid
model that uses both public IaaS and on-premise infrastructure or as a pure private PaaS
that only uses the latter.
Similar to the way in which you might create macros in Excel, PaaS allows you to
create applications using software components that are built into the PaaS (middleware).
Applications using PaaS inherit cloud characteristic such as scalability, high-availability,
multi-tenancy, SaaS enablement, and more. Enterprises benefit from PaaS because it
reduces the amount of coding necessary, automates business policy, and helps migrate apps
to hybrid model. For the needs of enterprises and other organizations, Apprenda is one
provider of a private cloud PaaS for .NET and Java.
3. IaaS – Infrastructure as a Service
Cloud infrastructure services, known as Infrastructure as a Service (IaaS), are self-
service models for accessing, monitoring, and managing remote datacenter infrastructures,
such as compute (virtualized or bare metal), storage, networking, and networking services
(e.g. firewalls). Instead of having to purchase hardware outright, users can purchase IaaS
based on consumption, similar to electricity or other utility billing.
THE OPEN CLOUD: CLOUD COMPUTING AND OPEN SOURCE
6
C
o
m
p
a
r
e
d
t
o
S
a
a
S
a
nd PaaS, IaaS users are responsible for managing applications, data, runtime, middleware,
and OSes. Providers still manage virtualization, servers, hard drives, storage, and
networking. Many IaaS providers now offer databases, messaging queues, and other
services above the virtualization layer as well. Some tech analysts draw a distinction here
and use the IaaS moniker for these other options. What users gain with IaaS is infrastructure
on top of which they can install any required platform? Users are responsiblefor updating
these if new versions are released
Figure: 4 Infrastructure as a Service (IaaS)
[5] CLOUD DEPLOYMENT MODELS
A cloud deployment model represents a specific type of cloud environment, primarily
distinguished by ownership, size, and access.
There are four common cloud deployment models:
1. Public Clouds
Public cloud is a publicly accessible cloud environment owned by a third-party cloud
provider. The IT resources on public clouds are usually provisioned via the previously
described cloud delivery models and are generally offered to cloud consumers at a cost or
are commercialized via other avenues (such as advertisement).
The cloud provider is responsible for the creation and on-going maintenance of the
public cloud and its IT resources. Many of the scenarios and architectures explored in
upcoming chapters involve public clouds and the relationship between the providers and
consumers of IT resources via public clouds.
THE OPEN CLOUD: CLOUD COMPUTING AND OPEN SOURCE
7
Public Clouds: Organizations act as cloud consumers when accessing cloud services
and IT resources made available by different cloud providers.
Figure 5 - Organizations act as cloud consumers when accessing cloud services and IT resources made
available by different cloud providers.
2. Community Clouds
A community cloud is similar to a public cloud except that its access is limited to a
specific community of cloud consumers. The community cloud may be jointly owned by
the community members or by a third-party cloud provider that provisions a public cloud
with limited access. The member cloud consumers of the community typically share the
responsibility for defining and evolving the community cloud [Figure 6].
Membership in the community does not necessarily guarantee access to or control of all
the cloud's IT resources. Parties outside the community are generally not granted access
unless allowed by the community.
Figure 6 - An example of a "community" of organizations accessing IT resources from a community cloud.
3. Private Clouds
A private cloud is owned by a single organization. Private clouds enable an
organization to use cloud computing technology as a means of centralizing access to IT
resources by different parts, locations, or departments of the organization. When a private
cloud exists as a controlled environment, the problems described in the Risks and
Challenges section do not tend to apply.
THE OPEN CLOUD: CLOUD COMPUTING AND OPEN SOURCE
8
The use of a private cloud can change how organizational and trust boundaries are
defined and applied. The actual administration of a private cloud environment may be
carried out by internal or outsourced staff.
Figure 7 - A cloud service consumer in the organization's on-premise environment accesses a cloud
service hosted on the same organization's private cloud via a virtual private network.
With a private cloud, the same organization is technically both the cloud consumer and
cloud provider [Figure 7]. In order to differentiate these roles:
a separate organizational department typically assumes the responsibility for
provisioning the cloud (and therefore assumes the cloud provider role)
departments requiring access to the private cloud assume the cloud consumer role
It is important to use the terms "on-premise" and "cloud-based" correctly within the
context of a private cloud. Even though the private cloud may physically reside on the
organization's premises, IT resources it hosts are still considered "cloud-based" as long as
they are made remotely accessible to cloud consumers. IT resources hosted outside of the
private cloud by the departments acting as cloud consumers are therefore considered "on-
premise" in relation to the private cloud-based IT resources.
4. Hybrid Clouds
A hybrid cloud is a cloud environment comprised of two or more different cloud
deployment models. For example, a cloud consumer may choose to deploy cloud services
processing sensitive data to a private cloud and other, less sensitive cloud services to a
public cloud. The result of this combination is a hybrid deployment model [Figure 8].
THE OPEN CLOUD: CLOUD COMPUTING AND OPEN SOURCE
9
Figure 8 - An organization using a hybrid cloud architecture that utilizes both a private and public cloud.
Hybrid deployment architectures can be complex and challenging to create and maintain due to
the potential disparity in cloud environments and the fact that management responsibilities are
typically split between the private cloud provider organization and the public cloud provider.
[6] OPEN SOURCE
The term "open source" refers to something that can be modified and shared because its
design is publicly accessible. Open source software can be freely used, changed, and shared (in
modified or unmodified form) by anyone. Open source software is made by many people, and
distributed under licenses. Open source doesn't just mean access to the source code. The
distribution terms of open-source software must comply with the following criteria:
1. Free Redistribution:
The license shall not restrict any party from selling or giving away the software as a
component of an aggregate software distribution containing programs from several
different sources. The license shall not require a royalty or other fee for such sale.
2. Source Code:
The program must include source code, and must allow distribution in source code as
well as compiled form. Where some form of a product is not distributed with source
code, there must be a well-publicized means of obtaining the source code for no more
than a reasonable reproduction cost preferably, downloading via the Internet without
charge. The source code must be the preferred form in which a programmer would
modify the program. Deliberately obfuscated source code is not allowed. Intermediate
forms such as the output of a pre-processor or translator are not allowed.
3. Derived Works:
The license must allow modifications and derived works, and must allow them to be
distributed under the same terms as the license of the original software.
4. Integrity of The Author's Source Code:
The license may restrict source-code from being distributed in modified form only if
the license allows the distribution of "patch files" with the source code for the purpose
of modifying the program at build time. The license must explicitly permit distribution
of software built from modified source code. The license may require derived works to
carry a different name or version number from the original software.
5. No Discrimination Against Persons or Groups:
The license must not discriminate against any person or group of persons.
6. No Discrimination Against Fields of Endeavour:
The license must not restrict anyone from making use of the program in a specific field
of endeavour. For example, it may not restrict the program from being used in a
business, or from being used for genetic research.
THE OPEN CLOUD: CLOUD COMPUTING AND OPEN SOURCE
10
7. Distribution of License:
The rights attached to the program must apply to all to whom the program is
redistributed without the need for execution of an additional license by those parties.
8. License Must Not Be Specific to a Product:
The rights attached to the program must not depend on the program's being part of a
particular software distribution. If the program is extracted from that distribution and
used or distributed within the terms of the program's license, all parties to whom the
program is redistributed should have the same rights as those that are granted in
conjunction with the original software distribution.
9. License Must Not Restrict Other Software:
The license must not place restrictions on other software that is distributed along with
the licensed software. For example, the license must not insist that all other programs
distributed on the same medium must be open-source software.
10. License Must Be Technology-Neutral:
No provision of the license may be predicated on any individual technology or style of
interface.
[7] CONCLUSION
Cloud computing is an emerging technology which introduced itself as a service
oriented technology. It is a powerful new abstraction for large scale data processing systems
which is scalable, reliable and available.In cloud computing, there are large self-managed server
pools available which reduces the overhead and eliminates management headache. It is working
on the principle of on demand service and scalability. It is providing services in many ways
including software, platform and infrastructure and making the users free of installing and
administering these services.Cloud computing services can also grow and shrink according to
need.In spite the fact that cloud computing provides high performance, high available, fault
tolerant services; the issues it comes with are also very serious in nature.Cloud computing is
particularly valuable to small and medium businesses, where effective and affordable IT tools
are critical to helping them become more productive without spending lots of money on in-
house resources and technical equipment. Also it is a new emerging architecture needed to
expand the Internet to become the computing platform of the future.
Of the worth mentioning are data and network security, data authenticity and audit ability, lack
of user control over data and security polices and virtualization problem. In order to attract
theorganizations and build the confidence of customer, these issues need to be well researched
and resolved.
THE OPEN CLOUD: CLOUD COMPUTING AND OPEN SOURCE
11
REFERENCES:
[1] "The NIST Definition of Cloud Computing". NIST. Retrieved 24 July 2011.
[2] http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
[3] Torry Harris ”Cloud Computing An Overview”.
[4] Patrícia Takako Endo1, Glauco Estácio Gonçalves1, Judith Kelner1, Djamel Sadok1,” A
Survey on Open-source Cloud Computing Solutions” VIII Workshop em Clouds, Grids e
Aplicações
[5] Jisha S. Manjaly1, Jisha S.” A COMPARATIVE STUDY ON OPEN SOURCE CLOUD
COMPUTING FRAMEWORKS” www.ijecs.in International Journal Of Engineering And
Computer Science ISSN:2319-7242 Volume 2, Issue 6 June, 2013 Page No. 2026-2029
[6] Arpit Malani,” Taxonomy, Classi_cation & Implementation of open source cloud
computing platforms”, CS 692 R&D Project Report, May 16, 2012.
[7] Sidharth Sachdev, Amit Mahajan ,” Deployment of Private Cloud using Open Stack: An
Open Source Cloud Computing Solution for Small and Mid-sized Organizations” Volume
3, Issue 10, October 2013 ISSN: 2277 128X International Journal of Advanced Research in
Computer Science and Software Engineering Research Paper Available online at:
www.ijarcsse.com
[8] Sonali Yadav” Comparative Study on Open Source Software for Cloud Computing
Platform: Eucalyptus, Openstack and Opennebula” Research Inventy: International Journal
Of Engineering And Science Vol.3, Issue 10 (October 2013), PP 51-54 Issn(e): 2278-4721,
Issn(p):2319-6483, www.Researchinventy.Com
[9] Omar SEFRAOUI, Mohammed AISSAOUI, Mohsine ELEULDJ,” OpenStack: Toward an
Open-Source Solution for Cloud Computing”, International Journal of Computer
Applications (0975 - 8887) Volume 55 - No. 03, October 2012.
[10] Omar SEFRAOUI, Mohammed AISSAOUI, Mohsine ELEULDJ,” OpenStack: Toward an
Open-Source Solution for Cloud Computing”, International Journal of Computer
Applications (0975 - 8887) Volume 55 - No. 03, October 2012.
[11] Patrícia Takako Endo1, Glauco Estácio Gonçalves1, Judith Kelner1, Djamel Sadok1,” A
Survey on Open-source Cloud Computing Solutions” VIII Workshop em Clouds, Grids e
Aplicações
[12] Google –http://www.google.com/
[13] Naylor G. Bachiega1, Henrique P. Martins1, Roberta Spolon1, Marcos A. Cavenaghi1,
Renata S. Lobato2, Aleardo Manacero2,”Open Source Cloud Computing: Characteristics
and an Overview”.
THE OPEN CLOUD: CLOUD COMPUTING AND OPEN SOURCE
12
Author[s] brief Introduction
MrSOHAIL AKHTAR obtained his Bachelor of Science in Information Technology from Ranchi University,
Ranchi in 2008 and received the Master of Computer Applications in 2013. His research interests include Cloud
Computing, Virtualization, and Open Source Applications. Currently he is a Research Scholar and working as
Assistant Professor in the Department of Information Technology at Karim City College, Jamshedpur.