SlideShare una empresa de Scribd logo
Diego Arcos
Technical Lead Engineer en .Entropy
¿Qué es
Google Search?
Es el canal de Google
especializado en anuncios
publicitarios de texto.
Mantener el progreso
del flujo (Volver al último
paso modificado).
Requerimientos Funcionales
Poder realizar cambios
en cualquier parte del
flujo sin alterar otros
pasos del mismo
No tener que finalizar el
flujo de una campaña
para poder crear otra.
Desechar el flujo por
completo y descartar los
cambios que se
generaron.
La API no debe guardar
ningún estado
(Stateless).
Requerimientos no Funcionales
Poder escalar la solución
ya que hay flujos que
comparten pasos.
La API solo debe recibir
información acorde al
progreso del usuario.
Tiempo máximo de
latencia no debe ser
mayor a 300ms
El flujo es extenso y
puede tener muchas
variantes.
Ahora tenemos un Problema a Resolver...
Requerimientos
funcionales
Requerimientos no
funcionales
Tiempo justo para hacer
release del feature.
Ideas de solución
Podíamos guardar en memoria la serie de pasos,
para así saber cuál era el siguiente y cuál el
anterior.
¿Que pasa si estas en un paso donde estes cerca del final y mueves la URL?
Podrias mandar información via API en pasos que no corresponden al actual.
No solo los pasos permitidos son hacia adelante y hacia atrás, depende el paso
puedes retroceder más de uno, incluso.
01 Approach
Inconvenientes
Podemos modelar los pasos como un grafo dirigido
y acotar las transiciones por medio de condiciones.
No es una solución escalable, si se modifica el flujo habría que rehacer
el grafo o al menos una parte de él.
02 Approach
Inconvenientes
¿Tener una máquina de estados en donde las transiciones son triggers (acciones),
y solo configuramos los estados a que reciban uno o más triggers, estos triggers,
te llevarán a los estados permitidos que también son configurados en los estados.
Si hay algún cambio en el flujo simplemente hay que agregar o quitar triggers.
03 Approach
Podemos escalar la solución incluso por ciudades.
Nuestra API sigue siendo stateless.
No hay lógica del negocio del lado del cliente.
Permitimos a nuestros clientes hacer drafts de campañas.
Key Results
Clientes
Entropy
API
Infraestructura
Entropy
State Machine
HTTP
GET/POST
Thrift
READ/WRITE
READ
Thrift
READ
¿Alguna pregunta?
¡Muchas Gracias!
diego@entropy.tech
Optimiza tus campañas digitales
Inteligencia Artificial/Machine Learning

Más contenido relacionado

Similar a Entropy: Implementación de un servicio de onboarding por medio de máquinas de estado

documento_no_valido_para_nomeacuerdo.pptx
documento_no_valido_para_nomeacuerdo.pptxdocumento_no_valido_para_nomeacuerdo.pptx
documento_no_valido_para_nomeacuerdo.pptx
mauriciohernandezp1
 
Desarrollo de aplicaciones altamente escalables
Desarrollo de aplicaciones altamente escalablesDesarrollo de aplicaciones altamente escalables
Desarrollo de aplicaciones altamente escalables
Globant
 
PrestaShop
PrestaShopPrestaShop
Magento
MagentoMagento
Foro de Innovación Tecnologica, Universidad de Galileo - dokshor - Ciudad de ...
Foro de Innovación Tecnologica, Universidad de Galileo - dokshor - Ciudad de ...Foro de Innovación Tecnologica, Universidad de Galileo - dokshor - Ciudad de ...
Foro de Innovación Tecnologica, Universidad de Galileo - dokshor - Ciudad de ...
Fabian Andres Ramirez Sepulveda
 
SAP_S4HANA.pptx
SAP_S4HANA.pptxSAP_S4HANA.pptx
SAP_S4HANA.pptx
sreekanth976901
 
SAP_S4HANA.pptx
SAP_S4HANA.pptxSAP_S4HANA.pptx
SAP_S4HANA.pptx
AhmedSeid38
 
Objetivo 2025: Cómo preparar la transición hacia S/4 HANA
Objetivo 2025: Cómo preparar la transición hacia S/4 HANAObjetivo 2025: Cómo preparar la transición hacia S/4 HANA
Objetivo 2025: Cómo preparar la transición hacia S/4 HANA
i3s
 
