The allure of public cloud adoption is based on many powerful benefits – increased agility, access to global infrastructure, consumption-based pricing, elasticity, and reduced operating cost.
However, adoption of public cloud comes with an unexpected consequence: a growing complexity that organizations must confront in order to prevent cost overruns, manage compliance, maintain agility, and prevent failure of their cloud strategy.
In Part 1 of this article, we discussed the seven drivers behind the increasing complexity of managing applications and infrastructure in the public cloud. In this article, we will focus on eight best practices you can apply to help ensure your public cloud investment is a success.
Develop a Strategy
Whether your company is already leveraging the public cloud or just beginning to adopt, successful cloud journeys start with a clear strategy. The strategy should include the benefits an organization wants to achieve with its adoption and how it will balance these benefits against internal and external company requirements (e.g., internal controls, external compliance). A successful strategy will have clear short, medium, and long-term goals and buy-in from all key stakeholders (e.g., IT, finance, lines of business), and will be updated regularly based on changing business needs and market conditions.
Build a Core Team
Technology success is all about the people. It’s essential to acquire, train, motivate, and retain the best possible cloud talent for your business. Start by building a core team with the right cloud experience and skills to drive your strategy. With top cloud talent in high demand, building this initial team can be challenging. But trying to manage cloud complexity without a talented core team of professionals is a recipe for failure. Some of this talent may already exist in your organization, but others you will need to recruit externally. Having a clear strategy and a compelling value proposition will help substantially to attract talent to your initiative.
Start Small and Iterate
Most of the best public cloud success stories come from organizations that started with a small project and iterated their way into large-scale usage. Jumping into a high-risk initial project is rarely successful, as cloud complexities often present themselves in a non-linear step function that requires time and resources to manage. Starting small allows you and your team to develop real-world experiences, gain initial wins, and contain the business impact of your failures – and there will be failures.
The most successful users of the public cloud choose to deliver a series of lower-risk projects (“small bets”) that yield critical understanding, minimize risk, and drive learning. I recommend driving an iterative process similar to what is referred to in Lean Startup as a Build-Measure-Learn feedback loop. This Lean method is designed to optimize a product-development process for speed as a means of mitigating business risk. The idea is to build a subset of a product or feature, deliver it, measure its success, and use the validated learning acquired from its delivery to repeat the loop again. This concept can be adopted easily to the public cloud as a means of mitigating risk.
Bet on a Few Vendors
Regardless of your cloud strategy, you will need a community. This includes a combination of cloud vendors, service providers, and product/service vendors to support managing all aspects of your public cloud and hybrid environments. It’s not uncommon for an organization to assemble a “virtual suite” of eight to 10 different point products to support its applications and infrastructure in the cloud (Figure 1).
Some of the most common categories for vendor selection include the following:
- Cloud Providers. One or more public cloud providers you will depend on for IaaS and PaaS services.
- Configuration Management. Applying “infrastructure as code” in the cloud will require the adoption of a configuration management framework.
- Fault Management. Just like your data center, you will need real-time monitoring for failures and potential failures.
- Performance Management. At least a subset of your applications and workloads will require detailed application-performance management.
- Security Management. Most customers adopt a collection of security-management products, from proactive monitoring to managed security services.
- Incident Management. Driving change in the cloud requires the use of incident-management solutions to manage issues and changes.
- Cloud Service Management. You will need a solution to tie all of the above together into a cohesive and integrated solution, combining cost, usage, performance, security, and availability management into a single console that drives your cloud.
Because the cloud is still a relatively immature market, it’s common to find gaps or deficiencies in vendors within any category. Therefore, it’s important to ensure your current and future needs are aligned with your selected vendors and their roadmaps. The shared goals you define with the community you assemble help ensure your success. The key drivers in the decision-making process are to look for vendors that have a big vision, strong customer traction, and a proven track record in agile delivery. You also may want to consider making a few strategic bets within your vendor community in areas critical to your business. These will be the areas in which you dedicate more time and resources toward ensuring they deliver for your future needs.
The concept of real-time optimization is a startling reality when organizations move to the cloud. In traditional data center environments, an organization may manage optimizations for cost on a quarterly basis, security on a weekly basis, and performance monthly. However the pace of change in cloud environments requires constant optimization. It’s critical to realize that managing all aspects of infrastructure – cost, availability, performance, security, and usage – is a continuous process that mirrors the Build-Measure-Learn process of Lean. Start by identifying clear owners for the optimization and agree upon key metrics that will be tracked to monitor the “health” of each aspect of infrastructure. Make the data visible to key stakeholders and proactively drive changes as required.
A standard way to deploy infrastructure is often referred to as a reference architecture and represents a blueprint that drives the provisioning and operations of your infrastructure. Achieving standardization requires collecting and analyzing data from your chosen clouds and supporting systems. Your goal should be to have consistency across the infrastructure you provision, its configuration, and its management. New workloads deployed to the public cloud often have variability as you experiment to identify how best to deploy and optimize. But, over time, you should seek to drive consistency. A successful reference architecture should take into account all the lifecycle phases of managing applications and workloads, and should include guidelines around the management of cost, availability, performance, security, and usage of infrastructure. It should be a living document, ideally codified but able to be changed rapidly based on the needs of your organization.
Adopt a Governance Strategy
In a pre-cloud world, it was common for organizations to gather key stakeholders (e.g., lines of business, IT, finance) a few times a year to discuss capital expenditures and then drive the agreed-upon changes over weeks or months. However, the on-demand infrastructure of the public cloud has fundamentally disrupted this model, shifting most organizations from shared ownership to one in which the consumer (e.g., a tech ops engineer in a line of business) has the ability to make organization-wide decisions and execute them in seconds. In effect, we have dialed the volume knob all the way for agility at the expense of good governance. A successful cloud strategy will understand the impact of “dialing for agility” and adopt a governance strategy that balances the need for agility with the proper governance required to support your business. Once you decide on how to balance agility with risk management, there are a variety of products, tools, technologies, and processes that can put you in the driver’s seat.
The number-one reason organizations become “cloud dropouts” is their inability to accurately and efficiently manage costs. Good cost management starts with clear goals for how you will measure your success. Most organizations are in the cloud for more than just saving money (e.g., the agility it provides, the flexibility it delivers, access to global infrastructure). You need to develop alignment with the key stakeholders across the organization to ensure that they understand the goal and share common objectives in how they assess total cost of ownership (TCO) of your public cloud usage. Once this is understood, it comes down to driving the ongoing optimization process that ensures you are watching for efficiencies that drive smart growth of your applications and infrastructure.
Companies are relying on the cloud to innovate in ways never before thought possible. However, the unforeseen side effect has been unprecedented levels of complexity that continue to grow as public cloud becomes mainstream across enterprise organizations. Failure to define an appropriate cloud-management strategy can result in cost overruns, inefficient resource utilization, lack of compliance to business policies, and a host of other issues that can lead to a failed cloud strategy.
But the future doesn’t have to be bleak. By taking a thoughtful approach to your cloud strategy, you can more easily overcome complexity issues and take advantage of all the benefits that cloud has to offer. The success of your cloud strategy will directly impact your ability to address challenges that come with having a dynamic cloud infrastructure. These best practices are designed to get you well on your way to achieving success – while actually enjoying your organization’s cloud journey.
Joe Kinsella is founder and CTO of CloudHealth Technologies, one of the fastest growing companies in the emerging Cloud Service Management field. Joe is focused on helping organizations realize the full potential of the cloud, without having to sacrifice cost, performance, availability, or service level. With 20+ years of experience delivering software for companies of all sizes, Joe sees CloudHealth bringing the cloud to the enterprise by enabling the next generation of IT service management for the cloud.
Subscribe to Data Informed for the latest information and news on big data and analytics for the enterprise, plus get instant access to more than 20 eBooks.