Designing Infrastructure to Move Apps Seamlessly
Even though agencies have the desire to use agile development methodologies and DevOps, legacy software and aging hardware present limitations to doing so. Often, what happens when a critical system or application needs to be upgraded is that agencies will use existing equipment in their IT environment to provide space for migrating the system or app.
As agencies think about future IT investments, they should plan for ways to design their environments so that applications can be moved safely within their infrastructure and then moved back into upgraded infrastructure.
Ideally, this can be done in real time and in a dynamic fashion, enabling the application itself to reside in several places easily. If there is capacity in another part of the infrastructure, the application could be moved there while the upgrade is ongoing.
Remember that mission-critical apps will have backup structures. Most of the time, agencies can use the infrastructure set aside for backup and recovery as the place to move these apps while upgrades on the primary infrastructure are being completed.
To properly move mission-critical applications, IT teams need both the appropriate bandwidth and an understanding of dependencies. The application will need to maintain the same performance and the same level of security so that there are no disruptions.
Agencies can use software tools to encapsulate and maintain everything needed for the app to keep running, including bandwidth, latency and security requirements. Software is now smart enough to know that there might be optimal places within an agency’s infrastructure to run specific applications, either on-premises or in the cloud.
Agencies should design their future infrastructure with an eye toward maximizing efficiency as the infrastructure scales out. That will provide greater flexibility for future application migrations.
RELATED: What are the perils of not modernizing your applications?
The Way Forward with Agile and DevOps
As agile, DevOps and DevSecOps platforms have evolved, they have grown more interoperable. This is critical because, as agencies modernize applications, their systems need to be able to communicate and translate different programming languages.
Agencies should leverage continuous integration and continuous delivery (CI/CD) and integrate their development and data center operations teams. CI/CD enables teams to work together closely to deploy code as quickly as possible without interrupting mission operations.
Depending on how mature an agency’s cloud environment is, it can also conduct application modernization using an agile development process to make apps cloud-ready — using containers to virtualize applications and deconstructing them as individual pieces that can be delivered and patched faster than on legacy infrastructure.
Developing a DevOps approach can accelerate this kind of work.
Citizens rely on mission-critical apps from the government. To upgrade those apps without disrupting citizen services, agencies need to have a clear plan for modernization. That means knowing the application’s requirements, dependencies and security protocols. It means having the infrastructure in place to ensure apps can keep running even as upgrades are being made. And it increasingly involves DevOps.
All of this work will be more seamless and less disruptive if federal IT leaders bring forethought to upgrading the applications and systems that so many of us rely on.
This article is part of FedTech’s CapITal blog series. Please join the discussion on Twitter by using the #FedIT hashtag.