The Journey of Legacy to Modern Infrastructure Architectures

Current-day literature regarding digital disruption and technology modernization commonly discusses legacy-monolithic infrastructure/applications and modern-day architectures such as microservices. However, less literature exists on the journey from legacy to modern infrastructure architectures. In this blog post, I aim to provide a high-level roadmap to help organizations navigate their technology (infrastructure/application) architecture modernization journey.

To start, let’s introduce the concept of greenfield and brownfield. In the second edition of The DevOps Handbook, authors Gene Kim, Jez Humble, Patrick Debois, and John Willis discuss these concepts in their original terms. Initially used in urban planning and building projects, greenfield is when buildings are built upon undeveloped land. Brownfield development is when we build on land previously used for industrial purposes, potentially contaminated with hazardous waste or pollution [1, p. 66]. In this blog post, greenfield represents new, unbuilt infrastructure and systems, and brownfield represents existing infrastructure and systems with complex interdependencies.

An organization’s strategy has a lot to do with how IT disciplines move forward with building infrastructure and systems. Many organizations have a “cloud first” strategy today or are striving to become “cloud first” throughout their modernization journey. This means greenfield initiatives should be built in the cloud before traditional on-premises (on-prem) infrastructure is used. Using cloud-native technologies to build new infrastructure architectures that support application and data architectures is a surefire way to modernize an organization’s technology stack. In fact, many start-up companies use a “cloud-only” strategy that ensures they don’t introduce legacy systems and technology to their ecosystems from the beginning.

While it’s fair to say that greenfield builds are easier to modernize than brownfield builds is true, it’s not necessarily “easy.” Arun Chandrasekaran (2022) from Gartner, Inc. depicts an illustration showing that the IT workforce has more skill and experience with traditional infrastructure architectures than modern serverless and container infrastructure architectures [2]. From experience, I can attest to Chandrasekaran’s illustration. Unless an organization brings in a small army of highly skilled and experienced cloud practitioners, either via direct hires or consultants, they are bound to experience their share of bumps, bruises, lessons learned, and re-work as they continue to learn and mature in the cloud.

The story changes significantly when it comes to brownfield or already existing systems. This is frequently where digital modernization becomes a journey, and strategy is a major factor in how organizations move their technology architecture forward. Assuming an organization is just beginning its modernization journey, it potentially has a long road in front of it. Even if an organization’s digital modernization journey has already started, the road forward is usually full of turns and hills.

To help with cloud migrations, Amazon Web Services (AWS) describes four phases of cloud migration. The phases include (1) Prepare, (2) Plan, (3) Migrate, and (4) Operations [3]. These phases are an essential component of digital modernization and can be used to help your organization with its migration. Check out AWS’s knowledge article “Phases of migration” for more details on their four phases.

Looking deeper into the migration process, Stephen Orban, author of “Ahead in the Cloud,” Chief Technology Officer at the New York CTO Club, and Vice President at Amazon Web Services [3], outlines six different migration strategies for moving applications to the cloud. AWS commonly refers to these migration strategies as “the 6-R’s.” The 6 R’s include (1) rehosting, (2) replatforming, (3) repurchasing, (4) refactoring/rearchitecting, (5) retire, and (6) retain [4]. All six strategies apply to brownfield builds.

Figure 1: The 6 R’s of cloud migration strategy.

  1. Rehosting, or “lift-and-shift,” is moving your existing infrastructure/systems “as is” to the cloud.
  2. Replatforming, referred to Orban as “lift-tinker-and-shift,” involves using some cloud services to optimize a system, but it doesn’t change the core of the system.
  3. Repurchasing or moving to a different product. This typically involves eliminating brownfield builds and replacing them with Software as a Service (SaaS) solutions.
  4. Refactoring/Rearchitecting is described by Orban as re-imagining how an application is architected and developed, typically using cloud-native technologies.
  5. Retire or simply get rid of. Orban says that between 10% and 20% of an organization’s IT portfolio is no longer useful and can be retired.
  6. Retain usually means “revisit” or do nothing, at least for now. This strategy may be best suited for systems recently brought online on-prem or for organizations early in their cloud migration journey.

Orban says that enterprises usually begin to contemplate how to migrate an application [to new platforms and infrastructure] during the second phase of the migration process – Portfolio Discovery and Planning. A firm understanding of the systems existing in an organization’s IT portfolio is key to creating a migration strategy. Differentiating the low-hanging fruit that can be easily harvested from complex monolithic architectures with multiple interdependencies will help organizations choose the right combination of strategies to suit their migration needs.

“This [portfolio discovery and planning] is when they determine what’s in their environment, what are the interdependencies, what’s going to be easy to migrate and what’s going to be hard to migrate, and how they’ll migrate each application.” – Stephen Orban

As you can see, greenfield initiatives are easier to build in the cloud as they are not subjected to the monolithic and interconnected infrastructure that exists within an organization’s IT ecosystem today. Brownfield initiatives require significantly more strategy, planning, and often time to migrate into the cloud. Organizations will encounter use cases for greenfield and brownfield builds throughout their journey. Having the strategy and skills is vital to a successful digital modernization journey.

