Containers enable portability across cloud environments, but cloud predictability remains a challenge.
Since the cloud rose to dominate the trends that IT and business leaders consider as having strategic impact on their organizations, portability has been a common theme. Being able to seamlessly move applications from one provider to the next, from the data center to the cloud and back, has been something of a utopian ideal for cloud proponents.
Yet this cloud portability has yet to truly materialize. Differences in management methods and APIs along with incompatibility between the formats upon which cloud providers standardized to virtualize network, compute, and storage resources have continued to frustrate those who see portability as a requirement. Driven by the desire to avoid being locked in to any solution, portability remains a considerable factor in an organization’s adoption of public cloud services.
Enter containers. While this old technology - polished to a high-tech sheen by management and orchestration systems – is not primarily geared for portability, it turns out to be a side-effect of adoption. Containerization's abstraction from the operating system and subsequent forced compatibility with shared system elements provides the perfect recipe for portability across public, private, and data center environments.
With portability in our collective cloud sights, one thing remains a challenge: predictability.
Predictability is an essential component of IT business operations. Six Sigma, which many might associate with lean project managers who spent their days toying with arcane formulas in Excel spreadsheets, has at ts core the notion of “reducing variability” in processes and execution. It aims not for perfection, but for predictability. The lower the variances, the more consistent the outcome. Whether that’s a pair of jeans, a tasty Peep, or a digital response to a mobile app request is largely irrelevant. Tolerable deviation from a desired outcome -- predictability -- is the goal.
Without predictability, costs become impossible to forecast, and subsequently, profits and long-term operating expenses difficult to calculate. The impact of moving applications from one environment to another has other, perhaps unintended consequences that can impact performance. That, in turn, makes it difficult to establish “normal operating parameters” that have a direct effect on the application experience.
Predictability – whether of performance or capacity – is a by-product of many factors, including the application architecture, the network architecture, the location and type of device from which a user accesses that application. Apps combine to impact capacity and performance, both of which can incur negative results when deviating from a known, expected standard. Even the simplest change in the delivery path of an application can have an impact on performance and capacity.
For example, change the load balancing algorithm from round robin to least connections, and you’ll see very different results in both. Moving from a TCP stack optimized to deliver mobile applications to a generic stack and you’ll see deviations in performance that will almost certainly drive away consumers.
Yet these seemingly minute changes are common when we strive for portability and forget predictability. When we lift an application and shift it to a public cloud without considering its supporting infrastructure and policies, we inadvertently introduce variability that leads to unpredictability. When we discount the impact of network and app services on the performance and capacity of applications, we run the risk of setting off fire drills when costs skyrocket thanks to poor capacity management, or customers desert us due to suddenly poorly performing apps.
Portability is in our sights, and certainly business and IT will be well-served by the ability to take advantage of new environments and opportunities presented by public cloud. But while we’re reaching for those opportunities, we can’t ignore the fact that business and users expect -- and often demand -- a certain level of predictability in both performance and capacity-induced costs. Carefully consider architectures and not just applications as we begin shipping containers off to the public cloud.
Hear more from Lori MacVittie live and in person at her session "Operationalizing IT With Automation and APIs" at Interop ITX, May 15-19 in Las Vegas. She also will be on a panel of experts at the Open Source IT Summit. Register today!