Welcome!

Linux Containers Authors: Yeshim Deniz, Pat Romanski, Elizabeth White, Liz McMillan, Vaibhaw Pandey

Blog Post

Top Takeaways from Continuous Discussion (#c9d9) Ep. 40

CD for Legacy Applications

This week, we hosted a Continuous Discussion (#c9d9) on best practices for Continuous Integration and Continuous Delivery for legacy applications.

Our expert panelists included: Deepak Karanth, Chief Architect and Consultant at Software Yoga; Jean D’Amore, Consultant at ThoughtWorks; Manuel Pais, DevOps Lead Editor at InfoQ and consultant at Skelton-Thatcher; Tarun Arora, Microsoft MVP in Visual Studio Development Tools; and, as always, Sam Fell and Anders Wallgren of Electric Cloud.

In this episode, we covered legacy systems in depth – from definitions and addressing challenges, to the best practices for refactoring legacy code and DevOps-ifying your legacy applications. What resonated during the live podcast was the importance of culture and teams, and first making sure refactoring code is going to drive business value, before going all-in. Continue reading below for some of the top insights that were shared during the event.

How do you define Legacy?

  • KaranthDeepak-Karanth-c9d9-devops-podcast says “You know you have legacy code when “you look at [it], you feel like throwing it away.” In other words, it’s code which you do not want to change, or are afraid to change, because there’s no way to know if it will cause side effects in other parts of the system.”
  • Jean-DAmore-c9d9-devops-podcastIn D’Amore’s opinion, anything that is developed without DevOps and CD in mind is automatically legacy. He goes on to advise against letting code go dormant. “For example, you may have created something great six months ago, but if you have not touched it since and the mindset of changing and improving isn’t there, it is legacy.”
  • Fellsam-fell furthers by saying there is an “inertia” factor: if you sit still for too long, it becomes harder to move forward. “Always be thinking about how you can make your product more efficient, even if you aren’t touching the code frequently.”
  • manuel-pais-c9d9-devops-podcastFor Pais, legacy is an evolving definition, but is mainly applications that you cannot change at the speed your business needs them to change. Ipso facto, “If you don’t have processes in place to move quickly, you are working in a legacy app.”
  • Tarun-Arora-c9d9-devops-podcast“When dealing in legacy applications, it’s not the end-state, it’s the path,” says Arora. “Legacy begins with the fear of change.” He notes how management often respects stability in business applications, resulting in an increase fear of modifying. “If you can’t change on-demand,” he says, “you are on the path to legacy.”
  • anders-wallgren-c9d9“The core of legacy is fragility: you think or know it will break every time you touch it,” explains Wallgren. “This creates a positive feedback loop where you learn to stop touching the code entirely.” However, he says you need a little “TLC” in your code base so it doesn’t go to waste.

Should you poke that bear?

  • Tarun-Arora-c9d9-devops-podcastArora says “To take a business-case driven approach here. Go through your enterprise, take stock of applications, the turnaround time on them, and ask what value do they deliver to your organization? If they aren’t delivering enough value it may not be worth it to poke the bear.”
  • manuel-pais-c9d9-devops-podcastPais puts his focus of refactoring around teams and people. “It’s more important to start with awareness that a team has become legacy, rather than the code or application itself. Legacy teams working in older processes don’t allow systems in those teams to evolve as quickly as they need.” Pais’ advice? “Make it a priority to enable teams to work better and stay on par with the more advanced teams in terms of tooling, processes and collaboration.”
  • Jean-DAmore-c9d9-devops-podcast“Do you have the ability to rewrite the legacy code? Is there a part of the application that is less risky to replace? Is the system fit for the purpose?” These are all questions D’Amore would ask before considering refactoring legacy code. “If there’s an investment at the organizational level that says the system is right for us and we want to keep investing in it, then poke the bear.”
  • Deepak-Karanth-c9d9-devops-podcastAdvice per Karanth, “Don’t poke the bear just for the sake of it. It’s important to have a clear vision for why you need to poke the bear and what the outcome is of the whole process. Two important aspects to consider: 1) internal 2) customer.” Karanth says “You know it’s time to refactor the code when customers start complaining, and when your own developers are having a hard time changing the code.”
  • anders-wallgren-c9d9The age-old answer Wallgren gives is: “It depends. The practical problem with legacy applications is you have no tests, if you’re lucky there are specifications. The decision to refactor depends on many factors, such as the size of the legacy code base.”

