This vendor-written tech primer has been edited by Network World to eliminate product promotion, but readers should note it will likely favor the submitter’s approach.
A private cloud enables enterprises to secure and control applications and data while providing the ability for development teams to deliver business value faster and in a frictionless manner. But while building a private cloud can transform IT, it can also be an expensive science experiment without careful planning and preparation. Here are ten considerations that will help ensure success.
1. Involve the stakeholders. Private clouds are not purely an IT project. The various business units that will be the actual users should be involved in figuring out the specifications and deliverables. A cloud changes the transactional relationship between IT and business. Both sides have to be engaged in figuring out and accepting how that relationship changes with a private cloud.
2. Consider the use cases. It goes without saying that you need to carefully consider the use cases for the private cloud. If the consumers of the cloud are not ready to exploit the self-service nature and still need IT to hold their hands in the provisioning and consumption, they are not ready for it. A good pre-condition for building a private cloud is usually a project that is signed up to use it as it is being built. However, make sure the requirements are not overly specialized for a single project so it will scale to support the rest of the enterprise.
3. Metrics are key. All of the stakeholders in the cloud project should agree on measurable metrics that will define the deliverables and the success of the project. It is often difficult to quantify the benefits of agility that companies achieve. However, establishing measurable objectives in terms of productivity gains or time -- even with the lack of dollars attached to them -- is useful when evaluating a private cloud project.
4. Avoid cloning a public cloud. Teams that set out to clone a public cloud (AWS, Azure, GCE, etc.) on premises will usually not succeed. The design, architecture and the implementation of the private cloud should be driven by the needs of the business units and their applications rather than the features available in public clouds. The public cloud is designed to serve a large number of clients and provides hundreds of services that might be useless for an enterprise. The goal should be to make sure that the necessities of the target projects are satisfied.
5. Focus on agility. Think about how the cloud can give your teams agility, and maximize this benefit when designing the cloud. The transactions between IT and the business units should be simplified and empower the users of the cloud. This empowerment should have tangible benefits in terms of the speed at which business units operate their development and/or deployment of applications.
6. Think applications and not workloads. Traditional IT projects are usually based on the requirements from the final phases of resources provisioning for a given application. In a private cloud, focusing upstream when the application is being designed and architected provides the best recipe for success in building the right cloud. The application can actually be architected to be cloud native, which can significantly improve the success probability of the private cloud project.
7. Avoid round holes and square pegs. A private cloud is a very flexible resource pool. However, not every application is a good fit. Focus on evaluating the needs of the application before migrating a traditional monolithic application to the private cloud. One rule of thumb is, if the application is running on a physical machine, it probably is not ready to be migrated to the cloud. The first applications to focus on should be able to scale on demand and handle occasional failures of random infrastructure or application components.
8. Cloud portability is essential. The future of clouds is hybrid. Every team has to consider whether they want application portability between the private cloud and the public cloud and even portability across multiple public clouds. Both the design of the private cloud and the design of the application influence whether portability can be achieved. A simple rule of thumb is that, if the application is portable across multiple public clouds, there’s a high probability that it will be portable across private and public cloud.
9. Use application best practices. Development teams have to be cognizant of the best practices in developing cloud-native applications to increase the chances of success of the private cloud project. The 12-factor app guidelines are one such set of practices that help in making applications cloud-native.
10. Plan for onboarding and migration. Traditional development teams that are not used to the cloud will need assistance at various stages of development to use the private cloud. The planning and resource commitments needed for onboarding teams to the cloud should be included in the private cloud project. Migrating applications onto the private cloud is a significant effort on behalf of the development teams; it can only succeed if the development teams have factored it into their schedule.
Private cloud can be a transformative path for an enterprise. But like any transformative change, it requires significant thought, dedication and perseverance. By paying attention to the practices outlined above, enterprises can navigate the transformation to empower the business to become faster at delivering value and viewing IT as an accelerator of this transformation.
Bondalapati is responsible for driving ZeroStack’s product innovation. Kiran was a founding engineer at Bromium where he architected Bromium’s security solution based on radically new techniques with hardware virtualization. Earlier, at AMD, he developed fundamental underpinnings for virtualization and power management impacting a wide spectrum of computing, from data centers to laptops.
This story, "10 key considerations when building a private cloud" was originally published by Network World.