Your address will show here +12 34 56 78

IoT cotidiano gracias al Cloud público

Opinión

Normalmente, cuando hablamos de IoT nos imaginamos grandes sistemas conectados, sensores que no paran de enviar información sobre la temperatura ambiental o sobre que plazas de aparcamiento libres en una ciudad (por no hablar de su aplicación en Industria 4.0); pero si tenemos en cuenta la propia definición del “Internet de las Cosas”, podemos aplicarlo a cualquier objeto o acción de la vida cotidiana.

Vamos a revisar como juntando algunas piezas de un proveedor Cloud público, y por lo tanto accesible para todo el mundo, podemos automatizar y obtener un mejor control sobre nuestro entorno.

Para el ejemplo tomemos Amazon Web Services (AWS), aunque la verdad es que existen más soluciones en el mercado que nos aportan herramientas para llegar a la misma solución (con distintos matices).

Comencemos.

AWSIoTButton

Dentro del gran catálogo de servicios y productos de AWS, tenemos uno llamado “AWS IoT Button”, básicamente un botón que a través de una conexión con nuestra WiFi, se conecta con la plataforma de IoT de AWS pudiendo ejecutar casi cualquier cosa que seamos capaces de programar; como por ejemplo:

  • Encender una serie de luces y electrodomésticos al llegar a casa.
  • Realizar un pedido de nuestra comida favorita a domicilio.

 

Si lo pensamos, seguro que se nos ocurren muchas cosas útiles y divertidas que podemos realizar con nuestro botón, pero a continuación vamos a centrarnos en un par de soluciones aplicables a un entorno tecnológico empresarial.

Despliegues a producción

Si tenemos un flujo de integración, despliegue y/o entrega continua basado en Jenkins, una de las cosas con la que seguro nos encontramos es la necesidad de una aprobación manual para que la aplicación sea desplegada en un entorno productivo. Usando nuestro botón tendríamos el siguiente flujo:

  1. El equipo de desarrollo sube el código al repositorio corporativo.
  2. Jenkins ejecuta un proceso de compilación, prueba y despliega la aplicación en un entorno de pruebas.
  3. El responsable de las pruebas recibe una notificación, indicando que la aplicación está lista para ser probada.
  4. El responsable ejecuta las pruebas oportunas.
  5. El responsable presiona el botón una vez se completan las pruebas para realizar el despliegue a producción; en el caso de que las pruebas no sean correctas, podríamos poner un segundo botón que cancele el proceso de despliegue y envíe una notificación al equipo de desarrollo.

Tened en cuenta que los pasos indicados pueden cambiar ligeramente en función de la configuración del flujo de Jenkins. Este es solo un ejemplo, pero los pasos pueden amoldarse a cualquier casuística de integración y despliegue.

Gestión del entorno de desarrollo

Según estudios del uso de las plataformas Cloud públicas, uno de los retos para los usuarios es la optimización de las facturas derivadas de los servicios (incluso por encima de la seguridad); pues bien, si tenemos entornos de desarrollo en modalidad de pago por uso, uno de nuestros deseos es que se puedan apagar y encender como se apaga la luz de nuestras oficinas. ¿Y con qué se encienden y apagan las luces? ¡Con botones!

Con nuestro nuevo botón y la programación adecuada sobre AWS Lambda (dejemos esto para más adelante), podemos instalarlo en la puerta de nuestra oficina, y así como el último que se va apaga las luces, el último integrante del equipo que se vaya puede apagar el entorno de desarrollo, al completo o de forma parcial, y de esta forma reducir incluso a la mitad la factura asociada a los servicios de entornos no productivos; a la mañana siguiente, el primer miembro del equipo que llegue encenderá el entorno, y en el tiempo que se quita la cazadora, busca agua y se sienta a trabajar, tendrá todo ejecutándose y disponible.

Como vemos, el crecimiento de la tecnología y los servicios actuales del mercado nos dan posibilidades infinitas a pequeña y a gran escala, sólo depende de nosotros juntar las piezas adecuadas para crear cosas realmente útiles e incluso sorprendentes.

 

Imagen de cabecera: Freepik