Código de demostración
Luis Manuel Raya Bernal - IES Gonzalo NazarenoEn el siguiente enlaces tenemos un HelloWorld de pruebas: prueba de funcionamiento en local
En esta demostración del uso de un servidor Serverless voy a usar la nube de IBM, ellos tienen implantado OpenWhisk de forma comercial (BlueMix) pero permiten crearte una cuenta gratuita:
Para esta prueba he necesitado:
- Una instancia de Apache OpenWhisk (IBM Cloud, BlueMix)
- IBM Cloud CLI
- Crear una instancia de Watson Language Translator
IBM Cloud
- Nos haremos una cuenta gratuita en la nube de IBM aqui.
- Ahora instalaremos el IBM Cloud CLI, funciona igual que WSK CLI pero cambian algunas lineas, pero es exactamente lo mismo.
IBM Cloud Functions
IBM Cloud Functions maneja una instancia de Apache OpenWhisk en la nube publica. La cuenta Lite nos permite tener acceso a 400,000 GB/s gratuitos de tiempo de computo por mes.
IBM Cloud Functions esta disponible en las siguientes regiones: us-south
, us-east
, eu-gb
y eu-de
.
- Nos logueamos en IBM Cloud CLI:
ibmcloud login -a <REGION_ENDPOINTS> ibmcloud target --cf
- Vamos a instalar el plugin Cloud Functions CLI.
ibmcloud plugin install cloud-functions
Obtener la API Key
Crear una instancia del servicio Language Translator y obtener tus credenciales: Vamos a Language Translator en el Panel de control > Watson > Examinar servicios > Language Translator.
Una vez creado vamos a Panel de control > Lista de recursos > Servicios > Language Translator-XX > Credenciales y la apikey
y la url
Nota: Crear la instancia en Dallas para obter una url por defecto.
Instalación
Configurando el proyecto
- Clonar el repositorio.
git clone https://github.com/watson-developer-cloud/language-translator-nodejs.git
- Configurar ENV.
cd language-translator-nodejs && cp .env.example .env
- Abrimos el .env con nuestro editor favorito y añadimos las API's.
LANGUAGE_TRANSLATOR_IAM_APIKEY=X4rbi8vwZmKpXfowaS3GAsA7vdy17Qh7km5D6EzKLHL2 LANGUAGE_TRANSLATOR_URL=https://gateway.watsonplatform.net/language-translator/api
Ejecutar localmente la app (client-side)
- Instalar las dependencias de node.js
npm install
- Ejecutar la app
npm start
Como vemos la pagina web es local en nuestro servidor, pero estamos usando el servicio serverless de Watson para traducir la cadena que le demos y nos la devuelve en el idioma que le especifiquemos.
Desplegando la app en IBM Cloud
- Ejecutamos el comando
login
.
ibmcloud login
- Obtenemos la organización y el espacio de nombre.
ibmcloud target --cf
- Editamos el manifest.yml. Cambiamos nombre
- name: my-app-name
por el que queramos.
declared-services: language-translator-service: label: Language Translator-xx plan: lite applications: - services: - Language Translator-xx name: language-translator-serverlessow command: npm start path: . memory: 256M
Ejecución del servidor web desde la nube
- Desplegamos la app .
ibmcloud app push
- Vemos la aplicación desde la URL:
https://language-translator-serverlessow.eu-gb.mybluemix.net
Información del despliegue y control de características
Como veremos en la siguiente imagen:
- Podemos administrar la alta disponibilidad de nuestra aplicación
- La cantidad de memoria que usamos
- Sus conexiones
- Facturación
- Habilitar integración continua con servicios Git
- Un Log