Las API se diseñan normalmente como sin estado, lo que significa que no almacenan datos de solicitudes ni retienen información entre sesiones. Esta naturaleza sin estado es crucial cuando se evalúan métodos de escalabilidad. Las API sin estado no requieren replicación de datos entre instancias, lo que hace que el escalado horizontal sea más eficiente y fácil de implementar. Los administradores del sistema pueden añadir o eliminar máquinas virtuales según sea necesario sin afectar a las operaciones de API, ya que el cliente de API no depende de instancias de servidor específicas para funcionar.
No hay nada malo en tener un sistema con estado. De hecho, puede ser esencial para el funcionamiento deseado de la aplicación. Sin embargo, resulta mucho más complicado ejecutar el escalado horizontal para una aplicación con estado. Para hacerlo, sería necesario copiar los datos almacenados de la versión original de la aplicación en nuevas instancias.
Por el contrario, una aplicación o API sin estado no almacena datos de solicitud. No conserva los datos de la sesión en la memoria. Cada vez que se inicia una sesión, es como si la aplicación se reuniera con el cliente por primera vez. Una vez finalizada la sesión, se acabó todo, sin que se conserven los datos de la sesión en la memoria.
El escalado horizontal es posible para una aplicación sin estado porque no importa qué máquina virtual responda a las llamadas de API. El cliente de API puede llamar a un número infinito de máquinas virtuales que alojan la API, y nunca importará. Los administradores del sistema pueden añadir o eliminar tantas máquinas virtuales como deseen sin que ello afecte al funcionamiento de la API.