The purpose of this document is to provide a reference architecture which describes the physical resource (server, network, storage), Eucalyptus software topology and configuration, and data center management facility requirements for constructing and maintaining a production private cloud deployment.
This reference architecture is specifically for users who require a production private cloud environment composed of a relatively small set of commodity hardware components, and for which the ultimate size of the deployment is limited to the capacity described later in the document. If the target deployment is one that will need to scale to accommodate more capacity in the future, the Dev/Test (Large) reference architecture should be used, instead. 这个参考架构的优点在于:
This document is intended for readers who have familiarized themselves with AWS terminology, the Eucalyptus Installation/Admin/User guides, and have experience implementing production data center solutions based upon Linux environments.
如下两个图例显示了本参考架构中服务器、网络、Eucalyptus各个组件之间的逻辑关系和物理关系。
This particular reference architecture is intended to implement a private cloud for a dev/test use case. For dev/test, there are a variety of virtual machines used as development environments (dev) as well as virtual machines that are instantiated in order to perform efficient testing from a known environment (test).
For the dev/test use case, so called ‘dev’ virtual machine servers (instances) are expected to have short to medium lifetimes, while ‘test’ instances are expected to have relatively short lifetimes. Generally, this architecture is intended to provide fast self-service instantiation of development environments, followed by instatiation of test environments against newly developed software that was produced as a result of development work. Under this type of general workflow, static data (data that needs to persist beyond the lifetimes of instantiated virtual machines) should be identified and de-coupled from the instances themselves as much as possible, resulting in low to medium usage of the static data storage facilities of Eucalyptus. Boot from EBS (bfEBS) instances are expected to be rarely utilized in deployments based on this architecture. However, the deployment does support limited use of bfEBS. If, for example, certain necessary servers that rely on static data are required to be available to service the needs of the other more transient dev/test environments, these would be candidates for use as bfEBS instances.
The following list describes the workload capacity that deployments based upon this reference architecture can support. It should be noted that some of these capacity boundries can be exceeded by deviating from the architecture, with readers being encouraged to Contact Eucalyptus for information on designing production Eucalyptus deployments.
Following is the minimum resource requirements for the physical servers, networks, and storage that are needed to support the architecture. For each category of physical resource, more resource than the minimum will not have a negative impact on the deployment (more cores, more RAM, more local disks, faster interfaces, higher bandwidth networking, more disk capacity, etc.).
Following is a description of the Eucalyptus platform topology atop physical resources. For this use case, the topology is designed to allow for a minimum of servers used for the Eucalyptus platform, while providing enough capacity to give acceptable performance up to the specified maximums defined at the beginning of this document.
Each server in the above physical model diagram will be running one or more Eucalyptus software components which together form the Eucalyptus platform. Listed here are the mappings of physical server to Eucalyptus component, where each server is configured to conform to at least the minimum requirements for servers defined previously.
The Eucalyptus platform is highly configurable, covering a wide variety of data center topologies, devices, software management systems and network/security policies. For this reference architecture, we list here certain fundamental configuration options which will provide the necessary service of the reference architecture balanced against minimal performance and management overhead. Please refer to the Eucalyptus Installation and Admin Guides for information on how to implement these configurations.
Eucalyptus includes a number of features that are in place to support specific aspects of production deployments that may or may not be required based on the user’s preferences and constraints. Listed here are descriptions of some of these features as they apply to this particular reference architecture. Please refer to the Eucalyptus Installation and Admin Guides for information on how to implement these features, if required.
The sections that have been covered up to this point in this reference architecture have been outlining the design of a Eucalyptus software deployment along with a definition of minimum physical resource capacity and configurations. Next, we address additional technologies and techniques that surround the Eucalyptus software/hardware itself which are required to run a complete Eucalyptus private cloud in production.
The Eucalyptus cloud platform software that provides AWS compatible infrastructure as a service must be integrated with standard data center configuration, management, and monitoring software for production use. Each Eucalyptus component runs as a Linux process that must be configured through both configuration files and run-time configuration parameters, and must additionally be monitored along with physical resource health and status characteristics. There are a variety of User Interfaces that are available for use with your Eucalyptus deployment, including those that are included as part of the Eucalyptus platform as well as third party API, command-line and graphical interface software that is AWS compatible.
While the Eucalyptus software does not currently include the deployment of configuration management or system health/status monitoring solutions itself, there are several third party solutions that existing production deployments rely upon to perform these functions.
Production deployments based on this reference architecture should include the use of a third-party configuration management system in order to ensure that Eucalyptus configuration is correct both for initial deployment as well as under cases where a particular Eucalyptus server and software must be re-deployed. Several options exist, and here we recommend those which are produced by organizations who have partnered with Eucalyptus to provide high quality integrations.
For an example of how to integrate Eucalyptus into your puppet environment, please refer to the following resources:
In addition to automated/controlled configuration management, a production Eucalyptus deployment based on this reference architecture should also be monitored via a third party solution to watch the health and status of the deployment, as well as to notify the cloud administrator when unexpected conditions are occurring. Basic monitoring includes but is not limited to:
There are several solutions for monitoring physical and software components of a data center, and here we recommend those which are developed by Eucalyptus partners:
For an example on how to integrate Eucalyptus into your Nagios environment, please refer to the following resources:
As an AWS compatible platform, Eucalyptus offers both a variety of user interface tools as well as the option to use third party AWS compatible interfaces that interoperate with AWS and Eucalyptus. For information on installing and using the interfaces that are installed by default with Eucalyptus, please refer to the Eucalyptus Install, Admin and User Guides.
In addition to monitoring and managing the deployment’s physical resources, application workload images and workflows must also be managed and configured. The Eucalyptus platform offers AWS compatible APIs and services which allow external workload management systems to interoperate with AWS and Eucalyptus, and works to ensure that VM image environments between AWS and Eucalyptus are interoperable.
The reference architecture presented here is meant to encapsulate a bounded production Eucalyptus system. As with all use cases, there are variations that cannot reasonable be generalized, but we add here some comments and observations that will help to tune the individual use case variations to achieve efficient, stable performance within Eucalyptus.