Alexa y Kubernetes. Recap.

Alexa y Kubernetes. Recap.

Guía paso a paso para construir desplegar Alexa Skill en Kubernetes

  1. Alexa ejecutandose en Kubernetes
    1. 1. Alexa Skill como servidor web
    2. 2. Acoplamiento de la Skill de Alexa
    3. 3. Adaptador de persistencia MongoDB
    4. 4. Objetos de Kubernetes de la Skill de Alexa
    5. 5. Helm Chart de la Skill de Alexa
    6. 6. Desarrollo y despliegue local con DevSpace
    7. 7. Terraform.
      1. 7.1. Despliegue de una Alexa Skill en AWS Elastic Kubernetes Services
      2. 7.2. Despliegue de una Skill de Alexa en Azure Kubernetes Services
      3. 7.3. Despliegue de una Alexa Skill en Google Kubernetes Engine

Alexa ejecutandose en Kubernetes

En esta serie de publicaciones, encontraréis todos los recursos necesarios para transformar o crear una Skill de Alexa como una aplicación NodeJS Express lista para ejecutarse en Kubernetes. Estas son las dos opciones posibles que se puede utilizar para ejecutar nustra Skill de Alexa en kubernetes:

1. Uso de Mongo Atlas Cloud Full-width image Mongo Atlas Cloud

2. Uso del MongoDB proporcionado en el Helm Chart Full-width image Mongo proporcionado en la tabla de timones

Estas múltiples opciones son compatibles con esta implementación.

Estas son las carpetas principales del proyecto:

    ├───.vscode
    ├───alexa-skill
    ├───app
    ├───docker
    ├───helm
    └───terraform
        ├───eks
        ├───aks
        └───gke
  • .vscode: preferencias para ejecutar localmente nuestra Skill y también para pruebas locales.
  • alexa-skill: esta carpeta contiene todos los metadatos de la Alexa Skill, como el modelo de interacción, los assets, el Skill Manifest, etc. En esta carpeta podrás ejecutar todos los comandos ask cli.
  • app: el backend de la aplicación Alexa Skill en NodeJS usando Express.
  • docker: donde se puede encontrar el Dockerfile del backend de la Alexa Skill como una aplicación NodeJS.
  • Helm: el Helm Chart de la Alexa Skill listo para desplegarse en cualquier clúster de Kubernetes.
  • terraform: Archivos Terraform para diferentes tipos de cloud privadas.
    • eks: Todos los archivos necesarios para desplegar una skill de Alexa y un clúster de Kubernetes en AWS Elastic Kubernetes Service.
    • aks: Todos los archivos necesarios para desplegar una skill de Alexa y un clúster de Kubernetes en Azure Kubernetes Service.
    • gke: Todos los archivos necesarios para idesplegar una skill de Alexa y un clúster de Kubernetes en Google Kubernetes Engine.

Expliquemos todos los pasos necesarios para crear una Skill de Alexa y deplegarla en un clúster de Kubernetes. En cada paso encontraréis todos los requisitos previos necesarios para ese paso.

1. Alexa Skill como servidor web

Cómo crear una Skill de Alexa como una aplicación NodeJS usando Express. Tenéis la explicación completa aquí.

2. Acoplamiento de la Skill de Alexa

Dockerizar nuestro backend de nuestra Alexa Skill que se transformó en una aplicación NodeJS Express. Tenéis la explicación completa aquí.

3. Adaptador de persistencia MongoDB

Uso del nuevo adaptador de persistencia para MongoDB. Tenéis la explicación completa aquí.

4. Objetos de Kubernetes de la Skill de Alexa

Crear todos los objetos de Kubernetes necesarios para implementar nuestra Skill de Alexa en un clúster de Kubernetes. Tenéis la explicación completa aquí.

5. Helm Chart de la Skill de Alexa

Creando el Hel Chart con nuestra Alexa Skill + MongoDB. Tenéis la explicación completa aquí.

6. Desarrollo y despliegue local con DevSpace

Cómo desarrollar en un entorno de Kubernetes. Tenéis la explicación completa aquí.

7. Terraform.

7.1. Despliegue de una Alexa Skill en AWS Elastic Kubernetes Services

Cómo desplegar nuestra Skill de Alexa en EKS. Tenéis la explicación completa aquí.

7.2. Despliegue de una Skill de Alexa en Azure Kubernetes Services

Cómo deplegar nuestra Skill de Alexa en AKS. Tenéis la explicación completa aquí.

7.3. Despliegue de una Alexa Skill en Google Kubernetes Engine

Cómo desplegar nuestra Skill de Alexa en GKE. Tenéis la explicación completa aquí.

Espero que este proyecto de ejemplo te sea de utilidad.

Puede encontrar el código aquí

¡Eso es todo amigos!

Happy coding!


Made with ❤ by Xavier Portilla Edo © 2021. All rights reserved.