16. What software has the problems?
With scientific software developed by the “non-community”. Well, for example, we start with Tensorflow: Yes, it is not under ARM64, but the developers ’ site has instructions on how to compile it from sources: it is only 3 commands and 5 minutes in the console, but as soon as you start installing libraries via pip, then you will have problems waiting for you: you need to put something with Github, look for something in the sources and compile it if you find it. There is no such excellent environment Manager as Anaconda under ARM64 at all, and as a result, the Keras libraries, including matplotlib, pandas and others are full of errors when installing.
Of course, you can’t check all the software in the review and tell us everything, but you should understand that for some SOFTWARE that is not part of the linux distribution, it is better to add an abstraction level and use third-party builds, if available. And here, for the first time in all my acquaintance with the Taishan server, I meet a serious drawback of this entire project: Huawei does not have any service or mini-market like Bitnami, from which you can download applications Packed in a container or virtual machine.
17. How about virtualization?
The company VMware in October last year showed ESXi on the ARM architecture, but so far this is a matter of distant prospects, and today virtualization works only under Linux, and without emulation of x86/AMD64. This means that you can only install ARM64-based operating systems inside the VM, and you will not have compatibility with the Intel/AMD-based stack.
Let’s put it this way: not very good, because the hypervisor does not have x86 emulation, which means you can virtualize, but all your VMS will have the ARM64 architecture. Simply put, you will not install Windows via the hypervisor, and you will not get compatibility with the Intel/AMD-based stack, so either you will have to build a closed cluster on the aarch64/ARM architecture (and we know that this is how professionals build their data Centers), or use container virtualization, and run Docker pods under KVM.
18. How about containers?
Everything is fine: Docker is installed the same way for both x86 and ARM64. Using Portainer, I combined the server on AMD EPYC and our test Huawei Taishan 2280 v2 in one interface to show visually that you can have a common interface for managing your containers under any platform. True, you can’t transfer image files between AMD64 and ARM64, but you can pack your app into a docker image yourself and convert it to any architecture.
If you Google deep, you can find that people manage to build (example 1, example 2) a shared cluster with hosts on x86 and ARM64, but mostly we are talking about Raspberry Pi and TV boxes. If you do not set a goal to make friends with architecture from different eras, you can not bother and leave everything as it is.
I think it’s unnecessary to say that Nginx, Redis, MySQL/Mariadb, and even ready-made Wordpress/Drupal/Joomla images are installed in one click.