The Growth of ARM Architecture

As you may know, the ARM architecture has been spreading little by little from the cell phone and tablet market to the computing world in general, partly thanks to the success of Raspberry and the licensing facilities that the architecture has. Today we will focus on the offer of the main players in the world of the cloud, such as AWS, Azure, OCI, and GCP.

The offering of ARM instances in the cloud began a few years ago with the partnership of Docker & ARM and was formally announced in April 2019. This strategic partnership enabled cloud developers to build applications for the cloud, edge, and IoT environments seamlessly on the ARM architecture. With this announcement, Amazon published the brand new AWS Graviton instances with better performance per watt and lower costs.

Two years later, Oracle made its ARM offering available on OCI, and a few months after that Azure did the same with a preview for some customers, and the full offering became widely available later. The last cloud with an official offer is GCP, which announced the availability of its ARM instances in July of this year.

But, what are the reasons why it became so popular in such a short time? The answer is easy: 

  • Low power consumption
  • Fair and open licensing
  • Low cost of entry

For this reason, ARM became so popular with the DIY communities thanks to the evolving market of SoC (System on Chip) boards like Raspberry. After this evolution and market adoption, a serious offer emerged and is now available in the cloud, with a lot of features that we want for our systems.

The next question commonly asked is “can my stack run on this platform without breaking changes?” The answer most of the time is yes, with a few changes or adjustments, you can join one of these clouds and save a lot of money in the process. Programming language support includes the traditional C, C++ and Fortran, the ubiquitous Java and Python, modern Go and Rust, the exotic Haskell and Elixir, and finally, Javascript.

If you were already using containers with Docker, now all you need to do is change the traditional command “build” to “buildx” and the support for our container to be executed in ARM will be ready.