El cumplimiento de las normas cloud-native en nuevos desarrollos facilita la creación de sistemas aptos para su despliegue en la nube, pero cuando se trata de software ya existente, no siempre es posible cumplir todas las normas y recomendaciones con un esfuerzo de desarrollo razonable.
La siguiente guía se centran en destacar los aspectos imprescindibles a la hora de modernizar un código para su despliegue en un entorno CaaS. No seguirlas impedirá el despliegue a la misma.
Gestión de dependencias
Toda dependencia con software propio o de terceros debe estar identificada y gestionada.
Ver el apartado “Dependencias”, de “Normas generales de desarrollo Cloud Native” para más información al respecto.
Persistencia de la información
La persistencia de la información gestionada por el sistema debe realizarse en almacenamientos externo.
Ver el apartado “Backing Services”, de “Normas generales de desarrollo Cloud Native” para más información al respecto.
Gestión de la información de sesión
La información de sesión de usuario se gestionará de forma que no dependa del proceso que atiende la petición.
Ver el apartado “Procesos”, de “Normas generales de desarrollo Cloud Native” para más información al respecto.
Integración mediante APIS
Las integraciones con sistemas terceros se realizarán mediante APIs, no estando permitido el acceso directo a bases de datos de otros sistemas, acceso a ficheros compartidos, o cualquier mecanismo de interoperabilidad que no sea el uso de APIs.
Para más información, ver “Backing Services”, de “Normas generales de desarrollo Cloud Native” para más información al respecto.
Gestión de la configuración dependiente del entorno
La configuración dependiente del entorno se gestionará de forma externa a los artefactos, de forma que estos puedan mantenerse inmutables entre entornos.
Ver el apartado “Configuración”, de “Normas generales de desarrollo Cloud Native” para más información al respecto.
Control de la concurrencia
El sistema debe permitir que sus procesos sean replicados y, por tanto, tengan un comportamiento correcto al acceder de forma concurrente a los recursos que necesite.
Ver el apartado “Concurrencia”, de “Normas generales de desarrollo Cloud Native” para más información al respecto.
Facilitar la monitorización y observabilidad
Deben cumplirse las normas básicas para la correcta integración con las plataformas de monitorización y observabilidad.
Ver el apartado “Historiales (Logs)”, de “Normas generales de desarrollo Cloud Native” para más información al respecto.
Optimización del uso de recursos
Se optimizará el uso de recursos para lograr contenedores ágiles y escalables, además de evitar problemas de rendimiento o de espacio en disco.
Ver “Normas de creación de imágenes CaaS” para más información al respecto.