10 Tips for Enterprise Cloud Migration
in Government
Truly understand your
applications' architecture
Applications are critical to your operational success, but they don’t exist in a vacuum. They run on physical, virtual servers and containers, communicate across networks, sit behind firewalls, query databases, rely on middleware and interact with third party systems using APIs (see figure 1/page 2).
So it's important to build a comprehensive understanding of your applications’ architecture for every component, dependency, and integration before deciding to move to the cloud.
This means ditching outdated, inaccurate architecture diagrams for solutions that can provide accurate representations of your
IT environment. Part of understanding your applications’ architecture is getting to know their performance characteristics and resource requirements from CPU, network, memory, and disk utilization to latency, response times, and end-user experience, and even as far as how they contribute to your operational goals. This is especially important for governments due to their unique citizen services, such as 911 emergency response and public safety, and unique latency and data collection needs due to infrastructure
like transportation and utilities. Moving forward without this understanding is risky and could lead to costly over-provisioning and potential outages.
Figure 1: This diagram shows the network backbone, the distribution layer, and the access layer. The items above can be added or removed as needed.
A distributed application environment
Fix any performance issues
before you move
Once you understand your applications from an architectural perspective, it’s time to prepare them for a move to the cloud.
The cloud is not a silver bullet, and attempting to migrate applications with known performance issues only makes matters worse. For example, a memory leak in an on-premises application could break your budget when billed based on
resource usage.
Before your agency moves to the cloud, investigate and fix noisy alerts, eliminate false positives, optimize slow database queries,
and smooth over erratic response times. Successfully migrating a healthy application to a new environment is a challenging engineering endeavor on its own. Migrating an application that shows signs of wear and tear is a recipe for disaster. And for government networks, often running on older or inefficient platforms, extra attention should be given to ensuring the application is ready for the leap. By giving it a tune up before moving it to the cloud, continuity of services will be more assured, especially in
times of unexpected stress. Plus, your IT staff will sleep peacefully at night, freed from the constant worries of a late night call due to
the apps failure.
Know how users gain
value from applications
While understanding technical performance is important, knowing how workers and residents actually use and derive value from your application is paramount. As you prepare to embark on your cloud journey, take time to engage them. Whether they're employees who use internal applications to perform their duties or residents that depend on your applications to access the government services they rely on everyday to maintain a secure and healthy quality of life, your users needs and expectations will rank high in determining your cloud migration's eventual success and yours.
Combine your research with user or customer journey mapping and key transaction discovery to gain a holistic understanding of the value an application and its associated services provide. A deep knowledge of your software value stream proves indispensable when you prioritize which applications to migrate, in what order, and what key user interactions need close monitoring during the migration process. Understanding applications from a user and operational outcome perspective is vital to develop and articulate the business justification for cloud migration.
Make sure it's easy to access
key cloud provider metrics
If your agency is moving to the cloud, don’t let cloud provider promises of infinite capacity and unprecedented reliability lure you into complacency. Remember, the cloud is dynamic. This is one of its greatest values to government, especially when dealing with the broad swatch of services and infrastructure you deal with in a typical day. Within a few minutes and with a few simple service calls, cloud computing lets you accomplish what once required change requests, purchase orders, physically tracking and plugging in equipment, and months of engineering effort.
While cloud vendors provide programmatic access to a rich set of metrics and event streams, which allow you to automatically
detect and respond to changes, these metrics are often not in context of the overall application's performance or operational value. Because most traditional monitoring tools have limited or no support for the new class of metrics generated by cloud infrastructure. It's important to choose a performance monitoring solution that not only understands the cloud services being utilized, but also integrates and correlates these metrics with the application and user experience.
Proactively check user
experience during the pilot
During the early phases of migration, it’s vital that users,especially residents attempting to access critical services) avoid experiencing performance or availability issues. This can derail your agency's migration activity and negatively impact your community's trust in its leaders, infrastructure, and services. Remember, your users should have no idea the application moved to a new environment. But it is important to demonstrate success early in the process to internal stakeholders. This will help inspire the enthusiasm needed to propel a cloud migration of enterprise magnitude forward.
Whether intermittent connectivity, sluggish response times, or outright bugs nothing stalls cloud migration efforts more dramatically than a poor user experience. So skip the endless meetings, headaches, and skepticism by monitoring user experience in real-time and simulating user interactions for key journeys. One modern technique to keep tabs on user experience is synthetic monitoring, in which you continuously test your app’s key transactions from multiple locations to ensure your software and services are truly performing at distance and across platforms, devices, and users.
Prove the migration
was successful
Even after your initial migration effort, and with no noticeable issues, it's important to plan ways to demonstrate the benefits of the cloud both pre- and post-move. From a technical perspective, you should do the following:
While the benefits of the cloud are obvious to you, those outside of IT, including political and media,
require more proof. Be prepared to give it.
Be sure to also demonstrate the benefits from an operational perspective, especially for resident-facing applications. Show how engagement and outcomes improve along with response times for key resident journeys through the application. So make sure you highlight early and often what your agency is gaining from its migration to the cloud.
Realize cloud-based
application need monitoring
As you re-architect and extend applications for the cloud, you'll make use of many cloud provider services, such as container orchestration for microservices, cloud load balancing, auto scaling, blob storage, managed NoSQL databases, message queueing, and more. Plus, governments typically handle above average loads related to real-time data gathered from edge devices (sensors, security cameras, traffic control devices, public safety/health systems, and mobile units). This means maintaining a reliable level of latency is a big issue. That's why government clouds demand a modern performance monitoring solution that can securely handle the dynamic and ephemeral cloud workloads involving public and private citizen data.
The performance monitoring solution you choose must be capable of everything you would expect from a traditional monitoring service, but also be capable of tracing distributed transactions through integrated services, monitoring container technologies, and correlating cloud infrastructure changes and events with traditional metrics. Lastly, modern monitoring must easily accommodate server and container instances that last only hours, minutes, or even seconds.
Prepare to use cloud bursting
for instant scalability
One of the major benefits of the cloud to governments is the ability to scale up or down instantly. Cloud bursting is a technique that allows on-premise applications to provision additional resources in a public cloud when additional capacity is not available on-site, especially during times of peak demand. Or when unique services, such as emergency response, are triggered during severe weather or a mass incident. This helps governments maintain appropriate response times, provide continuity of services, and embed greater resiliency in their communities.
By routing overflow traffic straight to the public cloud automatically, cloud bursting is a reliable method to prevent service interruptions for users. Another major advantage of burstable capacity is providers bill cloud resources on-demand, meaning you only pay for additional resources when you need them. For government agencies, this can help improve productivity when needed, reduce a variety of costs, and increase data storage capabilities. If you don’t take advantage of cloud bursting to augment your data center’s capacity, then you won’t realize the full value to your agency of your cloud investment.
Ensure applications drive
operational outcomes
Whether your applications run in the cloud, on-premises, or in a hybrid environment, they must continue to fuel a sustainable environment through rapid innovation combined with significant operational efficiencies. So don’t analyze cloud performance metrics in a vacuum. Not only is it important to correlate your apps’ performance metrics with user (both worker and citizen) engagement and satisfaction objectives, but it's also necessary to provide proper attribution to your variable cloud costs, especially with every new feature release.
If there isn’t sufficient user demand and operational value in migrating an application, it may not be worth moving at all. You may also discover features that are no longer useful and need a refresh. The primary motivation for governments to move to the cloud is to better serve constituents through increased agility, unlimited scalability, and reduced costs so ensure applications get these benefits.
Plan for a multi-cloud
strategy
Every cloud has unique benefits and drawbacks, but unlike traditional data centers, you don’t have to go all-in on a single cloud provider, nor should you. Governments big and small, state/local or federal, have every kind of application imaginable: static, compiled languages; dynamic, interpreted languages such as Node.js; web, mobile, and internet of things (IoT)-based apps; big data, machine learning and artificial intelligence algorithms; ephemeral, elastic build clusters; high-performance legacy, monolithic, and transactional business apps; distributed, fault-tolerant, highly-available, and global scale social apps.
By adopting a multi-cloud strategy, your agency can leverage different clouds for different applications and workloads. Performing the monitoring and analysis required to select the optimal cloud for each application will make a huge impact on your bottom line and employee/citizen service satisfaction. Enterprise cloud migrations happen over time and in phases. You don’t have to finish where you started, nor do you have to stay with a particular cloud provider as your community of users grows and demands push your applications to the limit.