After the initial POCs and pilot projects, many enterprises face the challenge of choosing which applications to migrate to Cloud Foundry. How can you avoid the terrors of the "Application Migration Swamp"?
6. 6
Cloud Foundry is part of the prescription
But...
• We don’t just need a better, more cloud-
friendly app server.
• Without process and culture change, CF
is just another tool in a very long parade
of tools.
7. Common Stages of Cloud Foundry Adoption
7
• Investigation and Proof-of-Concept
• Initial Purchase and Production Pilot Project
• Greenfield – Adoption by Development Teams
for New Applications
• Portfolio Modernization – Adoption by Selected
Teams Across the Larger Portfolio
13. Choosing apps to migrate?
13
“I can clearly not choose the app that is in front of me!” --Vizzini
14. Don’t Migrate Everything!
14
• Applications to Exclude:
• Packaged or SaaS applications
• Apps with tight coupling to hardware or legacy
OS
• Apps with no business reason to change
frequently
• Apps with tenuous connection to consumers or
clear business value
• Apps so trivial… no one will care
• Apps so massive… no one should dare
16. 16
Theory of Constraints
An overall management philosophy
introduced by Dr. Eliyahu Goldratt
Source: Institute of Management Accountants, “Theory of Constraints (TOC) Management System Fundamentals”, 1999
Bottleneck
(2/hr)
17. 17
What is an Innovation Bottleneck?
The inability to rapidly and continuously deliver
business-impacting changes to an app that is an
innovation generator is an…
Innovation bottleneck
• In manufacturing, a constraint is a process, process step,
or anything that limits throughput and prevents the entire
system from achieving its goal.
• A bottleneck is a constraint in a production flow process.
The process step that limits overall capacity.
18. 18 “I've just sucked one year of your life away.” –Count Rugen
Innovation Bottlenecks Suck IT’s Life Away
19. The initial filters:
• Technical fit 12-factor-ness.
• Size / Complexity
• Directly connected to easily measured business
value
• Supporting team not “frozen middle” or “permafrost”
• Eager to embrace new ways and learn new
techniques to get better
• Team members are respected. Others will want to
follow their lead
19
20. Finding Innovation Bottlenecks
You might have an innovation bottleneck IF:
• The organization’s ability to innovate as a whole
is constrained by slow delivery cycles in this
application
• The business is pursuing or evaluating a non-
traditional provider or public cloud strategy for this
application because it can’t be easily changed
• Introducing the smallest feature or change takes
weeks or months EVEN when those features will
have a major impact on business operations
20
21. 21
Strangle the Bottlenecks
Strangler Application, Martin Fowler, 2004 http://martinfowler.com/bliki/StranglerApplication.html
Strangler Application Migration:
• Avoids big bang
• Intercepts and redirects calls to
new service running on CF
• Wrapped in tests and circuit
breakers
• Each “slice” is connected to
business value that is easily
visible
• Over time, all that remains is a
well understood core that can
be tolerated or eliminated
22. Don’t let (a little success) go to your head…
22
23. 23
For Further Research
• “Working Effectively with Legacy Code”,
Michael Feathers, 2004
• “The Goal: A Process of Ongoing
Improvement”, Goldratt and Cox, 1984
• “Application Migration Selection Criteria”, Josh
Kruck and Abby Kearns, 2015
• “Migrating the Monolith”, Rohit Kelapure,
SpringOne2Gx 2015
• ”The Cloud Native Journey”, Michael Coté,
2015
• “The Princess Bride”, William Goldman, 1973
A few of the symptoms of what is ailing Enterprise IT are:
From minutes to weeks? From weeks to months? Going the wrong way.
We hear over and over that businesses often expect elapsed times of 6, 9 or 12 months to introduce the smallest feature. We all know that small features often require a small amount of development, but that our self-imposed bureaucratic processes conspire against us to drag out the delivery times.
These processes were created with good intentions or sometimes in response to a catastrophic event. However, if the goal of IT is to enable the business, our processes provide the illusion that going slow is better for the business because its safer.
The reality is that non-responsive IT is one of the biggest threats to businesses in today’s digital economy. Financial Services example… QuickenLoans introduces RocketMortgage. Others must respond or lose market share.
The mobilization of consumers and employees is nothing new, but it has fundamentally shifted the expectations of our users. With the massive escalation of data and transaction quantities, applications designed for a different era fail to scale quickly or experience cascading failures under loads.
Changing monolithic applications which have grown organically over years often causes further outages which in turn creates more organization resistance to delivering innovation.
Implementing a Cloud Foundry platform is part of the solution. The “application dial tone” (to quote Pivotal’s Cornelia Davis) that the platform provides helps application development teams go faster and be safer.
Implementing a Cloud Foundry platform is part of the solution. The “application dial tone” (to quote Pivotal’s Cornelia Davis) that the platform provides helps application development teams go faster and be safer.
It has been said that the average organization has around 300 applications
Some have several times that amount
Two-thirds can’t or don’t need to be migrated to Cloud Foundry
One-third has a tangible business impact if rebuilt or refactored
More than one otherwise talented IT organization gets stuck in the quicksand of indecision when thinking about how to take advantage of their newly implemented Cloud Foundry platform.
Spending months to design the perfect migration approach that could perhaps satisfy every stakeholder is highly likely to result in glacial progress.
Better to tackle a small slice that is well connected to business value and bring it all the way to production than to spend months of navel gazing around finding the “best” applications to migrate
Inception - The main goal is to bring about sustainable transformation such that the organization can rapidly deliver software-based innovation to the business.
Non-goals are: Justifying a purchase, migrating X% of the portfolio to the cloud, retooling the entire workforce or getting nominated for IT exec of the year
Often, large system integrators have an interest in selling ginormous application migration factory projects that require hundreds of developers and millions of dollars. These frequently fail. No matter how shiny their dashboards or wizards.
So, how do we select applications for migration to Cloud Foundry?
Surprising number of organizations set about building application migration factories with a goal of moving all of their apps to Cloud Foundry
Many categories of apps can be excluded. These can be “lifted and shifted” to IaaS, but are probably NOT good candidates for moving to Cloud Foundry.
My opinion of “application migration factories” – an approach that implies shifting existing applications, unchanged, to a new location… has changed.
The problem with this approach is that app migration alone does nothing to address the broken processes and organizational silos that impair the ability of IT to innovate.
App migration does not optimize “innovation bottlenecks” … Ability to innovate does not improve.
Theory of Constraints (ToC) is an overall management philosophy introduced by Dr. Eliyahu Goldratt in his 1984 book titled The Goal, that is geared to help organizations continually achieve their goal.
Proposal: Every organization has a relatively small subset of applications that must be regularly changed in innovative ways for the business as a whole to exploit new markets, fend off competitors or reach its customers through new digital channels.
In many large enterprises, Information Technology has become merely a cost center or a necessary evil. Lack of innovation has sucked away its relevance to the business.
What if you’ve filtered your enterprise application portfolio using criteria like those above and still have dozens or hundreds of apps to choose from?
Look for innovation bottlenecks
Pick one. Get moving. Avoid spinning on a “perfect” starting point.
Replicating success from an initial win in app transformation is hard.
Sustaining and scaling transformation is harder than getting the first win
Avoid the terrors of app migration and tackle the next innovation bottleneck
Build the environments and ecosystems to replicate at scale