Monday, May 22, 2017

Red Hat on Cloud Migration and DevOps

By Bill Moran and Rich Ptak

In the recent Red Hat Stair Step to the Cloud[1] webcast, Red Hat Senior Manager, James Labocki discussed issues in Cloud migration and software development. As usual for Red Hat webcasts, he presented good information about the changes and problems (for DevOps) driving migrations, as well as describing how Red Hat can assist customers interested in migrating to a Cloud. We’ll start with James’ review of IT business performance issues including some that should concern anyone involved in IT.

What’s driving organizations to become software companies?

Today, it is a competitive necessity for enterprises to use the internet as a sales and information channel to customers. Proliferating smartphones and mobile devices make it critical for organizations to compete and service customers using internet communications and mobile apps. Software’s role and influence in business operations drives organizations to act as software companies. In turn, this raises the question of just how well are IT departments meeting the demands of various lines of business (LoBs). Are they effectively delivering the software that meets business needs?

Based on a 2012 McKinsey study[2] report, Red Hat reveals that IT is not performing well. The average IT project is both way over budget (45%) and delivered late (7%). IT fails to deliver expected value – yielding significantly (48%) less than forecast. Abandoned, uncompleted projects mean that resources poured into them are wasted. Thus, actual losses may be worse than these statistics indicate.

Separating software from non-software projects, McKinsey reveals software-based projects perform much worse on certain metrics. On average, software projects are 66% over budget and 33% are late. Even more startling, some 15%, of large IT projects (greater than $15M in the initial budget), went so far off track that they threatened the very existence of the sponsoring company.

What’s behind these challenges? How might one deal with these problems?

Before discussing Red Hat’s solutions, we want to highlight a major management problem. We recommend reading McKinsey’s[3] report for additional insight. The report’s indication is that in many companies, senior managers are neither knowledgeable about nor involved in IT related projects. Therefore, they avoid participating in project decision-making. This is very risky, especially considering the following:
  1. A percentage of IT projects will go disastrously wrong (i.e. black swans in McKinsey terminology),
  2. Aberrant projects can potentially bankrupt a company, and
  3. Chances of a disaster increase dramatically with project length.
The obvious recommendation is:
Senior management must not only be aware of but also involved in major IT projects, with a special focus on long-running projects. Regular checkpoints and on-going management attention[4] is mandatory, starting prior to launching any serious project.

This is NOT to say senior management should make technical decisions. They MUST be involved and provide oversight to avoid serious problems in the process, administration, impact assessments, tradeoffs, etc. and issues that call for overall managerial expertise. This deserves more attention and discussion that is beyond the scope of this overview.

Red Hat Cloud solutions and services

Red Hat’s overview of IT operational challenges and problem areas underscores the need for an IT project partner. They underscored that conclusion with examples of customer success stories detailing how Red Hat products and services provided substantial assistance leading to a successful Cloud migration. The webcast focused on two Red Hat Cloud solution offerings, Red Hat Cloud Infrastructure and the Red Hat Cloud Suite of component products.

An overview of the Red Hat Cloud Infrastructure includes:
Figure 1 Red Hat Cloud complete infrastructure and tools (Chart courtesy of Red Hat)
Red Hat’s Cloud infrastructure includes a complete set of tools and infrastructure to meet enterprise needs. This includes platforms for data center virtualization, private on-premise cloud, as well management of those and leading public cloud providers. This allows customers to seamlessly run applications on virtual machines across a hybrid cloud. Whether for a private cloud, public cloud or hybrid configuration, Red Hat appears to have the experience and assets needed for customer success.

The Red Hat Cloud Suite:   
Figure 2 Red Hat Stand-alone tools and solution suite (Chart courtesy of Red Hat)
The Red Hat Cloud Suite builds upon the Red Hat Cloud Infrastructure by including the OpenShift Container Platform. This allows organizations to develop, run, and manage container-based applications in a hybrid cloud. We will provide an overview of Infrastructure problems along with selected Red Hat solutions. A detailed product review exceeds the scope of this paper.

Problems with Infrastructure and cloud migration

Red Hat divides infrastructure issues into two categories; those associated with the existing in-place cloud (or physical servers), and those of a new cloud environment. For existing infrastructure, Red Hat identifies two major problems:
  1. Slow delivery of applications
  2. The sheer complexity of managing dynamic virtual machines (VMs) and systems environment.
