Esta demo tiene una sencilla aplicación web que expone una API REST; está implementada en Python usando fastapi y la ejecutamos con uvicorn.
En esta demo se simula que la API depende de dos servicios, que pueden estar o no disponibles según cierta probabilidad. La API está disponible si los dos servicios de los que depende están disponibles.
La API tiene un endpoint para devolver un saludo o un error dependiendo de que los servicios de los que depende estén disponibles. La probabilidad de que los servicios estén disponibles se puede configurar. El valor predeterminado es 1 para ambos servicios indicando que están siempre disponible.
Hay otros dos endpoints en la API para cambiar la probabilidad de la disponibilidad de los servicios por un valor entre 0 y 1.
La demo incluye también los scripts de K6 para probarla.
Para ejecutar esta demo usa los comandos que están aquí. Con el complemento Azure CLI Tools es posible ejecutar los comandos directamente desde Visual Studio Code.
Una vez que ejecutes la aplicación, puedes ver la documentación de los endpoints con Swagger.
-
Python
A partir de los resultados de K6 y utilizando diferentes valores de probabilidad de disponibilidad para ambos servicios, calcular la disponibilidad de la API REST.