danielsp13 / CorrectIt

CorrectIt: un corrector de exámenes escritos en lenguaje natural.
GNU General Public License v3.0
0 stars 0 forks source link

[M2 - Dev] Elección de imagen base #62

Closed danielsp13 closed 1 year ago

danielsp13 commented 1 year ago

El objetivo es definir un contenedor Docker en el que se puedan ejecutar los test unitarios. El primer paso, es este, elegir una imagen base sobre la que trabajaremos a posteriori añadiendo lo que se necesite.


Los criterios para la elección de esta imagen son las siguientes:

  1. Tamaño. Se debe elegir la imagen que tenga el menor tamaño posible. El motivo es que no debe contener nada más que lo imprescindible de fábrica. De la mano tendrá como consecuencia un despliegue rápido del contenedor.
  2. Seguridad. La imagen base no debe tener vulnerabilidades importantes que puedan comprometer a la aplicación.

Los anteriores criterios, son los fundamentales que se deben verificar. No obstante, hay que tener en cuenta tres alternativas.

Si se opta por tomar a) ó b), hay más criterios a tener en cuenta:

  1. A. Disponer de la última versión de Python. Se debe verificar que dispone de Python 3.
  2. A. Disponer de la utilidad pip: Se debe verificar que dispone de pip, utilidad que permite instalar otras bibliotecas. En nuestro caso será para instalar el gestor de dependencias poetry, y el gestor de tareas poethepoet.

Si se opta por tomar c), hay que tener en cuenta:

  1. B. Disponer de gestor de paquetes (u otra utilidad de descarga/instalación) que permita instalar la última versión de Python. Si no dispone de este lenguaje, habrá que instalarlo.
  2. B. Disponer de la utilidad pip: Con el mismo motivo que 4.A.

Además, se tendrán en cuenta las mejores prácticas y recomendaciones en cuanto al despliegue de aplicaciones Python en contenedores virtuales, como por ejemplo:

También se tendrá en cuenta el uso de herramientas como Snyk Advisor: Docker como apoyo para la elección de las imágenes candidatas.