Challenges with CI and CD for legacy apps:

  • Jean-DAmore-c9d9-devops-podcast“The biggest challenge in CI for legacy applications is off-the-shelf package apps,” says D’Amore. “Essentially, you are at their mercy.” However, D’Amore says “If you are forced into a package application situation, it should become a decision-making process – ask how is this going to affect my environment, how are we going to be able to make changes in the ecosystem alongside the package app?”
  • Deepak-Karanth-c9d9-devops-podcastKaranth mentions the challenge of politics when making a technical decision. “For example, when different departments are handling different parts of the delivering process, how do you automate? What happens to the jobs of those people when you do automate? The technical challenges are easy to solve – version control systems, unit tests – the biggest challenge is the people.”
  • manuel-pais-c9d9-devops-podcastPais further emphasizes the challenge of changing people and culture in legacy systems. He says, “To evolve your practices, and at same time evolve how people think about those practices. Often, there are one or two people that are really into the process of refactoring and create their own “hero crusade.” This is good, but not if everyone else stays where they were before.”
  • Tarun-Arora-c9d9-devops-podcastArora says an outcome-drive approach is best when implementing CI in legacy systems. “Being able to see where you are getting the biggest bang for your buck is crucial. It’s all about decomposing in a fashion where you can create a façade around it, or identify end-points that you can use to do automation testing to speed up the CI pipeline.”
  • anders-wallgren-c9d9For Wallgren, the challenge becomes, “who do you throw at this problem? Oftentimes, it becomes the “sustaining engineering” team’s problem, but in actuality you want your best people on this project.” He advises to “Think about the skillsets required to go into an unknown code base, understand it, figure out how to write tests for the part you want to refactor, and/or how to extract the part you want to tear out and write it as a new service.”

Bringing DevOps practices to legacy applications- where do you start?

  • Deepak-Karanth-c9d9-devops-podcastKaranth emphasizes again that “The starting point should always be the culture; find out if the team has the necessary people to do the job. Management often treats this process as just another development task, which is the wrong approach,” according to Karanth. “Finally, understand that refactoring and building a support environment (both people and tools) takes several months to do.”
  • Tarun-Arora-c9d9-devops-podcast“There is no value in doing it, if there is no value in doing it,” says Arora. “There needs to be business value, appetite for change, a roadmap and a vision.”
  • manuel-pais-c9d9-devops-podcastAdvice per Pais: “When you realize it’s worthwhile to refactor, first deal with reality, take things step by step, seize opportunities to change and improve, and change the technical side along with the culture and mentality.” Culture is important, but Pais reminds us to “Have metrics in place to make sure you are going in the right direction.” (ie. deploy frequency, time-to-repair)
  • Jean-DAmore-c9d9-devops-podcastD’Amore advises to “Visualize your current state – the latencies, what changes often and what is the hardest to change.”
  • anders-wallgren-c9d9Wallgren says to “Make sure you invest enough time and resources in understanding the change you are about to make. Try not make too many decisions on scope until you have spent time on investing. You are likely dealing with code that isn’t well-defined in terms of what it’s supposed to do – bite off less than you think you can.”
    In addition, he says:

     

Watch the full recording of this week’s episode here.

More DevOps for legacy applications

DevOps and CD for legacy applications is also a key topic at DevOps Enterprise Summit (DOES). For more real-world use case for addressing legacy applications in the enterprise, watch CenturyLink’s talk below on implementing CD for Legacy Applications from DOES15, and Scott Prugh’s talk from DOES14.

