The Building Blocks of Private Cloud Architecture
Is your company exploring building a private cloud? Do you know what it takes to build a cloud infrastructure? Cloud buzz has been building for a while, and the public cloud is a well-established place where consumers and enterprises are increasingly more willing to put their mission-critical applications. After a decidedly rocky start, there has been growing interest by companies in building private clouds to complement their public cloud application portfolio.
This is not an entirely new phenomenon, but savvy companies are realizing the advantages of having both public and private cloud options for optimizing the placement of their applications in the environment that offers the best combination of value and service delivery.
The advantages are clear, but for companies contemplating building a private cloud, how to build it and what platform to choose can be confusing. Whether the ultimate choice is a proprietary VMware or Hyper-V solution or a roll your own OpenStack, the following basic principles—if applied appropriately—will help ensure a successful cloud implementation:
Abstraction—At the end of the day users do not know and do not care what systems their applications are running on. The principle of abstraction hides the underlying infrastructure from the platforms above. With that in mind, employ message buses and Representational State Transfer (REST)ful APIs for communications, so that the components are as isolated as possible from each other. This allows for transparent replacement of the elements without disrupting other parts of the system.
Horizontal scalability—This is a critical principle that is often misunderstood or overlooked. Scaling out means the cloud components across the stack are identical. For example, classical SAN storage systems are modeled after the hierarchical file system—it is called tiered storage after all. The data is located from most expensive (cache) to least expensive (tape) based on the requirements for access and retrieval speed.
Cloud storage on the other hand is modeled on a database—hence the name—object storage. The assumption is that any given object in the store has an equal chance of being accessed across the network. The advantage of horizontal scaling is that elements can easily be added and subtracted as needed without disrupting the rest of the system.
Automation—Automation has allowed public cloud providers to deliver their services as cost efficiently as possible. If a process is repeatable, it can be automated. Think about automating deployment, response to failure, and the upgrade process. Ideally, a new element should automatically populate with the appropriate software once it has been plugged in and powered up.
The public cloud vendors are using these principles to build their cloud. So why not use the wisdom they have gained from years of delivering cost-effective computing services to their customers to build a private cloud that offers a valuable, secure, and appealing alternative?