References

[1] G. Kim, J. Humble, P. Debois and J. Willis, The DevOps handbook, 2nd ed., Portland: IT Revolution, 2021.

[2] A. Chandrasekaran, Compute evolution: VMs, Containers, Serverless – Which to use when?, Gartner, Inc., 2022.

[3] Amazon Web Services, “Phases of migration,” 2022. [Online]. Available: https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-database-migration/phases.html. [Accessed 9 October 2022].

[4] S. Orban, “Linkedin – Stephen Orban,” [Online]. Available: https://www.linkedin.com/in/stephen-orban-7086471/. [Accessed 9 October 2022].

[5] S. Orban, “6 strategies for migrating applications to the cloud,” Amazon Web Services, 1 November 2016. [Online]. Available: https://aws.amazon.com/blogs/enterprise-strategy/6-strategies-for-migrating-applications-to-the-cloud/. [Accessed 9 October 2022].

[6] Y. Perry, “AWS migration strategy: The 6 Rs in depth,” NetApp Cloud Central, 25 July 2019. [Online]. Available: https://cloud.netapp.com/blog/aws-migration-strategy-the-6-rs-in-depth. [Accessed 9 October 2022].

Technology Architecture Modernization

Digital disruption is a digital capability-driven change that shakes the industry’s core [1]. The fact that the traditional technology architecture, infrastructure, and software supporting the application and data layers of Enterprise Architecture (EA) has been “disrupted” is indisputable. Gartner says there are three outcomes that practitioners should focus on to drive disruption: quality, speed, and agility [2]. Let’s explore how technology architecture has modernized and how the advancements have increased quality, speed, and agility in today’s organizational ecosystems.

Before we explore today’s technology, let’s look at the progression of technology architecture. In 1834, the first mechanical computer, the Babbage Difference Engine, was announced [3]. The first mainframe wasn’t released until 1966 [4]. The United States Department of Defense created ARPANET in 1969; ARPANET eventually became known as the birth of what we know as “the Internet” [3]. In 1981, IBM released the first Personal Computer (PC) [3]. Microsoft released its first version of Windows in 1985 [5]. Since then, there has been an explosion of technological advancements, such as the introduction of “the cloud” by Amazon Web Services in 2006 [6]. There have even been major technological advancements since then that have revolutionized technology architecture, becoming what we know as the technologies that are disrupting industries today.

As you can see, we have come a long way since the Babbage Difference Engine in 1834. But exactly what technology

Figure 1: Compute Evolution [7].

architectures exist today that support increased quality, speed, and agility? The introduction of the cloud kicked off a digital disruption revolution that introduced Infrastructure as a Service (IaaS). IaaS provides organizations with technology components such as Virtual Machines (VMs), Containers, and Serverless computing that create modern technology architectures. All without the need to purchase the physical infrastructure, and rack it in a costly data center, enabling organizations to “fail fast, fail often” in an affordable manner.

Arun Chandrasekaran of Gartner Inc. explains that VMs abstract server hardware capabilities and imitate dedicated hardware for an application, allowing different operating systems to share servers seamlessly and provide better hardware utilization [7]. Server virtualization is a mature market today, and some practitioners no longer consider VMs as “modern.” Regardless of where your opinion falls, the delivery methods of VMs have shifted in two ways that are modern and bleeding edge.

The introduction of Hyperconverged Infrastructure (HCI) has foundationally changed the VM market. HCI is a software-defined IT infrastructure that virtualizes all elements of hardware-defined systems. HCI includes virtualized computing or VMs, software-defined storage, and virtualized networking, all of which can run on off-the-self servers [8]. Robert Sheldon from TechTarget.com provides a list of numerous HCI benefits, including simplified deployments and management, easy upgrades, scalability, agility, and improved performance [9]. As a user of HCI, I can confirm these benefits. The technology is relatively new, causing practitioners to work around quirky bugs; however, the performance benefits and cost savings can be astounding. During a recent system implementation, I found that database servers were booting too fast when running on HCI. My team and I had to adjust the services on the server to start them in the appropriate order because services that used to take a minute or more to start now start immediately upon boot.

The second shift of VM modernization is how servers are provisioned. Cloud service providers such as Amazon Web Services offer cloud-native tools (CloudFormation) to enable Infrastructure-as-Code (IaC). Microsoft says, “IaC uses DevOps methodology and versioning with a descriptive model to define and deploy infrastructures, such as networks, virtual machines, load balancers, and connection topologies [10].” Imagine IaC as source code; it generates the same output every time it’s executed. IaC offers numerous benefits, including server delivery speed, increased quality and consistency, auto-scaling and provisioning of VMs, and enabling Information Technology (IT) teams to self-service VM builds. IaC can provision VMs and other infrastructure without waiting days or weeks for busy IT teams to work through their build queues to deliver infrastructure to support an initiative.

