This is the first in a series of posts that delves deeper into the questions that IDC’s Mary Johnston Turner and Gary Chen considered in a recent IDC Analyst Connection. The first question asked:
Cloud-native application architectures promise improved business agility and the ability to innovate more rapidly than ever before. However, many existing conventional applications will provide important business value for many years. Does an organization have to commit 100% to one architecture versus another to realize true business benefits?
As Mary and Gary write, there are indeed “cost and performance benefits of greenfield, extreme scale cloud-native applications running on highly standardized, automated infrastructure.” However, as they also note, bringing in the bulldozers to replace all existing infrastructure and applications isn’t an option for very many businesses. There’s too much investment and, even if it were an option financially, the disruption involved in wholesale replacement would likely offset any efficiency gains.
It’s also worth observing that the goals and relevant metrics for traditional IT systems, especially in regulated industries that deal with highly-sensitive data, are typically also different from cloud-native “systems of engagement.” Traditional systems prioritize characteristics like reliability and stability over the rapid introduction of new capabilities and features. To be clear, cloud-native architectures can and are being designed and implemented to reliably perform traditional “systems of record” functions. But it’s more typically the benefits that cloud-native can bring to the development of new applications and types of applications (such as mobile) that’s driving the interest in most enterprises. (And we see this dynamic reflected, for example, in OpenStack’s initial focus on cloud-native workloads rather than replicating all the features of enterprise virtualization.)
So what should enterprises do given that “many if not most of their core mission-critical applications are supported by conventional architectures” according to Mary and Gary?
It comes down to three things from my perspective.
The first is modernization. Just because a traditional IT infrastructure and application portfolio isn’t being radically reinvented using OpenStack, containers, and microservices design principles, doesn’t mean that it should be encased in amber and ignored. There are many incremental paths to improve efficiency and agility of existing environments.
One is continuing to move from old proprietary environments to modern open source ones like Linux. This is a well-mapped migration path with full support for every step of the transition. It lets you enhance IT performance, and increase flexibility—all at a reduced cost.
Applying agile application development and deployment practices, DevOps, is also important. Open source plays a key role in DevOps both as a source of innovative tooling and as a model for the iterative development, open collaboration, and transparent communities forming the culture that DevOps requires to succeed. DevOps is probably more associated with cloud-native application development but it can also benefit existing IT even though the tools and the pace of pushing code deployments will likely differ between the two environments.
Ansible, recently acquired by Red Hat, is an example of a DevOps tool being used by organizations even in their more traditional environments. Ansible provides a simple automation language for application infrastructure automation from servers to virtualized cloud infrastructures to containers. Ansible provides a path to DevOps for a broad class of enterprise users including both DevOps teams demanding agile practices and fast provisioning as well as business units which require simplicity above all else.
Finally, even while recognizing the differences between traditional and cloud-native environments, it’s necessary to build a bridge between the two. Red Hat provides a variety of tools to do so. Red Hat CloudForms automates and unifies infrastructure management, service brokering, and monitoring across a hybrid environment with policy-based controls. Red Hat also offers software-defined storage that can span multiple environments so that a consistent view of data can be provided to any application requiring it. JBoss middleware has messaging and business rules management to integrate new applications with existing data sources and business workflows.
Certainly, there are an incredible number of exciting new technologies and approaches that apply primarily to cloud-native infrastructures and application development. And forward-looking enterprises should be experimenting with them--at a minimum--as part of transforming themselves into digital businesses. But this transformation must also consider the world as it is and the huge investments that they’ve already made in IT. And shepherd that investment into the future wisely.
Read the rest of the series:
Part 2: Evolving IT architectures: It can be hard
Part 3: How cloud-native needs cultural change