Nextide Blog: Alguém tem que controlar o estado: o lugar do maestro na pilha de orquestração do Drupal
Randy Kolenko, sócio e arquiteto sênior da Nextide, juntou-se recentemente à Drupal Orchestration Initiative com Jurgen Haas, Shibin Das e Dries Buytaert. A Iniciativa de Orquestração ainda está na sua infância, no entanto, as discussões e (des)acordos continuarão até que a visão do que a Orquestração significa para o Drupal seja aguçada. Orquestração é um termo muito carregado.
Na perspectiva do Maestro, nosso motor sempre foi chamado de orquestrador e daí a ligação musical com o nome Maestro que transmite controle, precisão e orientação dos processos de automação do trabalho. Do ponto de vista de outras pessoas, “orquestração” significa transferir adequadamente o trabalho de um mecanismo para outro. Automação e Orquestração são dois termos diferentes, mas parecem se sobrepor constantemente nas discussões.
Pense na automação como pegar uma unidade de trabalho repetitivo e ter um computador fazendo isso por você. Pense na Orquestração como muitas unidades de automação que precisam trabalhar juntas, atuando no lugar e na hora certos, acrescentando a imprevisibilidade dos humanos à mistura. A Especificação de Design da Iniciativa de Orquestração (ainda em investigação aberta) está a trabalhar activamente em prol de primitivos partilhados, mas ainda há uma pedra angular importante por resolver: um contrato de transferência de dados entre sistemas e ferramentas.
Quais sistemas você pergunta? O Drupal possui vários mecanismos de orquestração e automação, cada um possuindo seu próprio segmento de trabalho. O que o Maestro tem propriedade clara é o segmento durável, com estado e com reconhecimento de instância.
Nem todos os fluxos de trabalho do Maestro possuem um Human-In-The-Loop (HITL), mas a arquitetura do orquestrador do Maestro é tal que a execução de um fluxo de trabalho acontece ao longo do tempo, prestando-se às escalas de tempo dos humanos. Sem o Maestro, o “Estado” é volátil. Em processos de negócios de longa duração, o "estado" deve ser duradouro, sobrevivendo a limpezas de cache, reinicializações de servidores e semanas de silêncio humano.
É seguro dizer que a duração razoável da execução varia de acordo com o mecanismo: e se quisermos aceitar entradas de um sistema externo? Para o Maestro, tradicionalmente dispararíamos um envio de formulário da web, uma ação ECA, um webhook personalizado ou alguma combinação deles. Ótimo!
Mas qual é o contrato de dados entre o sistema externo e o Maestro? O que o Maestro aceita? O que aceita o sistema que o Maestro está chamando?
Os dados são digitados? Quando “1” é um valor inteiro de 1 versus um valor binário VERDADEIRO? Neste ponto, passar dados no Drupal é um problema.
O que o ECA espera como tipo de dados para publicar um nó versus o que o Maestro precisa para executar a mesma ação? Quais dados são necessários para iniciar um fluxo de trabalho do Maestro? É por isso que um contrato de dados padronizado é necessário para que possamos conversar perfeitamente entre si no Drupal.
Este tipo de passagem de dados é um problema entre sistemas de terceiros e o Maestro e entre sistemas internos como ECA e Maestro e onde a orquestração estruturada se torna crucial. Agora considere que, para interagir com o ECA, tivemos que criar eventos e ações que se conectassem ao ECA. Se o Maestro quiser interagir com um sistema externo, escrevemos os adaptadores que se conectam perfeitamente a esses sistemas externos.
Mas o que você deve notar com esta abordagem é que assim que desejarmos nos conectar ao FlowDrop, precisaremos de conectores em cada extremidade. Que tal uma nova ferramenta que se conecta ao ECA, ao Maestro e ao FlowDrop? Conectores entre a nova ferramenta e todos os três motores.
Outra nova ferramenta? Conectores entre a nova ferramenta anterior e todos os três motores. Agora você pode ver que temos uma escalada de conectores, turvando as águas e tornando a interoperabilidade dentro do Drupal extremamente difícil de manter ao longo do tempo.
É aqui que entra a Iniciativa de Orquestração e pode tentar avançar em direção a um contrato de dados adequado. À medida que a IA continua a se tornar um foco importante para as organizações, fazer com que a IA realmente faça um trabalho útil para você em seu ambiente está se tornando cada vez mais importante. Por exemplo, uma organização pode ter um pedido recentemente definido para lidar com “um pedido de subvenção que requer aprovação dinâmica de vários níveis executivos e, após aprovação, encaminhamento para financiamento para pagamento”.
A intenção é um processo de solicitação de subsídio. A realidade é que não é apenas uma forma. Como você implementaria isso hoje?
Você conhece os detalhes de como configurar um fluxo de aprovação do Maestro? Você sabe como criar e conectar um formulário da web a um fluxo? E as aprovações?
E se você precisar de uma contagem majoritária para certificar a aprovação? Estas tornam-se questões angustiantes que podem paralisar o que de outra forma parecia uma tarefa simples. Ok, e daí?
Como isso ajuda a comunidade Drupal? À medida que a Iniciativa de Orquestração avança, o Maestro fornece as proteções determinísticas para a IA não determinística. Se um agente de IA iniciar um processo, o Maestro garante que ele siga o caminho de aprovação legalmente exigido, fornecendo uma trilha de auditoria durável que a IA por si só não pode garantir.
A capacidade da IA de compreender a linguagem, escolher as ferramentas certas e criar fluxos de trabalho e estruturas determinísticas é incrivelmente poderosa. Com a Iniciativa de Orquestração, os contratos de dados subjacentes e a capacidade de comunicação com qualquer ferramenta tornam-se simples. A intenção de um processo de solicitação de subsídio torna-se um conjunto de ferramentas orquestradas que podem ser reutilizadas no futuro para outras aplicações baseadas em intenção.
Em um futuro impulsionado pela IA, queremos satisfazer a tradicional automação de trabalho determinística e intenções. Quando uma IA diz “Pague esta doação”, o sistema não apenas faz isso, mas também lembra quem, quando e por quê, pelo tempo que o negócio exigir.
💬 Comentários
Carregando comentários…