How to make your Kuzzle Backend compatible with the new Apple processor architecture? We tell you everything in our article!
Version française
At the end of 2020, Apple announced that it would market its processors, the M1 chips, and ended its collaboration with Intel.
At the launch of the new ARM architecture of Apple processors, some solutions were not yet compatible. Kuzzle Backend being one of them, our team worked to make our backend usable with this chip architecture.
Apple's new computers now run on the Apple Silicon ARM architecture and bring the x86 architecture era to an end.
The main difference between the two architectures lies in the choice of instruction set design. Indeed, x86 is a CISC (Complex Instruction Set Computer) architecture, while ARM is a RISC (Reduced ISC) architecture.
However, most applications or solutions are designed for Intel's x86 architecture. We had to analyze where the accounting errors come from to solve them and thus use Kuzzle Backend without loss of performance on a computer equipped with a processor with ARM architecture.
We realized that Kuzzle Backend could not be run on the arm 64 chips for two reasons:
We changed the configuration of our elasticsearch image, then re-built and deployed our docker images with support for both amd64 and arm64 architectures to allow compatibility.
To use Kuzzle Backend on your Macbook m1, you need Docker and Docker-compose. If you don't already have these tools, you can check out these tutorials:
Next, you need to set your Docker Desktop application to have at least 3GB of ram allocated. To do this you need to go to the Docker Desktop application settings and then to Resources. You will be able to manage your allocated RAM with the Memory section.
If you do not have an existing Kuzzle Backend application, please refer to the documentation below to easily create one: Run Kuzzle Backend
Once in your application, Kuzzle Backend has installed all the dependencies associated with its proper functioning through the following command:
npm install: docker
You can now launch your Kuzzle Backend application with the command:
docker-compose up
Remember to read the full documentation and check out our Getting Started.
A "Godoc" is also generated from Github via the comments we leave in the code: https://pkg.go.dev/github.com/kuzzleio/sdk-go/
We hope that our article will help you to use Kuzzle Backend at 100% of its capabilities with the new Apple M1 processor.
The details of each step to solve the accounting shortage will allow you to cope with it easily.
Kuzzle Backend is constantly evolving, as is our community, so come join us on Discord at http://join.discord.kuzzle.io.
We are free software, so don't hesitate to contribute ;)
https://github.com/kuzzleio/kuzzle/
https://github.com/kuzzleio/kuzzle/blob/master/CONTRIBUTING.md