In today’s hyper-active, highly competitive business environment, LOB management demands apps be frequently updated. New apps must be deployed into production on an ever more rapid schedule. An existing environment with a multiplicity of VMs (let alone one consisting of physical servers) becomes increasingly difficult to manage.

Red Hat Solutions

Red Hat software tools address these problems by:
  1.  Helping to speed up slow application delivery by automating the creation of environments for developers,  
  2. Reducing infrastructure complexity by adding a management platform able to optimize the environment.
When developers request a new test environment, they need it ASAP. It is untenable for IT Operations to take days to satisfy system requests. Red Hat’s catalog-based automation allows developers to select from pre-defined, pre-configured environments. This saves time, sometimes cutting system delivery times from days to minutes. Of course, other bottlenecks may exist that slow down application delivery. Red Hat has, in-hand and in development, a rich set of tools to help identify the causes and aid in resolving them.

Complexity problems with existing infrastructure can frequently be solved through appropriate management. For example, a shop can have multiple VMware VM’s on premise, along with VMs in private and/or public clouds. Red Hat’s Cloud Management Platform, CloudForms, was designed to manage the mixed environment. Now, we look at some challenges of a new cloud environment.

Cloud Environment Challenges

Red Hat identified two problems frequently facing IT departments. One, mentioned earlier, is IT unable to quickly respond to LoB requests. The cause may be in resource allocation or even just getting solutions out-the-door. IT development and operations are not agile; hampered by processes that are out-of-date or even non-existent.

Another serious problem occurs if IT must operate with infrastructure that is incapable of handling or changing in response to a changing workload. The infrastructure, processors, storage, network, etc. are unable to scale to meet demand.

Red Hat’s Solutions

Such cases call for more extensive and far-reaching change. First, we describe what Red Hat recommends, then discuss additional concerns. The recommendations for:
  1. Non-responsive, not agile apps – IT needs to modernize development processes to replace monolithic apps so that logical portions of the app can be independently updated,
  2. Infrastructure unable to adapt to changing workloads – IT needs to change from a scale-up environment to scale-out environment.
As mentioned, these require extensive changes. If the existing design mode is for monolithic applications, clearly Red Hat’s solution to #1 is worth investigating. Otherwise, we add a word of caution.

What Red Hat is recommending requires much more than installing some software. It amounts to a fundamental change in development methodology. It involves creating cross-functional teams to assure that applications turned over from development to operations will be robust enough for quick release to production. All this requires close coupling of operations (and their needs) with and across development team activities.

Red Hat does indicate their recommended change has implications that will ripple across the enterprise environment. The most obvious are budgetary and headcount impacts. There may well be resistance from existing developer (and operations) staff to such change. We are not saying Red Hat is wrong. (We think they are correct.) We are saying it is necessary to understand and evaluate the effort and cost to implement this recommendation. 

With respect to switching from a scale-up to a scale-out environment, while correct for many cases, it isn't a one-size-fits-all solution. Again, it depends on the environment. For very large systems, the cheapest, more logical solution may be to increase capacity through better load management or scheduling. In other cases, scale-up may be too expensive to undertake. We'd recommend a study to identify and evaluate alternatives. companies facing this choice should investigate carefully. 


Red Hat is a very experienced, successful open-source company. They recommend careful consideration when choosing an open-source versus proprietary solution (that may cause lock-in problems in the future). They believe most customers would prefer and benefit more from open-source solutions.

We agree with Red Hat that companies should use open-source when it meets their needs. Red Hat, correctly, points out integrating multiple open-source products can be challenging. In such cases, companies may decide to use proprietary solutions if no integrated open-source solution is available.
As decades-long promoters of open-source, we believe that it makes good sense to evaluate Red Hat and other open-source solutions before rushing to a proprietary solution.

Red Hat’s discussion of migrating to the Cloud provides a very helpful review of problems that companies may encounter. Red Hat has a fine reputation for their products. Companies will not go wrong to consider their products and solutions. We look forward to hearing more from them. In this work, our goal was to provide some background to assist companies in making their evaluations.

[4] The referenced McKinsey papers contain many other suggestions. Our recommendation is the first step to avoid the worst disasters. Organizations need to develop their ownC-suite executive best practices.