Elección del destino adecuado

Completado

Hemos visto las opciones disponibles para implementar una aplicación de Java en la nube y, más concretamente, en Azure. Pero ¿qué opción se adapta mejor a sus necesidades específicas? Esta es una guía para ayudarle a elegir.

¿Plataforma como servicio o control de infraestructura?

La primera pregunta que se debe plantear es si quiere tener un control total de la aplicación o si prefiere usar una solución de plataforma como servicio (PaaS). Normalmente, la respuesta depende de las necesidades del equipo con el que esté trabajando.

Las soluciones PaaS son más fáciles de usar. Muchos equipos las prefieren porque ofrecen un costo más bajo, mejor confiabilidad y mayor seguridad.

Los equipos eligen soluciones de PaaS por los siguientes motivos:

  • Deben ir a producción rápidamente y solo tienen un equipo de operaciones limitado, o ni siquiera lo tienen.
  • Tienen ciertos requisitos de alta disponibilidad, seguridad o cumplimiento, y pueden satisfacer estas necesidades con características integradas que proporciona un servicio administrado.
  • Podrían no tener los recursos o la voluntad para mantener una infraestructura de nivel de producción.

Pero algunos equipos prefieren tener un control total sobre su infraestructura, principalmente por los siguientes motivos:

  • Si usa un software propietario específico o características de Java no comunes, es posible que un servicio administrado no se ajuste a sus necesidades. Por ejemplo, puede que quiera usar la transmisión de red para buscar los nodos de la aplicación, y esta característica no está disponible en un servicio administrado.
  • Puede que quiera usar una biblioteca nativa específica, que tampoco podrá ejecutarse en un servicio administrado.

Elección de una solución de PaaS en Azure

Para ejecutar cargas de trabajo de Java en una solución de plataforma como servicio, Azure ofrece cuatro posibles opciones:

  • Azure Functions: ideal para cargas de trabajo simples orientadas a eventos que se pueden escalar muy bien.
  • Azure App Service: Mejor para ejecutar cargas de trabajo de Jakarta EE.
  • Azure Spring Apps: ideal para ejecutar aplicaciones de Spring Boot y, más concretamente, microservicios de Spring Cloud.

Elección del control de infraestructura en Azure

Para tener un control total sobre las implementaciones, Azure proporciona las dos opciones principales siguientes:

  • Azure Container Apps: Mejor para ejecutar aplicaciones monolíticas de Java basadas en contenedores simples.
  • Azure Kubernetes Service (AKS): Mejor para aplicaciones Java más complejas basadas en contenedores. También se beneficiará del rico ecosistema AKS.
  • Máquinas virtuales de Azure: ideales para ejecutar cualquier tipo de carga de trabajo, o si quiere migrar mediante "lift-and-shift" desde una infraestructura local existente sin tener que rediseñar las aplicaciones.

Palabras finales que le ayudarán a decidir

Decidir un destino es solo un primer paso. Cuando vaya a elegir el servicio, tenga en cuenta lo siguiente:

  • Las tareas de mantenimiento variarán en gran medida en función del tipo de servicio que elija y del conjunto de aptitudes de su equipo de operaciones.
  • Los desarrolladores usarán la plataforma a diario y, por tanto, serán más productivos si el servicio proporciona una excelente experiencia de desarrollador.

En ambos casos, su elección depende del equipo que tenga. El procedimiento recomendado consiste en elegir un destino que coincida con la experiencia y las preferencias del equipo.