Ir para o conteúdo principal

Orquestração

Experimente o Databricks gratuitamente

O que é orquestração?

A orquestração é a coordenação e o gerenciamento de vários sistemas de computador, aplicativos e/ou serviços, agrupando várias tarefas para executar fluxos de trabalho e processos em larga escala. Esses processos consistem em diversas tarefas automatizadas e podem abranger vários sistemas.

A orquestração agiliza e otimiza a execução de processos repetidos com frequência, tornando mais fácil para as equipes de dados gerenciar tarefas e fluxos de trabalho complexos. Como os processos podem ser repetidos a qualquer momento e as tarefas podem ser automatizadas, a orquestração economiza tempo, aumenta a eficiência e elimina redundâncias. Por exemplo, a orquestração de jobs simplifica os dados e o machine learning.

Qual é a diferença entre orquestração de processos e automação de processos?

Automação e orquestração são altamente complementares. No entanto, cada uma tem um significado diferente. Automação é a programação de tarefas a serem executadas sem intervenção humana. A orquestração é a configuração de várias tarefas (algumas das quais podem ser automatizadas) em um processo ou job completo de ponta a ponta. O software de orquestração deve reagir a eventos ou atividades ao longo do processo, tomar decisões com base na saída de uma tarefa automatizada e decidir e coordenar a próxima tarefa.

O que é orquestração de aplicativos?

A orquestração de aplicativos é a integração de dois ou mais aplicativos de software. É feita com o objetivo de automatizar processos ou sincronizar dados em tempo real. O trabalho de desenvolvimento de software geralmente requer alguma forma de orquestração de aplicativos. Sem a orquestração de aplicativos implementada, dimensionar o desenvolvimento de aplicativos, análise de dados, machine learning, projetos de IA etc. torna-se extremamente difícil.

A orquestração de aplicativos permite que você gerencie e monitore centralmente suas integrações de aplicativos. Ela também aprimora o roteamento, a segurança, a transformação e a confiabilidade de mensagens. Essa abordagem é mais eficaz do que a integração ponto a ponto. Isso ocorre porque a lógica de integração é desacoplada do próprio aplicativo e, em vez disso, gerenciada pelo contêiner.

O que é orquestração de serviços?

A orquestração de serviços, assim como a orquestração de aplicativos, permite a coordenação e o gerenciamento de sistemas em vários provedores e domínios de nuvem e é essencial no mundo de hoje. Essa abordagem inclui orquestração de microsserviços, orquestração de rede e orquestração de fluxo de trabalho.

Os serviços individuais não têm recursos nativos que permitam a integração uns com os outros, e cada um conta com as próprias dependências e requisitos. Quanto mais complexo o sistema, mais importante é a orquestração dos vários componentes. Dessa forma, a orquestração de serviços permite dimensionar sua infraestrutura conforme necessário, otimizar sistemas para atender às metas de negócios e evitar gargalos na entrega de serviços.

O que é orquestração de contêineres?

Você pode ter se deparado com o termo “orquestração de contêineres” no contexto da orquestração de aplicativos e serviços. O que é orquestração de contêineres e por que precisamos dela?

A orquestração de contêineres é a automação do gerenciamento e coordenação de contêineres. As equipes de software usam as melhores ferramentas de orquestração de contêineres para controlar e automatizar tarefas, como provisionamento e implantação de contêineres, alocação de recursos entre contêineres, monitoramento da integridade dos contêineres e proteção da interação de contêineres.

Como funciona a orquestração de contêineres?

As equipes de orquestração de software geralmente usam ferramentas de orquestração de contêineres, como Kubernetes e Docker Swarm. Primeiro, você descreve a configuração do seu aplicativo em um arquivo, informando à ferramenta onde coletar suas imagens de contêineres e como construir a rede entre eles.

A ferramenta agenda implantações de contêineres em clusters e descobre os melhores hosts com base em restrições pré-configuradas, como rótulos e metadados. Em seguida, ela gerencia o ciclo de vida do contêiner com base nas especificações escritas no arquivo.

Mas por que precisamos da orquestração de contêineres? E qual é o propósito da automação e da orquestração? Ao automatizar a orquestração de contêineres, você pode dimensionar aplicativos com um único comando, criar rapidamente aplicativos em contêineres que lidam com o aumento do tráfego e simplificar o processo de instalação. A orquestração de contêineres também ajuda a melhorar a segurança.

O que é orquestração de nuvem?

A orquestração de nuvem é o processo de automatizar as tarefas de gerenciamento de conectividade em nuvens públicas e privadas. Ela também integra tarefas e processos automatizados em fluxos de trabalho para dar suporte à execução de funções de negócios específicas.

A ascensão da computação em nuvem, incluindo nuvens públicas, privadas e híbridas, aumenta a complexidade. Isso gera a necessidade de um software de orquestração de nuvem que possa gerenciar e implantar várias dependências em diferentes nuvens. A orquestração de serviços em nuvem inclui tarefas como provisionamento de cargas de trabalho do servidor, capacidade de armazenamento e orquestração de serviços, cargas de trabalho e recursos.

