Skip to content

In-Place Upgrade Overview

Warning

The in-place upgrade process is deceptively simple. It's essential to be aware that if anything goes wrong during the upgrade, it is significantly harder to rollback compared to parallel upgrades.

An in-place upgrade is when you upgrade the application and its dependencies directly on the existing server. In-place upgrades are simpler to perform since they require no new infrastructure, but they introduce significant risk due to their destructive nature. If an upgrade fails, it can leave the system in an error state with the server unable to start. Unless you're prepared with a rollback plan, this can result in significant downtime as you work to resolve the issue.

The general steps for performing an in-place upgrade are as follows:

  • Bring down the app server
  • Take a database and custom configuration backup
  • Update any dependencies as required by the new app version
  • Download the new app version
  • Start the server and run checks to verify it's working
  • Optionally uninstall old dependency versions

Tradeoffs

  • Positives

    ✅ Minimal cost impact and requires no infrastructure changes

    ✅ Avoids needing to copy over any custom configuration and settings

    ✅ When successful, will be faster than parallel upgrades

  • Negatives

    ⚠ Much harder to roll back the upgrade if something goes wrong

    ⚠ Higher risk of downtime and service disruption, especially when dependency upgrades are involved

    ⚠ Once you start, it's hard to turn back

    ⚠ Cannot test the upgrade in parallel. Once you start, you'll be incurring downtime