Building A Private Cloud With Openstack and Joli Os: Reza Bakhshayeshi
Building A Private Cloud With Openstack and Joli Os: Reza Bakhshayeshi
h t t p : / / c r c . a u t . a c . i r
Abstract: Today, with rapid growth of the cloud computing technology, enterprises and organizations need to build their private cloud for their own specific requirements. Infrastructure itself is not sufficient for users, they need platforms and software, and what mobile users need is a special kind of operating system which must be available through web browsers, and in this case we need cloud operating system, which could be available through a web browser. In this paper we are going to introduce one of the most successful open source software collections to build a private and public cloud infrastructure, OpenStack, and building platform layer with Joli OS for mobile users. Keywords: Cloud Computing, OpenStack, Cloud OS, Private Cloud.
1.
Introduction
With rapid improvement in processing and storage technologies alongside the success of the internet, computing resources have become cheaper and more ubiquitously available than ever before. These technological trends lead to a new computational model called cloud computing, in which resources like processors and storage spaces could be allocated to users or deallocated from theme easily with help of virtualization technology through the internet in an on demand fashion [1]. A precise definition of cloud computing which we believe covers all major aspects of cloud computing is given in [2]: 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. There exist two major categories of clouds: Private Cloud and Public Cloud. In the public cloud (or external cloud) computing resources are dynamically provisioned over the Internet via Web applications or Web services from an off-site thirdparty provider. Public clouds are run by third parties, and applications from different customers are likely to be mixed together on the clouds servers, storage systems, and networks. On the other hand, private cloud (also called internal cloud or corporate cloud) refers to cloud computing on private networks. Private clouds are built for the exclusive use of one client, providing full control over data,
security, and quality of service. Private clouds can be built and managed by a companys own IT or ganization or by a cloud provider. Therefore administrators have more control on the cloud infrastructure configurations and services in a private cloud [3]. In this paper we are going to introduce the concepts of the private cloud and recommend some basic and powerful tools, OpenStack infrastructure and Joli OS to implement such a cloud. Rest of the paper is divided in to 4 sections. In section 2 we present basic concepts of OpenStack, In section 3 we will talk about cloud OS fundamentals and Joli OS itself, In section 4 we will show you how to build a private cloud with help of OpenStack and Joli OS, and finally we will have conclusion in section 5.
2. OpenStack Cloud
2.1. Concepts OpenStack [4] is a collection of open source software projects that service providers or enterprises can setup their own computation or storage infrastructure with help of it. NASA and Rackspace are the two key initial contributors who started the OpenStack project in July 2010. Rackspace contributed their "Cloud Files" platform to power the Object Storage part of the OpenStack, whilst NASA contributed their "Nebula" platform to power the Compute part. There are 5 main stack services under OpenStack which will be described later [5]. 2.2. OpenStack Compute Service (Nova) Nova is the computing brain of the OpenStack. All activities regarding to the life cycle of an instance is managed with help of nova. This management platform includes: managing compute resources, authorization, networking and scalability activities of the cloud. Nova uses libvirt API to interact with supported hypervisors and does not able to perform virtualization activities. Some essential components of nova are: API Server (to interact with outside world), Message Queue (for internal communications between services), Compute Workers (instance lifecycle manager), Network Controller (manages network configuration of host machines), Volume Worker (LVM-based instance
First National Workshop on Cloud Computing - 31 Oct - 1 Nov 2012 Amirkabir University of Technology - Computer and IT Department
h t t p : / / c r c . a u t . a c . i r
volume manager) and Scheduler (to mapping the novaAPI calls to the appropriate OpenStack components). 2.3. OpenStack Imaging Service (Glance) Glance is a lookup and retrieval system to manage virtual machine images. By default it uses Local Filesystem storage backend, but it can be also configured to use OpenStack Object Store or S3 Storage backend. 2.4. OpenStack Storage Service (Swift) Swift infrastructure provides distributed and consistent virtual object store for cloud. It is similar to Amazon Web Service Simple Storage Service (S3) [6] and capable of media streaming and working with large databases. Swift components are: Swift Account (lists containers), Swift Container (lists the objects as SQLite files in a con-tainer), Swift Object (handle storage, retrieval and dele-tion of objects stored in the local storage), Swift Proxy (by using Swift API through the proxy server, consumers interact with the Swift setup), and The Ring (contains information about the physical location of the objects stored inside Swift). 2.5. OpenStack Identity Service (Keystone) Keystone provides policy rules and identity mechanism for all components in cloud including: nova, swift and glance. Keystone provides authentication and authorization. Authentication refers to the process where an entity's identity is authenticated, typically by providing evidence that it holds a specific digital identity such as an identifier and the corresponding credentials, while authorization function determines whether a particular entity is authorized to perform a given activity, typically inherited from authentication when logging on to an application or service [7].
Fig. 1: Interaction between OpenStack components
2.6. OpenStack Web-Interface (Horizon) With horizon administrators can manage whole cloud like managing instances and images, allocating volume to instances and setting rules for policies through webinterface. Moreover, it provides web access to instances through VNC console for users. Fig. 1 [8] illustrates a simple representation of interaction between keystone and horizon with the remaining OpenStack components.
First National Workshop on Cloud Computing - 31 Oct - 1 Nov 2012 Amirkabir University of Technology - Computer and IT Department
h t t p : / / c r c . a u t . a c . i r
to use platform for mobile users. Mobile users, who work with an operating system from a browser, mostly prefer
AAA
to work with social network, email or video streaming apps which are easily available on this operating system. Installing Joli OS needs no more skill than installing a Linux distribution and takes almost 10 minutes depend on your hardware specifications.
5. Conclusion
Cloud computing has becoming a new paradigm in computation and delivering services through internet. Private clouds are a division of cloud computing that enterprises and organizations try to take benefit from it for their specific intentions. In this paper we briefly introduced a new and powerful infrastructure for building private and public clouds, and we went further to platform layer but specifically for mobile users and introduced cloud operating system. Further researches include analyzing the performance of OpenStack cloud infrastructure (e.g., with help of HPCC benchmarks) and compare capabilities of different cloud operating systems. References [1] Q. Zhang, L. Cheng, R. Boutaba, "Cloud computing: state-of-the-art and research challenges," Journal of Internet Services and Applications, Vol. 1, 7-18, 2010. [2] http://csrc.nist.gov/publications/nistpubs/800145/SP800-145.pdf, The NIST Definition of Cloud Computing, 2011. [3] B. Furht, A. Escalante. Handbook of Cloud Computing. Springer, 2010. [4] http://openstack.org, OpenStack Open Source Cloud Computing Software, 2012. [5] http://docs.openstack.org/essex/openstackcompute/starter/content, OpenStack Compute Starter Guide, 2012. [6] http://aws.amazon.com/s3, Amazon Simple Storage Service (Amazon S3), 2012.
[8] https://cssoss.wordpress.com, CSS Corp Open Source Services, 2012. [9] D.G. Chandra, D.B. Malaya, "A Study on Cloud OS," csnt, pp.692-697, 2012 International Conference on Communication Systems and Network Technologies, 2012. [10] http://www.cloudstack.org/blog/61-2011-cloudcomputing-outlook-survey-results.html, CloudStack Blog, 2011. [11] http://jolicloud.com, Jolicloud, 2012. [12] http://ispaces.com, Cloud Computer, 2012. [13] http://eyeos.com, Cloud Computing - Web Desktop Cloud Desktop, 2012. [14] http://cloudo.com, The Computer Evolved, 2012.