There are minimum basic rules for any software to be classified as open source license. It should subject to an open source license agreement. There should be some rights which must be given
Linux Kernel Virtual Machine (KVM) Although not a requirement, virtualization provides unique benefits for buildingdynamically scalable architectures. In addition to resource sharing and scalability,virtualization introduces the ability to migrate virtual machines (VMs) betweenphysical servers for the purposes of load balancing. Figure 1 shows that thevirtualization component is provided by a layer of software called a hypervisor(sometimes called a virtual machine monitor [VMM]). This layer provides the abilityto execute multiple operating systems (and their applications) simultaneously ona single physical machine. Each operating system views a logical machine that ismapped by the hypervisor to the physical machine. On the hypervisor is an objectcalled a virtual machine that encapsulates the operating system, applications, andconfiguration. Optionally, device emulation can be provided in the hypervisor or as aVM. Finally, given the new dynamic nature of virtualization and the new capabilitiesit provides, new management schemes are needed. This management is bestdone in layers, considering local management at the server, as well as higher-level infrastructure management, providing the overall orchestration of the virtualenvironment.Type 1 : Oracle VM Server for SPARC, the Citrix XenServer, KVM, VMware ESX/ESXi, and MicrosoftHyper-V hypervisor.Type 2 : BHyVe, VMware Workstation and VirtualBox are examples of Type 2 hypervisors
CloudStack is open source software written in java that is designed to deploy and manage large networks of virtual machines, as a highly available, scalable cloud computing platform. CloudStack current supports the most popular hypervisors VMware, Oracle VM, KVM, XenServer and Xen Cloud Platform. CloudStack offers three ways to manage cloud computing environments: a easy-to-use web interface, command line and a full-featured RESTful API.
Dashboard (Horizon) provides a web front end to the other OpenStack servicesCompute (Nova) stores and retrieves virtual disks ("images") and associated metadata in GlanceImage (Glance) can store the actual virtual disk files in Object (Swift)Services authenticate with Identity (Keystone)
End users can interact through a common web interface (Horizon) or directly to each service through their APIAll services authenticate through a common source (facilitated through Keystone)Individual services interact with each other through their public APIs (except where privileged administrator commands are necessary)
OpenStackOpenStack was originally developed by NASA and Rackspace, and is also backed by the likes of IBM, HP and Dell. It's a series of three core projects that can be used to build a private cloud platform: Compute, Object Storage and Image Service. These three projects provide the base for managing virtual servers, storage and machine images. The core projects do not provide a self-service portal, but there are OpenStack-incubated projects that do.OpenStack provides full hypervisor support for KVM and Xen, with limited support for Microsoft Hyper-V, Citrix Xen Server, VMware ESX and others. Persistent storage is provided using OpenStack Object Storage to manage the local disk on compute node clusters. Lastly, machine images of various types (including Raw, VHD, VDI, VMDK and OVF) are managed through the OpenStack Image Service.OpenStack is deployed via the various core and incubator projects, and as such requires time and know how to get up and running. The upside of this is that users can choose which projects/features are required. Various installation packages are available for the separate projects.With networking being a critical competent of private cloud architecture, the Quantum incubation project is quite interesting. Quantum is an extensible API driven tool for building and managing networks.CloudStackCloudStack has been around since 2009 and is implemented in more than 100 production clouds (including GoDaddy, KT and Tata). It's governed by the Apache Software Foundation and supported by Citrix and about 50 other technology partners. Unlike OpenStack, the CloudStack installation is very streamlined and well documented. The CloudStack open source code was acquired by Citrix with the Cloud.com acquisition and released as open source. This gives CloudStack a head start as it was already software being used in production.CloudStack is designed for massive scalability and centralized management, allowing tens of thousands of geographically distributed servers to be managed from a single portal. CloudStack software works with a variety of hypervisors, including Oracle VM, KVM, vSphere and Citrix XenServer, with Oracle VM being a key differentiator from CloudStack. Another differentiator is support for bare-metal servers. Additionally, CloudStack supports multiple networking models, such as OpenFlow, VLANs and flat networks.Overall, CloudStack is better packaged for enterprise adoption, especially in environments not already familiar with open source. Its installation packaging and customizable admin/end-user portal are designed for quick, scalable adoption of the private cloud. OpenStack, on the other hand, can be best described as a foundation or framework for cloud computing, not nearly as polished. That being said, OpenStack currently has a deeper pool of open source contributors actively participating. CloudStack comes with a more refined product and heavy user adoption, while OpenStack comes with a strong set of contributors.
Transcript of "Open Stack Cloud Services"
Saurabh GuptaHead IT – Metahelix Life SciencesOPEN STACK CLOUD SERVICES
PRESENTATION GOALS COMPARISONS, COMMERCIALIZATION CHECK OF OSS OPEN STACK OPEN, CLOUD, HYPERVISOR
OPEN SOURCE Wikipedia - In production and development, open source is a philosophy, or pragmatic methodology that promotes free redistribution and access to an end products design and implementation details. Before the phrase open source became widely adopted, developers and producers used a variety of phrases to describe the concept; open source gained hold with the rise of the Internet, and the attendant need for massive retooling of the computing source code.
WHAT IS OPEN SOURCE SOFTWARE? Open source software is software that is subject to an open source license. An open source licensor must give the licensee certain rights to be considered open source Basically, the licensee has the right to use, modify or distribute the software, and the right to access the source code.
KEY OPEN SOURCE POINTS Free Derivate Work NeutralRedistribution• Source code must • The recipient must • The license must be made be allowed to be technology available. make derivative neutral - no works discrimination against systems
OPEN LICENSE TYPES The GPL, or General Public License •By far the most popular •No warranty - Disclaimer required •Any work based on the original OSS program must be licensed as a whole, at no charge to all third parties, and under the terms of the GPL The Berkeley Software Distribution license (BSD) •Like GPL, except that derivative works can be kept proprietary Mozilla/corporate licenses •More expertly drafted •Serve as a model for later commercial licenses •Different provisions on relicensing •No copyleft
CLOUD Cloud computing is the delivery of computing and storage capacity as a service to a community of end-recipients. The name comes from the use of a cloud-shaped symbol as an abstraction for the complex infrastructure it contains in system diagrams. Cloud computing entrusts services with a users data, software and computation over a network.
MAIN FEATURES OF CLOUD COMPUTING On- demand self- service Broad Resource network pooling access CLOUD COMPUTI NG Rapid Measured elasticity Service
CLOUD SERVICES Infrastructure as a Service (IaaS) • The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications • Examples of IaaS include: Amazon Cloud Formation, Google Compute Engine, and RightScale. Platform as a Service (PaaS) • The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. • Examples of PaaS include: Amazon Elastic Beanstalk, Google App Engine, and Microsoft Azure. Software as a Service (SaaS) • The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. • Examples of SaaS include: Google Apps, Quickbooks Online and Salesforce.com.
CLOUD COMPUTING DEPLOYMENTPRIVATE CLOUD PUBLIC CLOUD HYBRID CLOUD• The cloud • The cloud • The cloud infrastructure is infrastructure is infrastructure is a operated solely for made available to the composition of two or an organization. It general public or a more clouds (private, may be managed by large industry group community, or public) the organization or a and is owned by an that remain unique third party and may organization selling entities but are exist on premise or cloud services. bound together by off premise. standardized or proprietary technology that enables data and application portability
WHAT DO YOU WANT IN IAAS? Ease of use Fault tolerance Low-cost of entry/maintenance Performance Ease of expansion API provisioning Compatibility with other platforms Agility / Fast provisioning
MAJOR COMPONENTS OF IAAS Storage VM Image management Self service / Web interface Networking Fault tolerance User management API / Hybrid Cloud Readiness Installation / Maintenance
WHY NOT COMMERCIAL CLOUD SERVICES? Technology Lockin - One of the concerns for Software Architects while building applications for cloud is the technology lock-in. For example a .NET application built for Microsoft Azure services would not be compatible with Amazon AWS and vice versa. Also cloud applications designed for Microsoft Azure & Amazon AWS are not directly portable on premise environments. Basically applications designed for AWS & Azure are locked in with the provider and you need to spend good amount of re-engineering efforts to move them out. Development Costs – If you are planning to develop applications/services for commercial platforms then you need to have knowledge of their proprietary SDKs etc. Hence development time goes up and costs are further increased. Licensing Costs – Due to the nature of proprietary technology, the cost of licensing tend to be higher. Small Development Community – As the cost of development is higher, small vendors tend to shy away from the development resulting in small development community. Compatibility – Commercial vendors usually try to create compatibility within small group of hardware and software vendors. This may result in hardware and software compatibility issues for customers.
IS OPEN SOURCE THE WAY? Negligible licensing cost as it is based on Open Source It’s based on open source and open standards. standards. Hence code portability to the Global development community users. Developers can use existing python, High level of compatibilities perl or GEMs to port their applications to Cloud. Low development cost as no upfront cost of licenses/knowledge upgrade.
HYPERVISOR A hypervisor, also called virtual machine manager (VMM), is one of many hardware virtualization techniques allowing multiple operating systems, termed guests, to run concurrently on a host computer. It is so named because it is conceptually one level higher than a supervisory program. The hypervisor presents to the guest operating systems a virtual operating platform and manages the execution of the guest operating systems. Multiple instances of a variety of operating systems may share the virtualized hardware resources. Hypervisors are very commonly installed on server hardware, with the function of running guest operating systems, that themselves act as servers. Source: wikipedia.org
OPEN STACK The project aims to deliver solutions for all types of clouds by being simple to implement, massively scalable, and feature rich. The technology consists of a series of interrelated projects delivering various components for a cloud infrastructure solution. Whos behind OpenStack? Founded by Rackspace Hosting and NASA, OpenStack has grown to be a global software community of developers collaborating on a standard and massively scalable open source cloud operating system. Who uses OpenStack? Corporations, service providers, VARS, SMBs, researchers, and global data centers looking to deploy large-scale cloud deployments for private or public clouds leveraging the support and resulting technology of a global open source community. Why open matters: All of the code for OpenStack is freely available under the Apache 2.0 license. Anyone can run it, build on it, or submit changes back to the project. Nova (compute), Swift (object storage), Glance (image service), Keystone (identity management), Horizon (gui
OPENSTACK AS IAAS? Allow application owners to register for our cloud services, view their usage and see their bill (basic customer relations management functionality) Allow Developers/DevOps to create and store custom images for their applications (basic build-time functionality) Allow DevOps/Developers to launch, monitor and terminate instances (basic run-time functionality) Allow the Cloud Operator to configure and operate the cloud infrastructure
OPENSTACK IMPLEMENTATION SCENARIO Hypervisor: Xen Device Emulation: KVM Networking: vSwitch Virtual Image Management: ovftool, Clonezilla Red Hat introduced the libvirt library as an API for managing platform virtualization(hypervisors and VMs). What makes libvirt interesting is that it supports a number of hypervisor solutions (KVM and Xen being two) and provides API bindings for number of languages (such as C, Python, and Ruby). It provides the "last mile" of management, interfacing directly with the platform hypervisor and extending APIsout to larger infrastructure-management solutions. With libvirt, its simple to start and stop VMs, and it provides APIs for more advanced operations, such as migration of VMs between platforms. Using libvirt, its also possible to use its shell (built on top of libvirt), called virsh.
BENEFITS OF OPEN STACK SERVICES Its diverse and has active developer community, its being based on industry opens standards, flexibility, and ability to scale. Zero initial investment on solution Each of the commercial vendors has its own API, and these APIs doesn’t support various storage systems. OpenStack works on open standards. OpenStack uses software logic to ensure data replication and distribution across different devices, meaning that inexpensive commodity hard drives and servers can be used in lieu of more expensive equipment. Further Quota facility ensures that users can’t provision more than allocated disk space.
POINTS TO LOOK FOR IN OPEN STACK SERVICES Presently OpenStack doesn’t have billing solution and Zuora kind of solution need to be separately integrated Customer portal needs to be further created Some work is still required for making nova- network more available. OpenStack provides all the features that are required to run IaaS cloud services. However to commercialize it, some level of integration and effort is required.
OPENSTACK VS CLOUDSTACK OpenStack, “an open source CloudStack, “an open source product influenced by hosting project that was acquired by provider Rackspace and Citrix NASA. CloudStack software works OpenStack provides full with a variety of hypervisors, hypervisor support for KVM including Oracle VM, KVM, and Xen, with limited support vSphere and Citrix XenServer, for Microsoft Hyper-V, Citrix with Oracle VM being a key Xen Server, VMware ESX and differentiator from CloudStack. others. Overall, CloudStack is better OpenStack is deployed via the packaged for enterprise various core and incubator adoption, especially in projects, and as such requires environments not already time and know how to get up familiar with open source. Its and running. The upside of this installation packaging and is that users can choose which customizable admin/end-user projects/features are required. portal are designed for quick, Various installation packages scalable adoption of the are available for the separate private cloud. projects.
OPENSTACK VS EUCALYPTUS OpenStack, “an open Started as a research project at UC Santa Barbara source product Cloud Controller (CLC) influenced by hosting Manages the virtualization provider Rackspace resources and APIs and NASA. Provides web interface Walrus (S3 storage) Nova (compute) Cluster Controller (CC) Swift (object storage) Controls execution of VMs and their networking Glance (image Storage Controller (SC) service) Provides block-level storage to VMs (EBS) Keystone (identity Node Controller (NC) management) Controls VMs via hypervisors Horizon (gui interface)
OPENSTACK VS CLOUDSTACK VS EUCALYPTUSSTORAGE OPEN STACK CLOUDSTACK EUCALYPTUSDisk Image Yes Yes YesBlock Devices Yes Yes YesFault Tolerance Yes Yes YesVM IMAGEImage Service Yes Yes YesSelf Service Yes Yes YesAmazon API Yes Yes YesOTHER FACTORSCodebase Python Java Java, CHypervisors Xen, KVM, UML, Xen, KVM, Xen, KVM, LXC, VMware VMware VMware, Citrix XenServerMaintenance High Medium High
WHICH ONE TO CHOOSE If you choose wrong but have chosen a good management and abstraction layer, you can always move your private cloud, since ‘servers are software’ and can be destroyed and re-created with the right management, automation, and orchestration. With competition comes lower overall pricing, good news indeed for enterprise private cloud shops.