Kuzzle blog

How to use Kuzzle Backend with Apple ARM processors ?

Written by Kuzzle Team | March 07, 2022

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.

Why this feature?

 

 

 

 

 

 

 

 

 

 

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.

Show me the solution!

 

We realized that Kuzzle Backend could not be run on the arm 64 chips for two reasons:

  • The first is that Kuzzle Backend uses a modified elasticsearch image and one of these modifications was not supported by the new Apple processor.
  • The second is that all our docker images were built on an amd64 architecture only.

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.

 

 

How to launch Kuzzle Backend with an M1? 

Install Docker :

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:

Set up Kuzzle Backend:

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.

 

 

Install Kuzzle Backend:

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/

 

Conclusion


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.

 

Join our community! 

 

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