Nimbus: cloud computing for science
Nimbus is a powerful toolkit focused on converting a computer cluster into an Infrastructure-as-a-Service (IaaS) cloud for scientific communities. Essentially, it allows a deployment and configuration of virtual machines (VMs) on remote resources to create an environment suitable for the users’ requirements. Being written in Python and Java, it is totally free and open-source software, released under the Apache License.
Nimbus consists of two basic products:
- Nimbus Infrastructure is an open source EC2/S3-compatible IaaS solution with features that benefit scientific community interests, like support for auto-configuring clusters, proxy credentials, batch schedulers, best-effort allocations, etc.
- Nimbus Platform is an integrated set of tools for a multi-cloud environment that automates and simplifies the work with infrastructure clouds (deployment, scaling, and management of cloud resources) for scientific users.
This toolkit is compatible with Amazon's Network Protocols via EC2 based clients, S3 REST API clients, as well as SOAP API and REST API that have been implemented in Nimbus. Also it provides support for X509 credentials, fast propagation, multiple protocols, and compartmentalized dependencies. Nimbus features flexible user, group and workspaces management, request authentication and authorization, and per-client usage tracking.
Nimbus keeps developers, providers and users satisfied
To open all power and versatility of IaaS to scientific users Nimbus project developers targeted the main three goals and their open source implementations:
- Give capabilities to providers of resources for private or community IaaS clouds development. The Nimbus Workspace Service enables lease of computational resources by deploying virtual machines on those resources. Cumulus is an open source implementation of the S3 REST API that was built for scalable quota-based storage cloud implementation and multiple storage cloud configuration.
- Give capabilities to users for IaaS clouds application. Among Nimbus scaling tools (users can automatically scale across multiple distributed providers) the Nimbus Context Broker is especially robust. It coordinates large virtual cluster launches automatically and repeatedly using a common configuration and security context across resources.
- Give capabilities to developers for extension, experimentation and customization of IaaS. For instance, the Workspace Service can support several virtualization implementations (either Xen or KVM), resource management options (including schedulers such as Portable Batch System), interfaces (including compatibility with Amazon EC2), and other options.
Different combinations of these tools assist users in rapid development of custom community-specific solutions. For example, Nimbus enables users to build multiple virtual machines and deploy them throughout the cloud, so that they will co-operate and supplement each other. User can connect a virtual machine to resources on a cloud regardless its owner/provider. Or, with the Nimbus cloud client, user can provision customized compute nodes (a workspace) and manage it using a leasing model based on the EC2 service. Such flexibility and on-demand computing power is particularly essential for specific computational jobs and data-intensive research.
Interested in Nimbus?
Nimbus is a set of robust tools providing Storage Cloud Service and Infrastructure-as-a-Service capabilities to the scientific community. It is highly configurable, including scheduling, networking leases, usage accounting, remote deployment and lifecycle management of VMs. Moreover, Nimbus allows deployment of self-configured virtual clusters via contextualization. For more information of features and functionality visit nimbusproject.org.