Migrations

Scorecard Series: Migrations without the Migraine

Engineering is always in the process of changing something in their environment—migrating to the cloud, off the cloud, to a new tool, off an old tool, addressing EOLs, and upgrading packages—this process doesn't have to suck.

By
Lauren Craigie
-
May 28, 2024

Software migrations are an inevitable part of running any technical organization. Whether you're upgrading your database, moving to a new cloud provider, or modernizing legacy applications, migrations are necessary to keep software efficient and secure. Unfortunately, migrations are often a slow and messy processes, dragging across months and potentially years. They are difficult to coordinate, from both managerial and technical standpoints, and often cause a lot of frustration for those involved. 

With an internal developer portal like Cortex, you can transform the way your organization approaches its migrations and cut the time it takes by more than half. Engineering teams can navigate the complexities of modern software environments with confidence and efficiency by embracing an IDP as a strategic tool for migration management. In this article, we will look at the first step of a Cortex supported migration —defining the right scorecard.

Risks of delaying software migrations

Migrations are necessary when, for example, you need  to enable new software capabilities, move away from software with known vulnerabilities or when it’s at the end of its life, or align services with an existing tech stack. When migrations are slow and delayed, various problems arise: 

  • Security risks increase: Sometimes it’s necessary to move to a newer version of a software with security patches and updates. While the old services continue to run on insecure software, they are vulnerable to security breaches, which become more exploitable to malicious hackers the longer these vulnerabilities are known to the public.
  • There’s an opportunity cost: Migrations can directly lower costs to a business, for example, when the existing software is inefficient and requires additional resources to run. Cloud services like AWS often charge less for newer hardware, which means that delaying the migration comes at a cost.
  • Additional feature development is put on hold: In some cases, a pending migration can slow or stop feature development. If the migration is anticipated to change the way code is executed, for example, engineering may push back on developing a new feature and cause a chain of delays for other teams.
  • Efforts are duplicated: If a feature must be built before a migration, a team might have to rewrite the feature when the code is no longer compatible, wasting a ton of time for a team without providing further value to their users. When a migration takes too long, the number of migrations stack, causing further repeated efforts by infrastructure and product teams.
  • Overhead increases: Without a way to automate alignment, someone will need to manually ensure everyone moves over at the right time. If we’re talking about an EOL initiative, the time and effort associated with an exemption request can blow out any previously held plans for an entire quarter. 

What are scorecards? 

Cortex Scorecards allow you to define a desired end state for your software and automatically identify which components don't meet that criteria. You create scorecards with simple scripts that specify rules such as:

  • Check that services are not using deprecated versions (e.g., check for log4j v2.15)
  • Verify that components have been migrated (e.g., containerized with a Helm chart)
  • Ensure compliance with new standards (e.g., new security or licensing requirements)

Cortex queries your entire software catalog against these rules and provides a rating to the service based on your specifications. It can then automatically notify owners, display tasks in their workflow, and track progress toward the goal. Teams can create scorecard Initiatives, a feature that allows you to break off specific sections of your scorecard to focus on high-priority or cross-company goals, like a migration. Initiatives organize tasks around a deadline so that teams understand their commitments.

Getting started with scorecards is straightforward. After connecting all your services to Cortex, you can determine the criteria for your scorecard and create it using custom scripts. Once the scorecard is created, it’s easy to add it to all of the services that you need to migrate and track their progress.

Let's say, for example, that you need to upgrade all uses of MySQL 5.7 to 8.0 within the next month. After your services are integrated with Cortex, you would create a scorecard with a rule to identify any services still on 5.7. Cortex scans your catalog, flags the non-compliant services, and alerts the owners. The owners see a task in their dashboard to perform the upgrade, with a due date. Leadership can then track what percentage of services have been migrated and proactively identify blockers or lagging teams. This simple process replaces spreadsheets, manual tracking, and repeated nagging with a more automated, scalable approach to migrations.

Using Scorecards to track migrations

Scorecards help make migrations more efficient and less painful in the following ways:

There’s less policing: SREs and program managers don’t have to chase people down to check progress, coordinate efforts, and make constant reminders, which saves time and effort.

