Índice de contenidos
- 1. Introducción
- 2. Entorno
- 3. Cuenta en Google Cloud
- 4. Conociendo la consola de Google Cloud
- 5. Generar el reporte
- 6. Conclusiones
- 7. Referencias
1. Introducción
El propósito es quitarnos el miedo a desplegar nuestra aplicación en un cloud. En este caso en Google Cloud, y ver como en poco minutos podemos tener nuestra aplicación disponible.
2. Entorno
El tutorial está escrito usando el siguiente entorno:
- Entorno de desarrollo: Intellij Idea Ultimate
- Java 1.8
- Apache Maven 3.5.0
- Navegador Google Chrome
3. Cuenta en Google Cloud
Google Cloud ofrece una prueba de evaluación gratuita para iniciarte, así que no tendrá ningún coste.
Una vez creada la cuenta, seleccionamos nuestro proyecto. En el menú de la izquierda vienen un montón de opciones:
- Productos
- Compute
- Almacenamiento
- …
Con un montón de opciones cada uno. Poco a poco. Nos vamos a quedar con App Engine de momento.
En esta pantalla, en la parte suprerior indicará el proyecto en el que estamos trabajando, y, en el menú de la izquierda, se pueden ver
otras opciones
- Panel
- Servicios
- Versiones
- …
Poco a poco. La que nos interesa ahora es la consola de shell de Google cloud.
4. Conociendo la consola de Google Cloud
Arriba a la derecha hay un icono de consola. Al pulsarlo se abre en la parte inferior de nuestra pantalla con nuestro usuario y el nombre del proyecto.
Sin miedo, es una shell: ls; pwd; mkdir myproject; …
Vamos a traer un proyecto de ejemplo de github y a desplegarlo.
git clone https://github.com/stoledano/GoogleCloudHelloWorld.git
¡Y funciona! Parece que tiene ya tiene git.
cd GoogleCloudHelloWorld; mvn clean install;
¡Y maven también funciona! Poco a poco, pero ya tenemos un jar ejecutable en la shell.
Vamos a por nuestro ejecutable
cd target; java -jar helloworld-0.0.1-SNAPSHOT.jar;
¡Y funciona! Parece que todo va bien … vamos a comprobarlo:
En la parte superior derecha de la shell tenemos varios iconos. Un cuadrado con un rombo en su interior nos permite ver nuestra aplicación desplegada sin publicar aún, en el puerto que le digamos. En este caso en el puerto 8080.
Se abre …
¡Y funciona! Parece que devuelve un magnífico "Hi from Google Cloud" .
5. Publicando nuestra app
Docker se integra muy bien con app engine. Y con docker podemos desplegar cualquier código en cualquier lenguaje. Vamos a probar con nuestra aplicación.
Sólo necesitamos Dockerfile que defina nuestro contenedor y el fichero app.yml que define las opciones de configuración de AppEngine.
runtime: custom env: flex
No se necesita demasiado para una prueba rápida. con "runtime" "custom" infica que se define en el Dockerfile, y el entorno flexible de AppEngine.
Volvemos a la consola. Vamos al directorio donde están los ficheros "app.yml" y el "Dockerfile". (en nuestro caso el raíz de la aplicación) Si se ejecuta "gcloud app deploy", en unos minutos publicará la aplicación, y será accesible desde your-project.appspot.com
¡Y funciona! Así de fácil.
6. Conclusiones
El cloud de los proveedores puede complicarse hasta donde queramos y necesitemos, pero para empezar no necesitamos saber mucho más.