When it comes to multi-cloud, consistency (or lack thereof) is a common cause for concern. Lori MacVittie, principal technical evangelist at F5 Networks breaks down what it actually means to be “consistent” without compromise.
Consistency. In the world of technology, we use this term to describe the characteristic of equivalency. Something is consistent if it behaves the same way over time or in varying conditions. Consistency continues to be problematic for enterprises operating in a multi-cloud world. According to our 2019 State of Application Services report, that's most (87%) of you.
Certainly, the variation in deployment rates across data centre and cloud for application services points to a simple cause: not deploying application services consistently.
But that's not the only cause of inconsistency. Plenty of folks according to the same survey are deploying application services on-premises and in the public cloud, but still struggle with consistency – particularly that of security.
This demands a deeper dive into what "consistency" means, because I suspect that part of the problem lies in failure to recognise that there are two different layers of consistency and both matter.
Systems vs. service
At the heart of this discussion on consistency is the difference between an application delivery controller (ADC) and an application service.
The ADC is a platform that delivers application services. That ADC is a system unto itself, much in the same way that Kubernetes is a system unto itself. Kubernetes is a platform for deploying and operating containers. An ADC is a platform for deploying and operating application services.
That's important, because platforms (or systems, if you prefer) carry with them a separate notion of consistency than the "things" they deploy and operate. Consistency is at the operational layer; that is, the management and operation of the platform and the application services it delivers.
Functional consistency without compromising app quality
This is distinctly different from functional consistency, which is offered by each application service. Functional consistency comprises the capabilities of the application service. This is usually what folks are referring to when they indicate a challenge with multi-cloud consistency, because it's the most visible.
Functional consistency is particularly difficult to achieve when deploying application services from different providers. A WAF or anti-bot service from one vendor is not necessarily functionally equivalent to a WAF or anti-bot service from another vendor.
One of the reasons organisations struggle with multi-cloud consistency is not because they don't deploy application services in the cloud, but rather they deploy different application services with inconsistent functional capabilities. Standardising based on functional equivalency will help organisations achieve the consistency they struggle to realise.
Inconsistency at the platform layer
The second, and less often mentioned, source of inconsistency is at the platform layer. That's the ADC for a significant number of enterprise organisations. When moving to the public cloud, many organisations opt (intentionally or accidentally) to employ cloud-native options for application services.
That immediately introduces operational inconsistency at the platform layer. The way that you provision, onboard, and operate those application services is operational, and introduces operational debt the moment you hook into the first API.
You're probably not using cloud-native application services on-premises. Which means you now have two different application services platforms to deal with. They have different methods of management, analytics, monitoring, everything.
It's like using two different ADCs on-premises. While some very large organisations make that work; over the years we've noticed that most organisations standardise on a single ADC platform. Operational consistency and the ability to replicate application service policies across all applications has been a driving factor for that decision.
But when moving to cloud, some have forgotten why they standardised on an ADC platform in the first place: operational consistency and support. Introducing additional platforms necessarily increases the burden on operations and impairs the quest for consistency.
Standardisation is vital for consistency
Standardisation can be a scary term for some folks who believe it stifles innovation. But scarier is a free-for-all that might encourage innovation, but in the long term is unsustainable and creates a chaotic operational environment.
With IT under pressure to deliver value to the business, increasing operational staff in order to maintain multiple platforms and menagerie of application services seems orthogonal to the goal of achieving multi-cloud consistency.
Standardisation – especially at the operational layer – is a key component to innovation because it alleviates the burden on staff to focus on operating platforms, and encourages collaboration on policy and architecture instead.
By ensuring both operational and functional consistency across properties, organisations can achieve the consistency of policy they desire without breaking their budgets.