El crecimiento de la arquitectura ARM
Como ya sabrás, la arquitectura ARM se ha ido extendiendo poco a poco desde el mercado de los móviles y las tabletas al mundo de la informática en general, en parte gracias al éxito de Raspberry y a las facilidades de licencia que tiene la arquitectura. Hoy nos centraremos en la oferta de los principales actores del mundo de la nube, como AWS, Azure, OCI y GCP.
La oferta de instancias ARM en la nube comenzó hace unos años con la asociación de Docker & ARM y se anunció formalmente en abril de 2019. Esta asociación estratégica permitió a los desarrolladores de la nube crear aplicaciones para la nube, el borde y los entornos IoT sin problemas en la arquitectura ARM. Con este anuncio, Amazon publicó las nuevas instancias AWS Graviton con mejor rendimiento por vatio y menores costes.
Dos años más tarde, Oracle puso su oferta ARM a disposición de OCI, y unos meses después Azure hizo lo mismo con una vista previa para algunos clientes, y la oferta completa se generalizó más tarde. La última nube con una oferta oficial es GCP, que anunció la disponibilidad de sus instancias ARM en julio de este año.
Pero, ¿cuáles son las razones por las que se hizo tan popular en tan poco tiempo? La respuesta es fácil:
- Bajo consumo de energía
- Licencias justas y abiertas
- Bajo coste de entrada
Por este motivo, ARM se hizo tan popular entre las comunidades de bricolaje gracias a la evolución del mercado de placas SoC (System on Chip) como Raspberry. Tras esta evolución y la adopción del mercado, surgió una oferta seria que ahora está disponible en la nube, con muchas de las características que queremos para nuestros sistemas.
La siguiente pregunta que suele hacerse es “¿puede funcionar mi pila en esta plataforma sin cambios de última hora?”. La respuesta la mayoría de las veces es sí, con unos pocos cambios o ajustes, puede unirse a una de estas nubes y ahorrar mucho dinero en el proceso. El soporte de lenguajes de programación incluye los tradicionales C, C++ y Fortran, los omnipresentes Java y Python, los modernos Go y Rust, los exóticos Haskell y Elixir y, por último, Javascript.
Si ya estabas usando contenedores con Docker, ahora sólo tienes que cambiar el comando tradicional “build” por “buildx” y ya estará listo el soporte para que nuestro contenedor se ejecute en ARM.