Proyecto tipo: Chatbot buscador

PROBLEMA

El cliente quiere proporcionarle a una tienda online un chatbot buscador de elementos que ayude a los usuarios.

La web dispone de un buscador que no se puede reutilizar.

La base de datos de los elementos no se encuentra accesible.

El chatbot deberá de funcionar igual para los clientes de cualquier parte del mundo.

PROPUESTA

Dado que hay muchas incertidumbres en cuanto al uso, el flujo de conversación y otros puntos del proyecto, que pretende ser de una embergadura muy amplia, se propone hacer un prototipo de chatbot buscador que cumpla con los siguientes puntos que se han acordado con el cliente:

  • El prototipo trabajará con los datos proporcionados por el CLIENTE al PRESTADOR, sobre los elementos ofertados por su cliente.
  • El idioma que entenderá y con el que contestará el prototipo será el castellano, o español de España.
  • Salvo que durante el SEGUIMIENTO DE LA EJECUCIÓN DEL CONTRATO se
    determinase lo contrario entre ambas partes, para la implementación del prototipo se emplearán los servicios de Azure proporcionados por Microsoft.
  • La entrega del prototipo incluye el asesoramiento y respaldo a la hora de la creación de cuentas y de todo lo que sea necesario para realizar su despliegue.
  • La entrega del prototipo incluye la entrega de una estimación de costes de ejecución en base al número de usos que se dé al servicio.
  • El prototipo a desarrollar, será similar al presentado en el ejemplo RealEstateBot proporcionado por Microsoft.
En concreto se implementarán:
  • Una ETL que convierta los datos originales al formato más adecuado.
  • Una base de datos distribuida sobre Azure Cosmos DB.
  • Un motor de búsqueda que será reutilizable en la web y otros servicios, empleando Azure Search.
  • Un motor para el chatbot basado en Azure Bot Service.
  • Se montarán entornos de preproducción y producción.
  • El código se almacenará en un repositorio Git.
  • Se montará un sistema de integración continua con Azure DevOps.

PRecio

6.400€

Tiempo

Dadas las incertidumbres del proyecto, el tiempo de desarrollo será de entre 3 semanas y 3 meses.

Nota aclaratoria:

Este proyecto tipo, es un ejemplo de proyecto que se ha realizado o se podría realizar. En ningún caso tiene validez como presupuesto real y sólo pretende documentar las distintas posibilidades que existen.

Actualmente, con los cambios que ha habido en cuanto a las posibilidades existentes, la propuesta podría ser diferente en estos momentos.

Se han omitido nombres de empresas y productos.

Por favor, si tuviese necesidad de algo similar, no dude en ponerse en contacto.

Azure Serverless

No, no es una nueva feature de Azure de la que no te hayas enterado. En este artículo vamos a entender que es “serverless” ese concepto tan en boca de todos, y los componentes de Azure que se pueden considerar parte de esta moda.

Seguir leyendo en CompartiMOSS.

Introducción a Azure API Management

Estamos atendiendo a un cambio en el modo de afrontar la incorporación de software externo a un proyecto. Cada día es más habitual el incorporar el uso de APIs externas para suplir funciones en lugar de incorporar el software y los datos necesarios para llevarlas a cabo internamente. Todos hemos oído o leído que el paradigma del futuro cercano son los microservicios y llevamos muchísimo viendo las bondades de las APIs REST. Este cambio, como todos, tiene sus cosas buenas y sus cosas no tan buenas.

Seguir leyendo en CompartiMOSS.

WSO2 vs Azure API Management

Next values are estimations and all of them depend on the final production needs.

  WSO2 Azure API Management
Deployment effort 24-40 hours 1 hour
New API effort 1-2 hours 1-2 hours
Scale effort 4-8 hours 1 hour
Distribute in other location effort 16-24 hours 1 hour
Min dev. environment costs 1 machine = 587 euros yearly 486 euros yearly
Min pro. environment costs 12 machines + 8,500 euros (yearly) for production support = 15,544 28,288 euros yearly + 1,404 euros for VPN connection to private endpoints = 29,692
Pros –          It is more flexible thinking about configuration and deployment options –          Its management is easier and faster.
Cons –          Hard maintenance –          Its more expensive

–          At this moment you can only use this over Azure infrastructure.

Azure API Management

It is a cloud API Manager that can connect to public and private endpoints. It is provided by Microsoft and cannot be installed as on premise service (but they are open to suggestions about this point and it is under review: “There is no on-premises deployment option available at this time but you can vote on uservoice if you’d like this capability. However, you can certainly use Azure-based API management with on-premises systems and data.”).

At this moment it does not provide a monetization standard (but it is under review: ”We’ll monitor continued feedback on this item”).

It is planned to provide a standard way to have testing and live environments (Sandbox Environment – SBE).

Set Up

Follow a two steps wizard is the only need to set up an Azure API Management instance.

Azure APIM 1

Azure APIM 2

Advanced configuration can be provided in order to personalize security, rate limits or monitoring capabilities.

Use

A publisher can add a new API manually or import it using WADL or Swagger definition files.

Azure APIM 3

A subscriber can discover and subscribe to an API throw developer portal.

Microsoft Flow

La semana pasada tuvimos la noticia de que Microsoft lanzaba un competidor de IFTTT (If This Then That) para que los usuarios puedan automatizar las tareas que hacen en el día a día de un modo sencillo.

Seguir leyendo en CantabriaTIC.

Políticas en API Management, mi colaboración en el Global Azure Bootcamp

Nota rápida para compartiros mi charla del Global Azure Bootcamp. En ella introduzco el entorno de API Management que proporciona Azure, y vemos cómo se pueden usar las políticas para hacer prácticamente lo que nos dé la gana. Podéis ver todos los videos en Channel 9.