The definitive guide to make software fail on ARM64
Adopting a second CPU architecture into x86-only infrastructure can be a challenging task: not only you have to find the right hardware and to learn how to properly provision it, but you also need to port the whole software stack, which was probably developed and improved for a number of years without having this second architecture in mind. And even though you might think that all the components of your stack are written in a cross-platform architecture agnostic language (like Go or Java), there are still many ways they can fail on a secondary architecture after porting. This presentation describes the issues we encountered, when porting our software to ARM64 and provides some advice for developers on how to avoid them, when writing new code.