Les API sont généralement conçues sans état, ce qui signifie qu'elles ne stockent pas les données de demande ou ne conservent pas les informations entre les sessions. Cela doit être absolument pris en compte lorsque vous devez choisir entre les méthodes de montée en charge. Les API sans état ne nécessitent pas de réplication des données entre les instances, ce qui rend la montée en charge horizontale plus efficace et plus facile à mettre en œuvre. Les administrateurs système peuvent ajouter ou supprimer des machines virtuelles selon les besoins sans affecter les opérations d'API, car le client API ne dépend pas d'instances de serveur spécifiques pour fonctionner.
Les applications avec état ne sont pas pour autant un problème. En effet, elles peuvent être essentielles pour le bon fonctionnement de l'application. Cependant, la montée en charge horizontale est plus difficile à mettre en place pour une application avec état. Elle nécessiterait la copie des données stockées de la version d'origine de l'application vers de nouvelles instances.
Une application ou une API sans état, en revanche, ne stocke pas les données de demande. Elle ne conserve pas les données de session en mémoire. Chaque fois qu'une session démarre, c'est comme si l'application rencontrait le client pour la première fois. Une fois la session terminée, aucun souvenir de celle-ci n'est conservé.
La montée en charge horizontale est possible pour une application sans état, car n'importe quelle machine virtuelle peut répondre aux appels d'API. Le client API peut appeler un nombre infini de machines virtuelles hébergeant l'API, et cela n'aura jamais d'importance. Les administrateurs système peuvent ajouter ou supprimer autant de machines virtuelles qu'ils le souhaitent sans affecter le fonctionnement de l'API.