Tutorial Microsoft Power Automate: Automatización de flujos de trabajo para m...
Tutorial Microsoft Power Automate: Automatización de flujos de trabajo para m...Tutorial Microsoft Power Automate: Automatización de flujos de trabajo para m...
Tutorial Microsoft Power Automate: Automatización de flujos de trabajo para m...
Fernando Leandro
 
Software TI_Cecilia Delvira Rodríguez Pérez
Software TI_Cecilia Delvira Rodríguez PérezSoftware TI_Cecilia Delvira Rodríguez Pérez
Software TI_Cecilia Delvira Rodríguez Pérez
George Aguilar
 
Cómo crear una tienda online gratis
 Cómo crear una tienda online gratis Cómo crear una tienda online gratis
Cómo crear una tienda online gratis
laurittabarrera
 
Sistema de facturación
Sistema de facturaciónSistema de facturación
Sistema de facturación
Enguelbert Garcia
 
The wpo academy: Qué es y que mide la velocidad de carga de una web?
The wpo academy: Qué es y que mide la velocidad de carga de una web?The wpo academy: Qué es y que mide la velocidad de carga de una web?
The wpo academy: Qué es y que mide la velocidad de carga de una web?
Digital Growth
 
Asug Chile - Grupo de estudios SAP SuccessFactors
Asug Chile - Grupo de estudios SAP SuccessFactorsAsug Chile - Grupo de estudios SAP SuccessFactors
Asug Chile - Grupo de estudios SAP SuccessFactors
Ivo Milkovic
 
Glosario de Análisis de Puntos de Función
Glosario de Análisis de Puntos de FunciónGlosario de Análisis de Puntos de Función
Glosario de Análisis de Puntos de Función
Fatto Consultoria e Sistemas
 
Pseint 10-7
Pseint 10-7 Pseint 10-7
Pseint 10-7
OscarArango18
 
Openbravo
OpenbravoOpenbravo
Openbravo
jestud12
 
Jupama App
Jupama AppJupama App
Jupama App
Coduxe
 
Sava
SavaSava
Construcción de un siti web
Construcción de un siti webConstrucción de un siti web
Construcción de un siti web
mascorroale
 

Similar a Entropy: Implementación de un servicio de onboarding por medio de máquinas de estado (20)

documento_no_valido_para_nomeacuerdo.pptx
documento_no_valido_para_nomeacuerdo.pptxdocumento_no_valido_para_nomeacuerdo.pptx
documento_no_valido_para_nomeacuerdo.pptx
 
Desarrollo de aplicaciones altamente escalables
Desarrollo de aplicaciones altamente escalablesDesarrollo de aplicaciones altamente escalables
Desarrollo de aplicaciones altamente escalables
 
PrestaShop
PrestaShopPrestaShop
PrestaShop
 
Magento
MagentoMagento
Magento
 
Foro de Innovación Tecnologica, Universidad de Galileo - dokshor - Ciudad de ...
Foro de Innovación Tecnologica, Universidad de Galileo - dokshor - Ciudad de ...Foro de Innovación Tecnologica, Universidad de Galileo - dokshor - Ciudad de ...
Foro de Innovación Tecnologica, Universidad de Galileo - dokshor - Ciudad de ...
 
SAP_S4HANA.pptx
SAP_S4HANA.pptxSAP_S4HANA.pptx
SAP_S4HANA.pptx
 
SAP_S4HANA.pptx
SAP_S4HANA.pptxSAP_S4HANA.pptx
SAP_S4HANA.pptx
 
Objetivo 2025: Cómo preparar la transición hacia S/4 HANA
Objetivo 2025: Cómo preparar la transición hacia S/4 HANAObjetivo 2025: Cómo preparar la transición hacia S/4 HANA
Objetivo 2025: Cómo preparar la transición hacia S/4 HANA
 
Tutorial Microsoft Power Automate: Automatización de flujos de trabajo para m...
Tutorial Microsoft Power Automate: Automatización de flujos de trabajo para m...Tutorial Microsoft Power Automate: Automatización de flujos de trabajo para m...
Tutorial Microsoft Power Automate: Automatización de flujos de trabajo para m...
 
Software TI_Cecilia Delvira Rodríguez Pérez
Software TI_Cecilia Delvira Rodríguez PérezSoftware TI_Cecilia Delvira Rodríguez Pérez
Software TI_Cecilia Delvira Rodríguez Pérez
 
Cómo crear una tienda online gratis
 Cómo crear una tienda online gratis Cómo crear una tienda online gratis
