If you're considering building a private cloud, there are five steps you should take: standardization, consolidation, virtualization, automation and orchestration. Taking such a multistage approach will greatly improve your chances of success and help you spot strengths and weaknesses in your system as you move toward your private cloud goal.
Standardization: Standardization is truly the foundation when it comes to building a private cloud, setting you up for success in each subsequent step. During the standardization phase, you'll want to decide which hardware and software components you'll use for the private cloud deployment.
Simplify your environment as much as possible--the more disparate your systems, the more complexity and cost you'll incur as you build your private cloud. This is especially true during the automation and orchestration phases, in which custom integration of many systems becomes costly and time consuming. It would be difficult to justify more than one vendor's products in your data center, for example--if you're an EMC shop or a NetApp shop, then be just that and avoid one-offs from other vendors. One way to make the justification process work is to avoid the trap of considering only the capital cost of a system--look at the total cost of ownership, including the operating costs of managing multiple systems.
A common standardization practice is to build out infrastructure in a pod design. This allows a cookie-cutter approach to scale and results in a very predictable cost model. In this approach, a pod of network, compute and storage with a specific capacity is designed or procured as such. This allows standardization not only for individual components, but also for cabling, rack layout, connectivity and more.
Consolidation: Once you know the systems you'll use to build a private cloud, it's time to consolidate. This is nothing new as the industry has been consolidating servers and storage for years. This phase is about limiting the amount of equipment that will be managed. Replace outdated low-performing equipment with systems that can scale to your needs. For example, if your design requires multiple storage protocols, look for systems that can meet your needs with a single device.
Virtualization: Whether you virtualize will depend on both your design and intended delivery model. Most models will require virtualization, but not all. For example, a pure PaaS model (not as common for private cloud) does not necessarily require server virtualization because the platform itself may handle allocation of underlying resources. Network virtualization techniques such as SDN may also be used to provide additional flexibility to network resources.
Don't ignore your standardization during this phase; you'll again want to keep TCO in mind and not be fooled by oversimplified capex arguments.
Automation: So far, you've been mostly concerned about choosing the right systems; automation is the first step in modifying your IT processes. The goal is simple: Change common repetitive manual tasks to automated ones. Automation is the key to freeing up IT staff for more important tasks, such as service deployment. The automation tool set you choose will have a lot to do with the underlying consolidation and standardization decisions made. Not all products will work, or work well, with all hardware.
This is where the benefits of standardization will really shine through. The more standardized the environment, the fewer custom integration points will be required. In some cases, standardization choices can eliminate custom integration points all together. For example standardizing on Vblock, the unified server, storage and networking system created by a joint venture of EMC, Cisco and VMware, comes with Unified Infrastructure Manager, which is already customized to automate the underlying components. Other systems based on standards like CloudStack or OpenStack will also have unified management products.
Orchestration: This is the last stage of the process, and provides the "self-service" functionality of a private cloud architecture. There are two key components you'll want from your orchestration product or suite: a service catalog and a self-service portal. The product you choose should also include trackback/chargeback functionality.
Most orchestration systems are actually a suite of software rather than single product. Many times these separate components came as a result of the vendor's acquisitions or were developed by separate internal business units, and only recently are they working together as an orchestration system. This can lead to integration pains within the orchestration software itself. Assess the integration and maturity of the software before you write your purchase order.
Hardware and software are just part of the process of building a private cloud--many would argue that they're the easy part. Using a staged approach as outlined here should help them remain that way. As you build out a plan and continue down the path, don't forget that people and process are a big part of the deployment.