“Entender as diferentes partes de uma plataforma de TI ajuda a escolher os locais certos para investir na automação ao desenvolver software”, escreve o Arquiteto de Software Ricardo Coelho de Souza.
Neste artigo, ele aborda a importância da visão arquitetural – ou seja, do todo – no processo de desenvolvimento de software em uma abordagem DevOps.
Quando comecei a pensar em automação de TI e em todas as oportunidades para implementar processos em escala, concluí que seria um problema melhor resolvido se dividido em duas partes, sendo a primeira “O quê”, e a segunda, “Como”. Para a primeira parte, como delineado aqui, tentei articular a importância de entender os “prós” e “contras” da automação de TI e, talvez mais relevante ainda, de construir um processo de decisão para definir onde fazer minhas apostas.
“Eu realmente acredito que mapear os fluxos de valor mais importantes na entrega de TI, colocando foco especial nas transferências entre os processos, é onde você deve estar e onde o “pote de ouro” se encontra, esperando para ser resgatado, como recompensa.”
Depois de perceber que a automação é algo imprescindível e sem volta, as empresas tendem a mapear, através do VSM (Value Stream Mapping), o maior número possível de oportunidades de automação, seja para substituir o trabalho manual ou para implementá-la em larga escala. Ao fazer isso, pode ser realmente tentador começar a capturar os benefícios de tais “oportunidades” mais cedo ou mais tarde. Alguns obterão benefícios iniciais através do desenvolvimento de código ad-hoc para automatizar tarefas, enquanto outros se beneficiarão da primeira ferramenta à vista, automatizando um punhado de tarefas manuais.
Minha humilde opinião é que, embora não haja nada de errado em experimentar esses “projetos” de fase inicial, para realmente implementar um programa de automação sustentável capaz de escalar rapidamente com capacidades plug-and-play, como IA e aprendizado de máquina, uma plataforma precisa ser definida e implementada o mais rapidamente possível.
Uma plataforma parece ser a resposta lógica, com ajustes finos, para a segunda parte do problema: o “Como”. Embora todos pareçam rotular tudo como uma plataforma nos dias de hoje, uma designação que é, muitas vezes, usada de forma intercambiável em muitos produtos, na minha mente uma plataforma é a descrição única das capacidades que um framework deve ter. Alguns produtos de software fornecem uma plataforma, mas uma plataforma é algo que também pode ser composto por recursos fornecidos por vários componentes de software diferentes e pelos processos associados que permitem o alinhamento de suas operações, resultados e necessidades de negócios.
“A definição da plataforma deve sobreviver à infinidade de ferramentas e tecnologias que surgem todos os dias e deve permitir que as organizações prevejam, com algum nível de confiança, o que pode ser produzido, quanto tempo levará para produzir, quanto custará e como o pipeline de produção pode ser controlado e otimizado ao longo do tempo.”
Eu pessoalmente gosto da analogia da plataforma com uma fábrica: na fábrica, há uma linha de montagem e, como tal, no chão de fábrica, um fluxo de trabalho bem pensado e coordenado é executado, transformando a matéria-prima, que passa por várias máquinas especializadas, em produtos processados. Para essa mesma linha de montagem, há a sala de controle, onde os especialistas do produto supervisionam a eficácia e a eficiência da linha de produção por meio da inspeção cuidadosa dos painéis e relatórios online, procurando oportunidades de melhorar o fluxo de trabalho geral.
Nossa fábrica também possui docas, onde a matéria-prima entra para ser processada e a partir da qual as mercadorias são entregues aos clientes. Por último, mas não menos importante, há a força de trabalho, um grupo muito talentoso e qualificado de pessoas responsáveis por operar, manter e melhorar o maquinário em um ciclo contínuo, permitindo que nossa fábrica modelo prospere e nossos clientes fiquem muito felizes com a qualidade dos produtos que entregamos e a velocidade com que somos capazes de atender seus pedidos.
Essa analogia, quando aplicada a uma plataforma de automação, significa que, para o chão de fábrica, um conjunto de capacidades ou máquinas especializadas precisaria estar disponível para transformar as entradas nos resultados desejados e garantir que o fluxo de trabalho projetado fosse seguido, continuamente, tornando os resultados previsíveis, consistentes e compatíveis com os padrões existentes. O chão de fábrica seria a camada de execução e seria composto por, pelo menos, os seguintes recursos:
Captura: A capacidade de capturar entradas de diferentes fontes de dados;
Conteúdo: A capacidade de armazenar, recuperar, classificar e versionar o conteúdo, independentemente de estar ou não estruturado;
Fluxos de trabalho: A capacidade de documentar e executar fluxos de trabalho predefinidos, controlar seus estados e garantir que eles sejam documentados de acordo com os padrões abertos. Isso garante que os fluxos automatizados sejam bem compreendidos e não sejam perdidos com o tempo;
Decisões: A capacidade de tomar decisões automatizadas, com base em critérios flexíveis, ao longo do fluxo de trabalho;
Automação Robótica: A capacidade de integrar força de trabalho robótica para substituir ou suplementar a força de trabalho humana e permitir a automação de um amplo espectro de casos de uso em larga escala.
A sala de controle, na nossa plataforma de automação hipotética, se traduz na camada de governança e seria composta das seguintes capacidades:
Políticas: O conjunto de regras e a política de como a automação de processos de TI deve ser tratada, permitindo que a organização aprenda e sustente seu uso em escala;
Monitoramento: A capacidade de monitorar a execução da automação, garantindo que os resultados sejam atingidos quando necessário e como planejado;
Painel e relatórios: A capacidade de visualizar o estado atual da plataforma, bem como o desempenho histórico das principais métricas;
Inteligência Artificial e Machine Learning: A capacidade de aplicar mecanismos para aprender com execuções anteriores para obter insights sobre o quê e como melhorar na execução de fluxos de trabalho existentes.
As docas da fábrica são representadas pelas interfaces de usuário da plataforma, que devem fornecer uma experiência unificada aos funcionários, parceiros e clientes, e devem ser extensíveis e baseadas em padrões abertos. A força de trabalho se traduz no grupo de pessoas responsável pela manutenção do estado de integridade da plataforma, revisando suas políticas e regras e garantindo que os recursos sejam conectados conforme necessário para alcançar os resultados desejados da entrega de TI.
Em resumo, a definição dos recursos essenciais da plataforma é o principal facilitador para que as organizações dimensionem a automação dos processos de TI com consistência e confiança. O framework técnico da plataforma deve ser genérico o suficiente para sobreviver ao surgimento de novas tecnologias, mas ao mesmo tempo também específico o suficiente para permitir o deploy do conjunto correto de ferramentas para realizar o trabalho.
Embora a plataforma, assim como suas principais definições, mude à medida que as organizações aprendem o quê e como automatizar, talvez mais importante seja ter a plataforma definida e estabelecida. As organizações estarão melhor posicionadas para captar os benefícios sustentáveis da automação dos processos de TI com uma abordagem sólida e confiável.
Fonte: DZone.com
Gostou do conteúdo? Tem alguma dúvida? Entre em contato com nossos Especialistas Mandic Cloud, ficamos felizes em ajudá-lo.