Cómo crear una tienda online gratis
 
Sistema de facturación
Sistema de facturaciónSistema de facturación
Sistema de facturación
 
The wpo academy: Qué es y que mide la velocidad de carga de una web?
The wpo academy: Qué es y que mide la velocidad de carga de una web?The wpo academy: Qué es y que mide la velocidad de carga de una web?
The wpo academy: Qué es y que mide la velocidad de carga de una web?
 
Asug Chile - Grupo de estudios SAP SuccessFactors
Asug Chile - Grupo de estudios SAP SuccessFactorsAsug Chile - Grupo de estudios SAP SuccessFactors
Asug Chile - Grupo de estudios SAP SuccessFactors
 
Glosario de Análisis de Puntos de Función
Glosario de Análisis de Puntos de FunciónGlosario de Análisis de Puntos de Función
Glosario de Análisis de Puntos de Función
 
Pseint 10-7
Pseint 10-7 Pseint 10-7
Pseint 10-7
 
Openbravo
OpenbravoOpenbravo
Openbravo
 
Jupama App
Jupama AppJupama App
Jupama App
 
Sava
SavaSava
Sava
 
Construcción de un siti web
Construcción de un siti webConstrucción de un siti web
Construcción de un siti web
 

Más de Software Guru

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
Software Guru
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
Software Guru
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
Software Guru
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
Software Guru
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
Software Guru
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
Software Guru
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
Software Guru
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
Software Guru
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
Software Guru
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
Software Guru
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
Software Guru
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
Software Guru
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
Software Guru
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Software Guru
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
Software Guru
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Software Guru
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
Software Guru
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
Software Guru
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
Software Guru
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
Software Guru
 

Más de Software Guru (20)

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
 

Último

Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Festibity
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
AMADO SALVADOR
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
bendezuperezjimena
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
yuki22434
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
JuanAlvarez413513
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
alejandromanuelve
 

Último (20)

Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
Informe DATA & IA 2024 Primera encuesta sobre el uso de IA en las empresas pe...
 

Entropy: Implementación de un servicio de onboarding por medio de máquinas de estado

  • 1. Diego Arcos Technical Lead Engineer en .Entropy
  • 2. ¿Qué es Google Search? Es el canal de Google especializado en anuncios publicitarios de texto.
  • 3.
  • 4. Mantener el progreso del flujo (Volver al último paso modificado). Requerimientos Funcionales Poder realizar cambios en cualquier parte del flujo sin alterar otros pasos del mismo No tener que finalizar el flujo de una campaña para poder crear otra. Desechar el flujo por completo y descartar los cambios que se generaron.
  • 5. La API no debe guardar ningún estado (Stateless). Requerimientos no Funcionales Poder escalar la solución ya que hay flujos que comparten pasos. La API solo debe recibir información acorde al progreso del usuario. Tiempo máximo de latencia no debe ser mayor a 300ms
  • 6. El flujo es extenso y puede tener muchas variantes. Ahora tenemos un Problema a Resolver... Requerimientos funcionales Requerimientos no funcionales Tiempo justo para hacer release del feature.
  • 7. Ideas de solución Podíamos guardar en memoria la serie de pasos, para así saber cuál era el siguiente y cuál el anterior. ¿Que pasa si estas en un paso donde estes cerca del final y mueves la URL? Podrias mandar información via API en pasos que no corresponden al actual. No solo los pasos permitidos son hacia adelante y hacia atrás, depende el paso puedes retroceder más de uno, incluso. 01 Approach Inconvenientes
  • 8. Podemos modelar los pasos como un grafo dirigido y acotar las transiciones por medio de condiciones. No es una solución escalable, si se modifica el flujo habría que rehacer el grafo o al menos una parte de él. 02 Approach Inconvenientes
  • 9. ¿Tener una máquina de estados en donde las transiciones son triggers (acciones), y solo configuramos los estados a que reciban uno o más triggers, estos triggers, te llevarán a los estados permitidos que también son configurados en los estados. Si hay algún cambio en el flujo simplemente hay que agregar o quitar triggers. 03 Approach
  • 10. Podemos escalar la solución incluso por ciudades. Nuestra API sigue siendo stateless. No hay lógica del negocio del lado del cliente. Permitimos a nuestros clientes hacer drafts de campañas. Key Results
  • 13. ¡Muchas Gracias! diego@entropy.tech Optimiza tus campañas digitales Inteligencia Artificial/Machine Learning