Delivering on a multi-cloud strategy is as difficult as deciding whether to have a multi-cloud strategy at all
Careful thought must be made for a multi-cloud decision, and then careful planning and flawless execution are required to achieve your goals.
Let’s not confuse a multi-cloud strategy with the usage of multiple clouds. In the former, the intention is to have applications and services deployed at multiple clouds. Common to a multi-cloud strategy is the requirement that a network exists to route between the two locations.
On the other hand, for the use of multiple clouds, there are still prudent decisions to make, but they have less to do with deploying to two environments as much as they are about Cloud Service Provider (CSP) selection. Using multiple clouds has significant differences in how foundational components are laid out.
Let’s look at why an organization would choose a multi-cloud strategy at all.
Leverage CSP Features
Each CSP excels in one way or another. AWS excels at IaaS, Google Cloud excels at data handling and processing, and Azure excels at delivering enterprise applications and services. Careful comparison between CSPs can lead to a matrix that drives selection based upon application needs.
Cost
Cost is not the most common reason to choose a multi-cloud strategy as savings typically come into play at extremely high volumes. If cost is your largest driver for selecting a multi-cloud strategy, consider managing your vendor through a solid and open relationship. Price wars continue as each CSP lowers its prices to attract the most cost-conscious cloud consumers.
Business Continuity
Some applications and services are so critical that the design includes distributing functionality across two separate cloud providers to stem off any regional issues one provider may face. In these cases, there are significant application and service design considerations that must be addressed prior to committing to a multi-cloud strategy.
Outages
While very rare, CSP outages have happened before and will happen again. Protecting yourself from these outages may be a requirement for the most mission-critical applications.
Considerations
Once you’ve decided to embark on a multi-cloud approach, here are some considerations to help you work around the potential pitfalls of such an undertaking.
Network Connectivity
When using multiple clouds for application and service distribution, regardless of the intention behind using multiple clouds, connectivity between the clouds is traditionally a must. Some services and data stores may be securely accessed across the internet while many internal applications and services require routable connectivity between components and between CSPs.
When designing for multi-cloud network connectivity, consider what applications and services will require a routable connection between components. The introduction of an IPAM solution is likely needed due to the complexity of a global network design.
Security Integration
Integration with enterprise security systems and policies is never a simple consideration. Security integration comes in two forms: authorization for cloud access and securing the environments where applications and services are deployed. IAM integration through an SSO solution such as Okta is a common design pattern for solving cloud consumer access. In addition, securing the CSP environment includes scanning tools, log aggregation, and threat protection agents. These considerations must be addressed early in the design process.
Application Spanning
Driven by a business requirement and technical design, identify the applications and services which must be deployed across multiple clouds and work to automate provisioning and management through scripts and templates (e.g. Terraform, configuration management, etc.)
Skillsets
While not something everyone wants to talk about, skillsets must be addressed to ensure the cloud consumers can operate successfully within all CSPs that make up the multi-cloud strategy. Formal training online or onsite is available from nearly all CSPs and may be leveraged to expedite skilling up employees and staff.
What’s Next?
Every large task must start somewhere, and that “somewhere” is What’s Next! We have found that when using the following starting points (in no particular order), our clients can achieve a solid strategy to execute.
Identify Requirements
Make sure you know exactly what you need from each CSP. Document the technical as well as the business requirements and score them for each CSP. Keep in mind the raw score is less important than identifying which CSPs you will leverage and for what purposes. The design for the eventual multi-cloud solution must take into account the business needs so that utilization patterns can be derived. Develop a decision tree for making CSP selection easier in the future. Identify which CSP can solve for which requirements.
Cloud Expense Management
Investing in visibility into cloud spend is one of the most critical components to ensuring efficient use of cloud infrastructure and services. Invest in a Cloud Service Expense Management (CSEM) solution so that cloud spend can be collected for real-time and historical purposes.
Design the Foundation
Develop a global network strategy. If your environment is 100% cloud-based, simple connectivity between clouds using a VPN solution may suffice. More complicated solutions may drive the need for a dedicated connection between a corporate data center and each cloud provider.
Develop a monitoring and log aggregation strategy. Given one of the highest priorities of large consumer & business application and service providers, monitoring is the eyes and ears of the entire environment and must have a broad reach into each CSP as well as each application or service deployed through the environment.
Governance
As unsexy as it is, governance enables consistency and order into an otherwise disorganized environment. Without imposing an onerous process, a review board brings together the largest stakeholders for a combined review of each application and service design assumptions and considerations. This review board must be made of representatives from each domain of expertise (e.g. engineering, manufacturing, security, operations, etc.)
Training
Not every administrator will know every cloud. Traditionally operators and administrators focus on a single cloud. Be prepared to offer training and education so that a cloud administrator can grow their skillset and manage the entire multi-cloud environment.
Automate, Automate, Automate
This can’t be stressed enough with any cloud deployment: automate everything you can. With the infrastructure as code (IAC) movement in full swing, a growing set of tools are available to automate every deployment. Scripting the missing components is a good way to round out the automation.
Plan
Every good implementation has a good plan. Rushing out to implement a multi-cloud strategy will result in inefficiencies, rework, and in some cases a full replacement of the work performed. Set realistic goals and timelines, publishing your progress for coordination between colleagues and projects.
Conclusion
As you can see, undertaking a multi-cloud strategy is no simple task. This includes from the decision to pursue a multi-cloud journey, to defining the requirements, to laying the foundation, to identifying and deploying applications and services to the multi-cloud environment.
Remember that detailed requirements gathering will guide your multi-cloud journey. No longer will you say, “to the cloud,” but rather you will say, “to the CLOUDS!”
About the Author
Brandon Knitter is Principal Architect at Taos, an IBM Company. Taos, an IBM Company, empowers enterprises to operate efficiently, rapidly innovate, and scale their business. As a comprehensive Technology Solutions Partner, Taos simplifies today’s complex digital landscape by providing both strategic and technical guidance while implementing transformative solutions. The company specializes in cloud strategic consulting, migration, and 24x7x365 operations and managed services powered by its DevOps practice.
Featured image: ©Mreco