Introducción

En el desarrollo de software, la necesidad de aplicaciones ligeras, eficientes y escalables nunca ha sido tan crucial. Micronaut, un framework moderno basado en JVM, está diseñado para satisfacer estos requisitos con sus características eficientes y fáciles de usar. En este artículo, exploraremos el proceso de despliegue de aplicaciones Micronaut en tres plataformas de nube populares: Amazon Web Services (AWS), Google Cloud Platform (GCP) y Microsoft Azure.

Requisitos previos

Para seguir los ejemplos, asegúrate de que tienes las siguientes herramientas y cuentas configuradas:

  1. JDK 8 o más reciente instalado
  2. Micronaut CLI instalado
  3. Cuentas de AWS, GCP y Azure con el acceso adecuado.

Creación de una aplicación Micronaut sencilla

Antes de desplegar la aplicación, vamos a crear una simple "¡Hola, Mundo!" Micronaut utilizando la CLI.

$ mn create-app --features http-server com.example.helloworld
$ cd helloworld

Esto generará una estructura básica de proyecto Micronaut. Abra el archivo src/main/java/com/example/helloworld/HelloController.java y añada el siguiente código:

package com.example.helloworld;

import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Get;

@Controller("/hello")
public class HelloController {

    @Get
    public String hello() {
        return "Hello, World!";
    }
}

Ahora, construye y ejecuta la aplicación localmente usando:

$ ./gradlew run

Debería ver el mensaje "Hello, World!" al acceder a http://localhost:8080/hello.

Despliegue en AWS

Para desplegar nuestra aplicación Micronaut en AWS, utilizaremos el servicio AWS Elastic Beanstalk. Primero, crea un paquete de aplicación ejecutando:

$ ./gradlew assemble

Esto creará un archivo JAR en el directorio build/libs. A continuación, inicie sesión en su consola de administración de AWS, navegue hasta la consola de Elastic Beanstalk y siga estos pasos:

  1. Haga clic en "Crear nueva aplicación"
  2. Introduzca el nombre y la descripción de la aplicación
  3. Seleccione la plataforma "Java
  4. Cargue el archivo JAR desde el directorio build/libs
  5. Haga clic en "Crear aplicación".
CPU
1 vCPU
MEMORIA
1 GB
ALMACENAMIENTO
10 GB
TRANSFERENCIA
1 TB
PRECIO
$ 4 mes
Para obtener el servidor GRATIS debes de escribir el cupon "LEIFER"

Una vez completado el proceso de despliegue, recibirás una URL para tu aplicación Micronaut.

Despliegue en GCP

Para el despliegue en GCP, utilizaremos Google App Engine (GAE). En primer lugar, instala el SDK de Google Cloud y autentica tu cuenta. A continuación, crea un archivo app.yaml en el directorio raíz de tu proyecto con el siguiente contenido:

runtime: java11
entrypoint: 'java -jar ./build/libs/helloworld-0.1-all.jar'

Ahora, despliegue la aplicación utilizando el siguiente comando:

$ gcloud app deploy

Una vez realizado el despliegue correctamente, recibirá una URL para su aplicación Micronaut.

Despliegue en Azure

Para desplegar en Azure, utilizaremos Azure App Service. En primer lugar, instala Azure CLI y autentica tu cuenta. A continuación, cree un nuevo grupo de recursos y un plan de App Service:

$ az group create --name myResourceGroup --location "East US"
$ az appservice plan create --name myPlan --resource-group myResourceGroup --sku FREE

Ahora, cree la aplicación web y despliegue el archivo JAR:

$ az webapp create --resource-group myResourceGroup --plan myPlan --name myAppName --runtime "JAVA|11" --deployment-local-git
$ az webapp config set --resource-group myResourceGroup --name myAppName --java-version 11
$ az webapp deployment source config-local-git --resource-group myResourceGroup --name myAppName

Esto devolverá una URL de repositorio Git. Añade el remoto de Azure y empuja tu código:

$ git init
$ git add .
$ git commit -m "Initial commit"
$ git remote add azure <repository-url-from-previous-step>
$ git push azure master

Azure creará y desplegará automáticamente su aplicación. Una vez completado, recibirás una URL para tu aplicación Micronaut.

Conclusión

Hemos cubierto los aspectos básicos de la implementación de una aplicación Micronaut simple en tres plataformas en la nube populares: AWS, GCP y Azure. Cada plataforma ofrece su propio conjunto único de características y beneficios, pero la facilidad de despliegue de aplicaciones Micronaut sigue siendo constante en los tres. Con estos conocimientos, ya estás preparado para empezar a desarrollar y desplegar tus propias aplicaciones Micronaut en la nube.

Recuerde explorar la documentación y las mejores prácticas de cada plataforma para optimizar completamente su proceso de despliegue y aprovechar los diversos servicios que ofrece cada proveedor de la nube.

A medida que continúe desarrollando con Micronaut, descubrirá que la flexibilidad y eficiencia del marco de trabajo es un activo valioso para crear y desplegar aplicaciones modernas y escalables.

  1. Documentación de Micronaut
  2. Documentación de AWS Elastic Beanstalk
  3. Google App Engine
  4. Documentación de Azure App Service

Fuente