Spring Boot facilita la creación de aplicaciones independientes que están listas para usar y ejecutar. También es una excelente alternativa si está buscando acelerar el ciclo de desarrollo de su aplicación. Hay muchas formas de hacer deploy de su aplicación Spring Boot en la nube. En este tutorial, te mostraré tres formas diferentes:

  1. Azure
  2. Amazon Web Services (AWS)

Para esto utilizaremos una aplicación simple que explique en posts anteriores. Esta aplicación sirve para generar códigos QR y ahora vamos a aprender a desplegar esta aplicación en la nube.

Azure

Microsoft ha invertido en Java últimamente; una asociación con Azul Systems y la adquisición de jClarity, naturalmente, la implementación en Azure no es difícil.

Hay que asegurarse de tener una cuenta activa registrándose en el sitio web de Azure. El primer paso es instalar la CLI de Azure en su equipo. Lo usaremos para iniciar sesión en Azure desde una terminal de línea de comandos.

Para correr la aplicación en azure sin problemas tenemos que agregar algunos parámetros a nuestro pom.xml. Estos parámetros incluyen:

  • Nombre de nuestra aplicación
  • La región en donde se va a desplegar
  • La versión del runtime de java que necesitamos
  • Pricing Tier

recuerden que estos parámetros influyen en gran medida los costos de correr nuestra aplicación en esta plataforma. Para tener una idea de cuanto puede costar pueden echarle un vistazo a la pagina de precios.

<plugin>
    <groupId>com.microsoft.azure</groupId>
    <artifactId>azure-webapp-maven-plugin</artifactId>
    <version>1.10.0</version>
    <configuration>
     <schemaVersion>v2</schemaVersion>
     <resourceGroup>maven-plugin</resourceGroup>
     <appName>QR-Generator</appName>
     <region>East US</region>
     <runtime>
         <os>linux</os>
         <javaVersion>jre8</javaVersion>
         <webContainer></webContainer>
     </runtime>
     <deployment>
         <resources>
             <resource>
                 <directory>${project.basedir}/target</directory>
                 <includes>
                     <include>*.jar</include>
                 </includes>
             </resource>
         </resources>
     </deployment>
     <pricingTier>F1</pricingTier>
    </configuration>
</plugin>

el pricingTier indica “F1” que es el nivel de servicio gratuito de Azure, recuerden es muy básico, perfecto para iniciar!

Dado que Azure maneja un contexto seguro (https) por nosotros y lo ejecutaremos detrás de su proxy, también necesitamos actualizar nuestra configuración de Spring para seleccionar los encabezados HTTP estándar y construir correctamente las URL de redireccionamiento. Simplemente agregando esta línea al archivo application.properties:

server.forward-headers-strategy=FRAMEWORK

Una vez que haya configurado pom.xml y el archivo application.properties, la implementación consiste en abrir una terminal de línea de comandos, iniciar sesión en Azure y ejecutar el objetivo de Maven para realizar el deploy. Para iniciar sesión en Azure, use el comando az login. Esto abrirá su navegador web para el proceso de inicio de sesión y luego imprimirá la información de su cuenta en la consola. A continuación, ejecute el comando mvn package para asegurarse de que su aplicación esté construida. Después de iniciar sesión, use el comando mvn azure-webapp: deploy para hacer deploy de su aplicación en la nube de Azure. Entonces, todo el proceso se ve así:

$ az login
$ mvn package
$ mvn azure-webapp:deploy

Después de eso, su aplicación se implementará en Azure.

Ahora bien, para probar la app debemos acceer a ella con el siguiente formato:

https://<nombre_de_la_app>.azurewebsites.net/<ruta>

reemplazando el nombre de la aplicación y alguna ruta que funcione.

Y así de fácil su aplicación estará corriendo en azure.

Amazon Web Services (aws)

Hacer un despliegue de nuestra aplicación java en AWS es fácil usando el producto Elastic Beanstalk

Para eso iniciamos sesión en nuestra cuenta de AWS, y buscamos Elastic Beanstalk, vemos una pantalla algo asi:

y llenamos los campos como sigue:

Primero el nombre de la aplicación:

Luego viene la sección de etiquetas, para esta aplicación en especifico vamos a dejar en blanco esta sección.

Luego llenamos la información de la plataforma en donde nuestra aplicación va a correr

Luego cargamos el jar o war de nuestra aplicación compilado:

Y finalmente damos click en el botón de crear aplicación

esto lanzara el proceso:

Y finalmente podremos ver nuestra aplicación en la pagina principal de elastic beanstalk.

y podemos acceder a la aplicación en la siguiente url:

http://qrcodegenerator-env.eba-qkxxvrza.us-east-1.elasticbeanstalk.com/

Y asi es como desplegamos nuestra aplicación spring boot en la nube 🙂

Tagged in:

, , , ,