If you are an IT practitioner that works closely with software development teams, you may have heard of containers or containerization. Chandrasekaran (2022) tells us that containers virtualize an operating system, allowing many instances of an operating system user space to share a single operating system kernel [7]. This packaging approach includes libraries and other runtime dependencies required to run an application, allowing containers to be highly standardized and consistent to run across the software development life cycle (SDLC) and hybrid environments [7]. Kubernetes, an open-source system for managing containers, is today’s leading container platform in the IT industry. In the modern world, cloud providers offer services such as Amazon Elastic Kubernetes Service (EKS) that virtually eliminate the need to manage complex on-premises infrastructure to support Kubernetes deployments (and other container providers), enabling practitioners to focus on delivering value, not managing intricate infrastructure.

“By 2026, more than 90% of global organizations will be running containerized
applications in production, which is a significant increase from less than 40% today.” – Gartner, Inc. [7]

The last major foundational infrastructure architecture modernization I want to review today is “Serverless,” sometimes referred to as Functions as a Service (FaaS). Chandrasekaran describes serverless computing as “a way to build and/or run applications and services without having to manage infrastructure” [7]. Serverless computing eliminates the runtime environment and is perfect for applications with unpredictable scaling needs as it scales vertically on demand. As an IT leader with over 15 years of infrastructure experience, I can safely say that Serverless computing has many benefits that organizations may not even realize. To me, the most prominent benefits are the auto-scaling nature of serverless computing and the fact that you no longer have to manage and secure the underlying infrastructure. Meaning practitioners no longer need to upgrade or replace operating systems or rebuild server environments every four years to ensure applications are running in a compliant environment.

From experience, I have been involved in multiple “Server Conversion Projects” where you must migrate applications spread across hundreds of servers to servers with new operating systems. These projects require numerous staff members from many different IT disciplines, costing thousands, if not hundreds, of thousands of dollars in capital and operational expenses.

“By 2026, more than 50% of global enterprises will have deployed serverless functions as a service (FaaS), up from less than 25% today.” – Gartner, Inc. [7]

Containers and serverless computing are still relatively immature and developing; however, it’s a safe bet to say they are here to stay and will foundationally change the infrastructure architecture layer and how industries build systems. Gartner notes that IT practitioners have fewer skills and experience with containers and serverless computing than hypervisor technology (VMs) [7]. My recent experience as one of the leaders of a major cloud initiative confirms Gartner’s observations. Technology architecture modernization is occurring faster than organizations are adapting, leaving early-adopting organizations in a position to excel in their markets by delivering quality infrastructure faster, making organizations more flexible.

References

[1] A. J. Arduini, “To disrupt or not to disrupt?,” 29 August 2022. [Online]. Available: https://sites.psu.edu/aja6921/2022/08/29/to-disrupt-or-not-to-disrupt/. [Accessed 8 October 2022].

[2] Gartner, Inc., “The top strategic technology trends for 2022,” 18 October 2021. [Online]. Available: https://ssofed.gartner.com/sp/startSSO.ping?PartnerIdpId=urn:mace:incommon:psu.edu&TargetResource=https%3A%2F%2Fwww.gartner.com%2Fdocument%2F4006913%3Fref%3Dd-linkShare. [Accessed 8 October 2022].

[3] Pandora FMS team, “Historical events that you should know as an IT person,” PandoraFMS, 27 August 2021. [Online]. Available: https://pandorafms.com/blog/computer-history/. [Accessed 8 October 2022].

[4] C. Tozzi, “Mainframe history: how mainframe computers have changed over the years,” 5 March 2021. [Online]. Available: https://www.precisely.com/blog/mainframe/mainframe-history#:~:text=First%20mainframe%20%E2%80%93%20By%20most%20measures,ready%20for%20use%20until%201943.. [Accessed 8 October 2022].

[5] The Editors of Encyclopaedia Britannica, “Microsoft Windows,” Britannica, [Online]. Available: https://www.britannica.com/technology/Windows-OS. [Accessed 8 October 2022].

[6] K. D. Foote, “A brief history of cloud computing,” Dataversity, 17 December 2021. [Online]. Available: https://www.dataversity.net/brief-history-cloud-computing/. [Accessed 8 October 2022].

[7] A. Chandrasekaran, Compute evolution: VMs, Containers, Serverless – Which to use when?, Gartner, Inc., 2022.

[8] Wikipedia, “Hyper-converged infrastructure,” [Online]. Available: https://en.wikipedia.org/wiki/Hyper-converged_infrastructure. [Accessed 9 October 2022].

[9] R. Sheldon, “11 main benefits of hyper-converged infrastructure,” TechTarget.com, 11 August 2020. [Online]. Available: https://www.techtarget.com/searchdatacenter/tip/11-main-benefits-of-hyper-converged-infrastructure. [Accessed 9 October 2022].

[10] Microsoft, “What is infrastructure as code (IaC)?,” Microsoft, 18 August 2022. [Online]. Available: https://learn.microsoft.com/en-us/devops/deliver/what-is-infrastructure-as-code. [Accessed 9 October 2022].

[11] Gartner, Inc., “Gartner Glossary,” Gartner, Inc., [Online]. Available: https://www.gartner.com/en/information-technology/glossary/digital-disruption. [Accessed 28 August 2022].