Century Link – Implementing CI/CD for Legacy Applications

Scott Prugh – CSG – DevOps and Lean in Legacy Environments

Want to take the stage at this year’s DevOps Enterprise Summit?

There’s still time to submit your talk proposal for DOES16 – CFP closes on May 16, 2016.

Submit your proposal »

Want more Continuous Discussions?

We hold our #c9d9’s every other Tuesday at 10 a.m. PST, with each episode featuring expert panelists talking about DevOps, Continuous Delivery, Agile and more. Next time on Continuous Discussions: Creating an Internal Dev/Test Cloud.

More Stories By Anders Wallgren

Anders Wallgren is Chief Technology Officer of Electric Cloud. Anders brings with him over 25 years of in-depth experience designing and building commercial software. Prior to joining Electric Cloud, Anders held executive positions at Aceva, Archistra, and Impresse. Anders also held management positions at Macromedia (MACR), Common Ground Software and Verity (VRTY), where he played critical technical leadership roles in delivering award winning technologies such as Macromedia’s Director 7 and various Shockwave products.

@ThingsExpo Stories
DX World EXPO, LLC, a Lighthouse Point, Florida-based startup trade show producer and the creator of "DXWorldEXPO® - Digital Transformation Conference & Expo" has announced its executive management team. The team is headed by Levent Selamoglu, who has been named CEO. "Now is the time for a truly global DX event, to bring together the leading minds from the technology world in a conversation about Digital Transformation," he said in making the announcement.
"Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
SYS-CON Events announced today that Conference Guru has been named “Media Sponsor” of the 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. A valuable conference experience generates new contacts, sales leads, potential strategic partners and potential investors; helps gather competitive intelligence and even provides inspiration for new products and services. Conference Guru works with conference organizers to pass great deals to gre...
The Internet of Things will challenge the status quo of how IT and development organizations operate. Or will it? Certainly the fog layer of IoT requires special insights about data ontology, security and transactional integrity. But the developmental challenges are the same: People, Process and Platform. In his session at @ThingsExpo, Craig Sproule, CEO of Metavine, demonstrated how to move beyond today's coding paradigm and shared the must-have mindsets for removing complexity from the develop...
In his Opening Keynote at 21st Cloud Expo, John Considine, General Manager of IBM Cloud Infrastructure, led attendees through the exciting evolution of the cloud. He looked at this major disruption from the perspective of technology, business models, and what this means for enterprises of all sizes. John Considine is General Manager of Cloud Infrastructure Services at IBM. In that role he is responsible for leading IBM’s public cloud infrastructure including strategy, development, and offering m...
"Evatronix provides design services to companies that need to integrate the IoT technology in their products but they don't necessarily have the expertise, knowledge and design team to do so," explained Adam Morawiec, VP of Business Development at Evatronix, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
To get the most out of their data, successful companies are not focusing on queries and data lakes, they are actively integrating analytics into their operations with a data-first application development approach. Real-time adjustments to improve revenues, reduce costs, or mitigate risk rely on applications that minimize latency on a variety of data sources. In his session at @BigDataExpo, Jack Norris, Senior Vice President, Data and Applications at MapR Technologies, reviewed best practices to ...
Widespread fragmentation is stalling the growth of the IIoT and making it difficult for partners to work together. The number of software platforms, apps, hardware and connectivity standards is creating paralysis among businesses that are afraid of being locked into a solution. EdgeX Foundry is unifying the community around a common IoT edge framework and an ecosystem of interoperable components.
Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
"Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
22nd International Cloud Expo, taking place June 5-7, 2018, at the Javits Center in New York City, NY, and co-located with the 1st DXWorld Expo will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud ...
"Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
"MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
"There's plenty of bandwidth out there but it's never in the right place. So what Cedexis does is uses data to work out the best pathways to get data from the origin to the person who wants to get it," explained Simon Jones, Evangelist and Head of Marketing at Cedexis, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.