Acabamos de hacer un análisis de la infraestructura de un cliente, con dos objetivos claros:
- Enseñarles las ventajas del uso de los servicios PaaS.
- Que vean que con pequeños cambios, pueden hacer compatibles sus aplicaciones con Azure PaaS.
Hablamos de un conjunto de aplicaciones repartidas en distintas tecnologías y desarrolladas por el equipo del cliente o por equipos externos, con interfaces web y bases de datos de todo tipo.
El primer paso, fue hacerles ver que Azure soporta muchas tecnologías que no son exclusivas de Microsoft y que su aplicaciones PHP o Java, eran también candidatas a ejecutarse en un App Service del PaaS de Azure
Por supuesto, hay elementos de su arquitectura que tienen que evolucionar, ya que no todo es compatible con la nube.
Tengamos en cuenta que, por diversos motivos, no debemos acceder al sistema de ficheros de los servidores donde se ejecutan las aplicaciones web. La razón es que, como bien queda reflejado en el concepto del PaaS, no somos administradores del sistema operativo donde se ejecutan estas Apps, y por lo tanto, no podemos garantizar la disponibilidad del sistema de ficheros.
Este cambio de paradigma, implica un pequeño análisis de las aplicaciones para identificar elementos que puedan ser problemáticos para la ejecución en un PaaS.
Sin embargo, la respuesta del cliente fue muy positiva, ya que entendió que los cambios suponían puntos de mejora en sus aplicaciones, lo que les permitiría evolucionar hacia un modelo de consumo de servicios.
Veamos algunos ejemplos que habría que implementar:
- No usar el sistema de ficheros local, para pasar a usar un servicio de Storage.
- Usar el servicio de identidades de Azure AD para mejorar las funcionalidades que tienen actualmente, autenticado a los usuarios en Base De Datos
- Implementar elementos de ejecución batch con arquitectura Serverless, evitando tener esa carga de trabajo en los servidores web o en servidores dedicados
App Service de Azure
Cuando tenemos claro el uso de estos servicios, podemos mantener nuestras aplicaciones en el IIS de una máquina virtual, pero en este caso, no aprovecharíamos las siguientes capacidades del App Service de Azure:
- Delegar la administración y configuración del NLB y simplemente hacer uso del servicio.
- Escalado horizontal, manual o automático de las instancias de nuestra aplicación, sin tener que configurar servidores o desplegar la aplicación en las nuevas instancias.
- Olvidarnos de la realización de las copias de seguridad.
Podemos enumerar muchas más, pero estas fueron fundamentales a la hora de determinar que los cambios en sus aplicaciones, también les a ayudarían a mejorar sus capacidades de administración.
¿Ahora con qué seguimos?
Nuestro plan es siempre muy similar, ¿Por qué no hacemos una PoC y probamos estos elementos?
Nuestro objetivo es que ganéis la confianza necesaria para que os ayudemos a adoptar la nube y definir la arquitectura más adecuada para que se aproveche al máximo los servicios PaaS de Azure.
Por supuesto, terminamos hablando de SQL Azure y las ventajas e inconvenientes frente a tener una SQL Server o un Oracle en IaaS…Pero estos argumentos merecen un capítulo aparte, que os contaremos en siguientes artículos de este blog ?.