Automação e orquestração de nuvem são coisas diferentes. A orquestração de nuvem se concentra em processos de TI inteiros, enquanto a automação se concentra em partes individuais. A orquestração simplifica a automação em ambientes multinuvem, mantendo políticas e protocolos de segurança.

O que é orquestração de segurança?

A orquestração de segurança garante que suas ferramentas de segurança automatizadas possam trabalhar juntas de maneira eficaz e otimiza a maneira como são usadas pelas equipes de segurança. O objetivo é reduzir o erro humano, melhorar a resposta a ameaças e economizar tempo e dinheiro por meio da colaboração e do compartilhamento de dados entre as ferramentas.

SOAR (Security Orchestration, Automation and Response) é um acrônimo que descreve três recursos de software definidos pelo Gartner:

  • Orquestração: gerenciamento de ameaças e vulnerabilidades;
  • Automação: automação de operações relacionadas à segurança;
  • Resposta:­ resposta a incidentes de segurança.

Com essa abordagem, a sinergia entre automação e orquestração permite que as organizações automatizem a busca de ameaças, a coleta de informações sobre ameaças e a resposta a incidentes para ameaças de baixo nível.

O que é camada de orquestração?

Uma camada de orquestração é essencial quando você precisa coordenar vários serviços de API. A camada de orquestração permite criar conexões ou instruções entre seu conector e conectores de aplicativos de terceiros. Isso efetivamente cria uma única API que faz várias chamadas para vários serviços diferentes para responder a uma única solicitação de API.

Ela também gerencia formatos de dados entre serviços separados que requerem divisão, consolidação e roteamento de solicitações e respostas. Adicionar essa camada de abstração dá à sua API o nível de inteligência necessário para se comunicar entre os serviços. A camada de orquestração oferece suporte à transformação de dados, gerenciamento de servidor, manipulação de autenticação e integração de sistemas legados.

Na nuvem, uma cama de orquestração gerencia interações e interconexões entre componentes baseados em nuvem e on-premises. Isso inclui servidores, redes, máquinas virtuais, segurança e armazenamento.

O que é orquestração da jornada?

A orquestração da jornada do cliente leva o conceito de mapeamento da jornada do cliente um passo adiante. Ela usa automação para personalizar jornadas em tempo real em vez de depender de dados históricos. O objetivo é criar e moldar a jornada ideal do cliente.

A orquestração da jornada também permite que as empresas se tornem mais ágeis, se adaptem às mudanças e antecipem possíveis problemas.

Ferramentas de orquestração

A orquestração necessária para tarefas complexas sobrecarrega as equipes de dados e ferramentas especializadas para permitir o desenvolvimento, gerenciamento, monitoramento e execução confiável desses pipelines. Essas ferramentas normalmente não estão vinculadas a dados reais ou tarefas de machine learning. Essa falta de integração leva à fragmentação dos esforços em toda a empresa e força os usuários a alternar repetidamente o contexto.

À medida que as empresas se concentram cada vez mais em business intelligence (BI) e inteligência artificial (IA), há uma necessidade crescente de ferramentas de orquestração simples, escaláveis e altamente confiáveis. Existe uma variedade de ferramentas para maximizar os benefícios da orquestração com frameworks para automatizar cargas de trabalho.

As ferramentas de orquestração de serviços ajudam na integração de aplicativos e sistemas diferentes, enquanto as ferramentas de orquestração de nuvem unem vários sistemas de nuvem. Além disso, as ferramentas de orquestração gerenciam centralmente os processos de ponta a ponta e simplificam a construção de processos, suportando a criação de fluxos de trabalho que não eram possíveis no passado.

Por exemplo, a Databricks ajuda a convergir data warehousing e casos de uso de IA em uma única plataforma. Clique aqui para saber como orquestrar cargas de trabalho da Databricks.

O que é orquestração de versões de aplicativos?

A orquestração de versões de aplicativos (ARO) permite que as equipes de DevOps automatizem implantações de aplicativos, gerenciem integração contínua e pipelines de entrega contínua e orquestrem fluxos de trabalho de lançamento. O objetivo é melhorar a qualidade, a velocidade e a governança de novas versões.

Além de automatizar implantações e gerenciar pipelines, as ferramentas de ARO também permitem escalar lançamentos em várias equipes, tecnologias, metodologias e pipelines diversos. As principais ferramentas de ARO incluem GitLab, Microsoft Azure Pipelines e FlexDeploy.

O que é orquestração de processos?

A automação de processos é essencial para uma orquestração eficaz. No entanto, usar ferramentas diferentes de vários provedores para tarefas individuais cria o risco de silos. Isso requer integração de ferramentas e fluxos de trabalho, ou seja, orquestração de processos.

