What is a hybrid cloud strategy?
A hybrid cloud strategy is a plan for deploying and managing applications and services on multiple clouds – public and private. For organizations undergoing a digital transformation, a hybrid cloud strategy is essential.
The National Institutes for Standards in Technology (NIST) defines hybrid cloud infrastructure as “a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities, but are bound together by standardized or proprietary technology that enables data and application portability.” In other words, a combination of clouds on which you can run your applications and data. So a hybrid cloud strategy details the decisions you make regarding where to host it.
From there on, things can get complicated. In recent years, Kubernetes, the container orchestration system has emerged as the leading platform for cloud-native software. A successful hybrid cloud strategy must therefore be a successful Kubernetes hybrid cloud strategy – one that accounts for the complexity of managing multiple Kubernetes clusters across multiple public and private clouds, with the goal of seamless application portability.
Put GitOps at the heart of your enterprise hybrid cloud
Right now, one of the most effective ways to manage a Kubernetes hybrid cloud strategy is to adopt the GitOps model. Vendor agnostic and ratified by the Cloud Native Computing Foundation (CNCF), GitOps employs a version control system – usually Git – to manage Kubernetes infrastructure as well as application code. This means everything can be centralized and automated, eliminating much of the complexity associated with Kubernetes in hybrid and multi-cloud environments. Not only does it boost security, stability and compliance, but it enables developers to work faster. Crucially for hybrid cloud strategy, it allows operations teams to move applications between clouds more easily.
How to structure an enterprise hybrid cloud strategy
1. Start with an audit
There are numerous step-by-step models for developing a hybrid cloud strategy and many technology vendors offer their own variation. But regardless of the model you choose to work with and whatever your objectives, it makes sense to start with an audit of all the applications your organization relies on right now, taking each one in turn. So for each application, answer the following five questions:
- Do we still need this application? Can it be retired completely?
- Is there a business or technological case to leave this application as it is?
- Can this application be replaced by a commercial SaaS offering?
- Does this application require modification in order to be migrated to the cloud?
- Could we continue to deliver this application’s functionality with a different architecture entirely?
2. Develop a vision for the future
Rather than focusing on your present applications, this stage of the process concerns the objectives of your organization – even if you do not currently have the software required to achieve them. This process will therefore involve consulting your organization’s overall business strategy, not to mention a technology strategy, if it exists. Gaining input from senior management as part of this process is essential.
3. Consider your regulatory environment
Once you have a clear picture of your organization’s future requirements, the third stage is to consider the regulatory environment in which you operate, with specific regard to hosting applications in the cloud. Ultimately, this is about identifying which applications and data can be operated on public cloud infrastructure, versus those which need to be held on private (or potentially on-premise) cloud infrastructure. Your plans should be reviewed in light of regulations such as HIPAA, PCI and GDPR, as well as any regulations specific to your industry.
Common problems with hybrid cloud strategy
Common challenges encountered when developing a hybrid cloud strategy include the management of multiple cloud providers, the cost of doing so and additional issues concerning scalability.
1. Managing multiple providers
Many hybrid cloud strategies will involve more than just one public cloud provider. Often, workloads are shifted dynamically, either between public clouds and private clouds to cope with high demand, or from one public cloud to another, for example in the case of an outage. Having multiple accounts with different public cloud providers can lead to complexity and confusion, if clear policies are not established in advance. While the major public cloud platforms have made it easier to use their services in conjunction with private cloud infrastructure, managing applications across more than one public cloud platform can still be complex.
2. Keeping costs to a minimum
Public cloud providers offer numerous different charging models – and the workloads you choose to run will influence these models directly. You might pay for usage only, for example. There may or may not be licensing costs. And you may also need to pay a service fee, if you need to call on the platform owner’s expertise. These issues can make it hard to keep track of the costs you may incur with your hybrid cloud strategy – especially if you are moving workloads between different clouds frequently. Often, the true cost of running an application across both public and private infrastructure is not apparent at the outset.
3. Minimizing complexity as you scale
For many organizations, scalability is the primary driver of a hybrid cloud strategy. That usually means the ability to react to spikes in demand by bursting from a private cloud to a public cloud. But not every application can be easily ported into a public environment – especially if it currently runs behind a firewall, or if it connects to data and other applications that must remain on private infrastructure.
The varying ways in which Kubernetes is implemented by competing public clouds can also add complexity. Its basic configuration, scripts, access controls, service mesh networking and data portability can all pose serious problems for operations teams. This makes operational centralization and automation essential parts of a hybrid cloud strategy.
The top five benefits of a strong hybrid cloud strategy
One key reason why many businesses – especially digital startups – use the cloud concerns uncertainty around demand. If use of your application suddenly spikes, you need the capability to respond instantly. This is not just about missing out on new customers. If your site or app crashes, it could do irreparable damage to your brand’s reputation. The goal here is true application portability – which means operations teams can oversee the instantaneous shift of an application from one cloud to another, as required. No complex reconfiguration and no need to involve the engineering teams responsible for the application’s code.
One of the original use cases for the public cloud was back-up and disaster recovery. By duplicating some of your on-premise infrastructure, a hybrid cloud architecture can help you deliver 24/7 availability, while also reducing mean time to recovery (MTTR). With centralized, automated operations, you can ensure that wherever an application is running, it can be rolled back instantly in the case of a serious issue, with another cloud on hand to continue delivering services, if necessary.
A hybrid cloud strategy can enable you to develop and test new applications and features on private cloud infrastructure, proving their effectiveness before pushing them into the more elastic public cloud. This can make innovation faster and less expensive, delaying much of the financial outlay until your new products are generating revenue. With the right operational model, the roles and responsibilities of developers and SREs will be clearly separate, enabling the continuous delivery of new features into production, without compromising stability or security.
In shifting workloads from owned infrastructure to the public cloud, you effectively convert CAPEX to OPEX – and because you only pay for the resource you use, costs drop further during periods of low demand. There is also the opportunity to move workloads between public clouds, according to which vendor is offering the lowest prices at any given time.
Users demand responsive, low-latency applications, 24/7, wherever they are in the world. If you run everything from an on-premise or single-location datacenter, this can be difficult to maintain. By making use of public cloud platforms, you can distribute your applications globally, hosting key services and data where they are needed most.
Learning more about a hybrid cloud strategy
Managing multiple Kubernetes clusters across various cloud platforms and on-premise comes with its own challenges. This white paper explains what makes GitOps such an effective operational model.
Webinar (recorded): Hybrid and Multi-Cloud Strategies for Kubernetes with GitOps
Streamlining and automating your processes is crucial when managing clusters in hybrid and multi-cloud set-ups. In this pre-recorded webinar, Paul Curtis, Principal Solutions Architect at Weaveworks, shows you how to use Weave GitOps to this end.
Often in hybrid cloud scenarios, the most security-focused workloads are kept in the private cloud while regular business apps run on public clouds. But the complexity of Kubernetes can get in the way. Learn how GitOps can solve the problem.
In this post, we look at both the opportunities and challenges of hybrid and multi-cloud management, and suggest solutions to the most pressing issues.
The way ahead
Hybrid cloud can be complex, but the business benefits are clear. To make it work in the real world, you need an operational model that enables you to centralize and automate much of the underlying configuration and management. Kubernetes makes this possible – and GitOps makes it easily achievable.
At Weaveworks, we devised much of the GitOps architecture and the associated best practices. Our core product, Weave GitOps, is the original GitOps product, proven in commercial environments around the world. No other vendor can match the GitOps experience of our team.