top of page

OSS Technologies in Cloud Computing

1. OpenStack
 

Of all the IaaS offerings, OpenStack is one of only a couple that appear in multiple product areas of cloud computing architecture. A global project, OpenStack was founded by Rackspace and NASA, who produced a massively scalable cloud operating system, freely available under the Apache 2.0 license. OpenStack has no proprietary hardware or software requirements, and is designed to operate within both fully virtual and bare metal systems. Multiple hypervisors are supported, including KVM and XenServer, as well as container technology, including LXC. OpenStack is used anywhere from service providers deploying IaaS to its customers, to enterprise IT departments providing private cloud services to project teams and departments. OpenStack works with Hadoop for big data needs, scales vertically and horizontally to meet diverse computing needs, and offers high-performance computing (HPC) for intensive workloads. Key features include VM image caching, role based access control, VM image management, LAN management, VNC proxy via web browser, floating IP addresses, and much more. Among the many architectural features of OpenStack, storage is one of the foundational cloud architecture necessities. Providing scalable, redundant object storage, OpenStack uses clusters of servers and can store petabytes of data. Through this distributed storage system, OpenStack adds to its feature list another area of scalability, redundancy and durability. Written to multiple disks across the data center, data replication is managed and replication ensured. For those that are mindful of budgets, the OpenStakc storage solution can write across older, smaller drives as well as newer, faster ones.

2. Apache CloudStack


Despite rumors to the contrary, Java continues to prove central to many major cloud applications. At the heart of Apache CloudStack is a host of functions written in Java including user management, multi-tenancy and account separation, network, compute and storage resource accounting, web-based management console, native API and Amazon S3/EC2 compatible API, and primary/secondary storage support. Apache CloudStack works with hosts on XenServer/XCP, KVM, Hyper-V and VMware. Used to deploy and manage large networks of virtual systems, Apache CloudStack has been chosen by many providers deploying private, public, and hybrid cloud solutions to customers. Additional features include high availability, a scalable infrastructure as a service cloud computing platform, and a significant community of users and developers who keep the technology and feature improvements moving forward.

3. Eucalyptus
 

Though currently only available on CentOS and Red Hat Enterprise Linux, Eucalyptus is already getting notice as a complete IaaS solution. Comprised of a Cloud Controller (CLC), Walrus (persistent data storage), Cluster Controller (CC), Storage Controller (SC), Node Controller (NC), and an optional VMware Broker (VB), Eucalyptus is a full-featured product. Each component is a stand-alone web service (excluding VB), with the aim of allowing Eucalyptus to provide an API for each service (language-agnostic). This Linux-based system allows users to implement private and hybrid clouds within existing infrastructure with an industry-standard, modular framework. In particular, Eucalyptus provides a virtual network overlay isolating various traffic, allowing multiple clusters to be transparent on the same Local Area Network (LAN) while maintaining data integrity. Additionally, Eucalyptus is API compatable with Amazon‘s EC2, S3, IAM, ELB, Auto Scaling, and CloudWatch services, ideal for hybrid cloud implementation options.

4. OpenNebula


A combination of functional project and research, OpenNebula purports to be the next step in the evolution of data center virtualization. From a research perspective, the project seeks to develop advanced and adaptable virtualization data centers and enterprise clouds. Through collaboration with other open source projects and researchers in cloud computing, OpenNebula hopes to achieve stability and quality of cloud computing software, as well. The project's core values include process and technology openness, excellence across all project lifecycles, and innovation in cloud development. Regarding their actual functional product, key features of this are currently reported to be an intuitive self-service portal, automated service management catalog, administration and super user interfaces, appliance marketplace, performance and capacity management, high availability, business continuity, virtual infrastructure management, enterprise-level security, third-party tool integration and excellent product support and SLA-based commercial support directly from the developers.

5. GlusterFS


Using FUSE (Filesystem in Userspace) to hook itself with the VFS (Virtual File System), GlusterFS creates a clutered network filesystem written in userspace, or, outside the kernel and its privileged extensions. GlusterFS uses existing filesystems like ext3, ext4, xfs, etc. to store data. The popularity of GlusterFS comes from the accessibility of a framework that can scale, providing petabytes of data under a single mount point. GlusterFS distributes files across a collection of subvolumes and makes one large storage unit from a host of smaller ones. This can be done across volumes on a single (or several) server. Volume can be increased by adding new servers, essentially on the fly. With replicate functionality, GlusterFS provides redundancy of storage and availability.

6. Ceph


Ceph's technical foundation is the Reliable Autonomic Distributed Object Store (RADOS), which provides applications with object, block, and file system storage in a single unified storage cluster. With libraries giving client applications direct access to the RADOS object-based storage system, users can leverage RADOS Block Device (RBD), RADOS Gateway, as well as the Ceph filesystem. The RADOS Gateway provides Amazon S3 and OpenStack compatible interfaces to the RADOS object store. Additionally, POSIX is a key feature in Ceph. POSIX semantics drive the interface with Ceph's traditional filesystem, so applications that use POSIX-compliant filesystems can easily use Ceph's object storage system. Additional libraries allow apps written in C, C++, Java, Python and PHP to also access the Ceph object storage FS. Advanced features include partial or complete read/writes, snapshots, object level key-value mappings, and atomic transactions with features like append, truncate and clone range. Ceph is also compatible with several VM clients.

7. Sheepdog


Another distributed object storage solution, Sheepdog stands by its small codebase, simplicity and ease of use. Primarily for volume and container services, Sheepdog intelligently manages disks and nodes to which it can scale out to by the thousands. Sheepdog can attach to QEMU VMs and Linux SCSI targets, also supporting snapshot, cloning and thin provisioning. It can also attach to other VMs and OS that run on baremetal hardware (iSCSI must be supported, however). Sheepdog has support for libvirt and OpenStack, can interface with HTTP Simple Storage, and has backend storage features like discard support, journaling, multi-disk on single node support, and erasure code support. With OpenStack Swift and Amazon S3 compatibility via web interface, Sheepdog can store and retrieve vast amounts of data

bottom of page