Can my application run on an x86 or ARM server?
An application must support the server’s processor architecture as well as its operating system. x86-64 and ARM64 packages or container images are not interchangeable by name alone. Source code may be portable while a native dependency, installer or licensed component is not.
Before you start
- An inventory of applications, native libraries, agents and container images.
Instructions
1. Check every executable dependency
Review the vendor’s supported platform matrix for the chosen release. Include database engines, drivers, security agents, control panels and backup clients. Confirm the required CPU features and operating-system version, not just whether a download mentions Linux.
2. Inspect container and build support
A multi-platform container image can provide different variants for different architectures. Verify that the exact tag or digest includes the required platform and that the build process produces the expected executable. Emulation may help testing but can change performance and is not a substitute for vendor support.
3. Prove compatibility before committing
Use a test instance with the intended architecture to run installation, startup, representative transactions and recovery checks. Compare performance and support costs with the current platform. Confirm how you will rebuild or replace architecture-specific artifacts during a migration.
Check the result
- All required components have a supported build for the selected architecture.
- Representative application and recovery tests succeed on that architecture.
Troubleshooting
- A container fails with an executable format error
- Check the image platform and the architecture of binaries copied into it. Selecting an ARM64 base image does not convert an x86 executable.
Official references
Use the documentation for your installed version when a flag, service name or platform feature differs.