A orquestração de processos integra tarefas individuais em processos de ponta a ponta e agiliza a integração do sistema usando conectores universais, integrações diretas ou adaptadores de API. Como resultado, as equipes de TI podem gerenciar centralmente todo o ciclo de vida do processo.

Os benefícios incluem a redução da complexidade coordenando e integrando ferramentas diferentes, melhorando o tempo médio de reparo (MTTR) centralizando o monitoramento e registro de processos e integrando novas ferramentas e tecnologias em uma única plataforma de orquestração. Essa orquestração de software permite a integração rápida de praticamente qualquer ferramenta ou tecnologia.

O objetivo das plataformas de orquestração de dados

A orquestração de dados é o processo automatizado de obter dados em silos de vários armazenamentos, combiná-los, organizá-los e disponibilizá-los para análise. Esse processo conecta todos os datacenters: sistemas legados, ferramentas baseadas em nuvem e data lakes. Os dados são transformados em um formato-padrão, facilitando a compreensão e o uso para a tomada de decisões.

Muitas empresas acumulam grandes quantidades de dados. É por isso que você precisa de uma ferramenta automatizada para organizar seus dados. A orquestração de big data é o processo de organização de dados que são muito grandes, muito rápidos ou muito complexos para serem manipulados pelos métodos tradicionais. A orquestração de dados também identifica “dados obscuros”, informações que ocupam espaço nos servidores, mas nunca são usadas.

Uma plataforma de orquestração de dados é ideal para garantir a conformidade e descobrir problemas. Por exemplo, as plataformas de orquestração de pagamentos fornecem acesso em tempo real aos dados do cliente para descobrir transações arriscadas.

O que é orquestração no DevOps?

A orquestração de DevOps é a coordenação de práticas de DevOps em toda a empresa e as ferramentas de automação usadas para completá-las. O objetivo é minimizar problemas em ambientes de produção e reduzir o tempo de lançamento de novos lançamentos.

Orquestrar suas tarefas automatizadas ajuda a maximizar o potencial de suas ferramentas de automação. Isso nos traz de volta à relação entre orquestração e automação. Essencialmente, automatizar muitas funções e executá-las simultaneamente aumenta a eficiência. No entanto, a orquestração é essencial para garantir que essas funções funcionem juntas.

Por exemplo, a orquestração de DevOps para pipelines de implantação baseados em nuvem permite combinar ambientes de desenvolvimento, controle de qualidade e produção.

O que é a orquestração do Docker?

O Docker é um runtime de contêiner fácil de usar que fornece um conjunto de ferramentas para o desenvolvimento de aplicativos em contêineres. Ele permite empacotar seu código em uma imagem e usá-la para criar um contêiner. A orquestração do Docker é, portanto, um conjunto de práticas e tecnologias de gerenciamento de contêineres do Docker.

Essa orquestração de contêiner é necessária ao dimensionar um aplicativo em contêiner para muitos contêineres. Ela é usada para tarefas como provisionamento de contêineres, expansão/diminuição, gerenciamento de rede e balanceamento de carga.

O ecossistema do Docker oferece diversas ferramentas para orquestração, como o Swarm. O Kubernetes é comumente usado para orquestrar contêineres do Docker, enquanto as plataformas de contêiner em nuvem também fornecem recursos básicos de orquestração.

Orquestrar dados e pipelines de machine learning no Databricks

A Databricks simplifica a orquestração de várias tarefas e facilita a criação de fluxos de trabalho de dados e machine learning.

Defina facilmente pipelines de ML e dados aproveitando tarefas modulares interdependentes que consistem em notebooks, scripts Python e JARs para orquestrar tarefas de várias etapas. As equipes de dados podem criar e gerenciar facilmente pipelines de várias etapas para transformar e refinar dados e treinar algoritmos de machine learning. Tudo isso pode ser feito no workspace familiar da Databricks, economizando muito tempo, esforço e trocas de contexto para as equipes.

No exemplo acima, duas tarefas, Clicks_Ingest e Orders_Ingest, são usadas para ingerir dados em um job multitarefa. Os dados ingeridos são agregados e filtrados pela tarefa “Match”. A partir daí, novos recursos de machine learning são gerados (Build_Features), persistentes (Persist_Features) e usados para treinar novos modelos (Train).

A orquestração de jobs é totalmente integrada à Databricks e não requer infraestrutura adicional nem recursos de DevOps. Os clientes podem usar a API de jobs e a UI para criar, gerenciar e monitorar jobs com recursos como notificações por e-mail.

As equipes de dados não precisam aprender nenhuma habilidade nova para aproveitar a orquestração de jobs. Esse recurso permitirá que você orquestre qualquer coisa com uma API fora da Databricks e em todas as nuvens, por exemplo, extrair dados de CRMs. Experimente a nova orquestração de jobs em qualquer workspace (AWS, Azure, GCP).

Recursos adicionais

Voltar ao glossário