They provide a quick overview: With scorecards, teams can instantly see which services have been migrated, which ones are in progress, and which ones are falling behind. This allows them to identify and address issues quickly, keeping the migration on schedule. Leadership can easily track statuses across the entire organization.

They do away with the need for inefficient, custom tracking methods: Scorecards automate tracking and reporting, reducing the risk of errors and inconsistencies that can occur with manual tracking. This allows teams to focus on the migration itself. Scorecards provide a centralized, real-time view of migration status, eliminating the reliance on spreadsheets, emails, and chat messages. 

Services won’t get left behind: Scorecards automatically identify and alert owners to any stragglers, ensuring that all services are accounted for and are making steady progress toward the migration goal. This helps prevent delays and ensures a comprehensive migration.

They save time: By automating tracking and follow-up, scorecards allow migration managers to focus on higher-level strategy and coordination. This helps them allocate resources effectively, anticipate challenges, and drive the migration forward.

Overall migration processes are faster: By streamlining tracking, communication, and coordination, scorecards help organizations realize the benefits of their new infrastructure or platform faster. This minimizes disruption to operations and allows teams to start using the new environment sooner.

Case studies

Let’s explore some examples of Cortex users that were able to improve their migration processes with scorecards.

Outreach

Outreach, a leading sales execution platform company, needed to upgrade the versions of AWS on which they ran their services. AWS often retires older versions of its software as part of its end-of-life (EOL) policies, and they eventually require customers to upgrade to newer versions. Customers running unsupported software are at risk if something does go wrong, and eventually AWS requires that customers fill out exemptions or risk their services being shut down, and they incur additional costs for running on older software.

Before Cortex, the technical program manager responsible for the AWS infrastructure spent hours every week manually identifying which services were using EOL versions, notifying owners via Slack and email and tracking remediation. Owners often missed or ignored the notices, forcing her to nag them repeatedly or fill out exemption paperwork. Once the organization onboarded to Cortex, she wrote a simple script to automatically find EOL versions, alert owners, and track migration progress in a scorecard. Cortex enabled Outreach to migrate 97% of their affected services in just 3 weeks—a process that used to drag on for months. The TPM eliminated hours of busywork while ensuring a faster, more complete upgrade.

Example Scorecard for an AWS EOL initiative

LetsGetChecked

LetsGetChecked, an at-home health testing company, used scorecards to accelerate a major architectural migration to Kubernetes. The migration promised to save them about 75% on their recurring infrastructure costs, so speed of execution was critical. However, migrations of this scale can be complex and time-consuming. They used scorecards to track and manage two key aspects of their Kubernetes migration: 

  • Containerizing services: They used scorecards to identify which services still needed to be containerized and notified the owners, asking them to take action. The services were running outside of containers, leading to inconsistencies in performance and difficulties in scaling their systems.
  • Provisioning Helm charts: Scorecards helped track which services were missing Helm charts, which are used to define, install, and upgrade Kubernetes applications. Helm charts can reduce the complexity of migrating applications to Kubernetes, promote standardization, and enable easier management and updates of applications post-migration.

To make sure new services met the standards, they also set up service templates in Scaffolder to provision new services so that they were containerized and had the necessary Helm charts upon creation, preventing new services that weren’t compliant from being spun up.

LetsGetChecked slashed their migration time from the original estimate of 24 months to 16 months by using Cortex Scorecards and Scaffolder to drive their efforts, realizing substantial infrastructure savings 8 months earlier than originally planned. Scorecards kept their teams aligned and on track to make dramatic improvements to their services.

Use Scorecards to cut your migration time 

Scorecards empower teams to navigate complex migration processes with efficiency and confidence by automating tracking, enforcing standards, and providing real-time visibility. Backing your migrations with scorecards makes them less difficult, allowing teams to focus on innovation and growth rather than getting bogged down in tedious coordination and manual tracking. If you want to discover if scorecards can help your organization with migrations, book a demo with us today.

Migrations
By
Lauren Craigie
What's driving urgency for IDPs?