the creation of private clouds with a consistent API and functionality, regard-
less of how they are deployed; its API compatibility means that applications
can be migrated without change between Eucalyptus and Amazon. Thus
Eucalyptus is architected not as a set of separately developed services, but
as an end-to-end integrated service ensemble.
• Apache CloudStack cloudstack.apache.org
is an open source so ftware
project that bridges between the customizability and site-specific deployment
characteristics of OpenStack and OpenNebula with the scale, reliability, and
API portability of Eucalyptus. It supports its own API and a lso provides
limited support for older versions of the AWS API.
•
Microsoft’s
Azure Stack
[
32
] is proprietary (i.e., non-open source) software
that can be deployed within a data center, primarily to enable hybrid cloud
operation with the Azure public cloud. It supports basic cloud functionality
using the Azure APIs and includes extensive support for hybrid operation.
• VMware Cloud Foundation
[
50
] offers a suite of proprietary virtualization
technologies from which it is possible to build a private cloud. The Cloud
Foundation product provides installation and deployment support for these
technologies.
We describe two of these private cloud software stacks here: Eucalyptus, which
has the dual merits of being particularly easy to deploy and of implementing
Amazon APIs, in chapter 12; and the more complex but also more configurable,
and perhaps for that reason more popular, OpenStack in chapter 13.
In chapter 14, we turn to the second topic of part IV, building your own software
as a service. We explain that SaaS is both a technology and a business model [
136
].
As a technology, it features a single version of software, operated by a SaaS provider,
that is consumed by many customers over the network. As a business model , it
features lightweight pay-for-use or subscription-based compensation mechanisms
that both minimize friction for consumers and enable SaaS providers to scale
delivery with usage.
Together, these two concepts have proven remarkably successful in enterprise
and consumer softwa re, allowing previously expensive capabilities to be delivered to
many more people a t dramatically lower prices. We discuss the implications of SaaS
for scientific software, review selected projects that deliver scientific software over
the network, and present some examples of where SaaS proper is being applied in
scientific settings. Space does not permit a comprehensive, step-by-step treatment
of how to build a SaaS system, but we hope that the material here will whet your
appetite for building your own software services.
260