Como a IA irá revolucionar o DevOps

Os recursos de auto-aprendizado, previsão e automação da IA ​​permitirão o desenvolvimento acelerado de aplicativos mais resilientes e ricos em recursos

Author Photo
2:32 pm - 25 de setembro de 2018
devops_658149007.jpg

A Inteligência Artificial (IA) está em toda parte, hoje – ou pelo menos assim parece. A tecnologia certamente é muito promissora porque permite todo tipo de automação de processos de negócios ainda manuais, em sua grande parte, e fornecem mais poder à análise de dados.

Uma área que a IA já está afetando e na qual está destinada a ter um impacto ainda maior é no DevOps. Especialistas dizem que a IA e o Machine Learning (ML) têm o potencial de melhorar o DevOps, mesmo já com muitas organizações começando a adotar o modelo para ganhar eficiência no desenvolvimento de aplicativos e outras áreas de seus negócios.

“A Inteligência Artificial e o Machine Learning têm um relacionamento abrangente” com o DevOps, diz Spandan Mahapatra, chefe da divisão de segmento de software/indústria de alta tecnologia e soluções de negócios da Tata Consultancy Services.

“Há muitas empresas que já estão impulsionando a Transformação Digital com diferentes graus de maturidade em seus processos de DevOps, permitindo-lhes realmente impulsionar o sucesso baseado em resultados”, diz Mahapatra. “AI e ML estão fornecendo soluções para otimizar os processos de DevOps.”

Ainda é cedo para a maioria das equipes de DevOps alavancar a IA, “mas vemos uma série de clientes começando a considerar as oportunidades que a IA e a análise de dados podem oferecerem para eles”, diz Stephen Elliot, vice-presidente de programa para DevOps, gerenciamento de nuvem, ITSM e computação definida por software na International Data Corp.

Entre os usos mais notáveis ​​da IA ​​no DevOps está a compreensão de onde surgem problemas em integração contínua (CI) ou desenvolvimento contínuo (CD), para identificação e resolução de problemas, ou para melhoria do trabalho com dados coletados de clientes, diz Elliot.

“Encontramos uma enorme quantidade de recursos para análise em equipes [de infraestrutura e operações], já que muitos implantaram o desempenho de aplicativos ou serviços de análise de fluxo para identificar e resolver problemas”, afirma Elliot. “As equipes de DevOps devem considerar o uso de Analytics, por que isso pode afetar a eficiência do processo, a identificação e resolução de problemas, ao mesmo tempo em que aprimora a experiência do cliente e possibilita resultados de negócios mais eficazes e eficientes.”

Abraçando a tendência
Uma empresa que já adota a combinação IA/DevOps é a Power Home Remodeling, que criou sua própria plataforma proprietária  conhecida como NITRO, englobando tudo, desde a plataforma de gerenciamento de relacionamento com o cliente (CRM) até sua própria rede social interna.

“Como na verdade somos uma loja de desenvolvimento, temos uma verdadeira equipe de DevOps”, diz Tim Wenhold, diretor de inovação. A Power está construindo sua própria infraestrutura de IA através da NITRO, com o objetivo de deixar seus dados à disposição e permitir que a IA e o Machine Learning ajudem a desenvolver um melhor serviço ao cliente, aumentar a eficiência e as capacidades da equipe.

A equipe de DevOps está “descobrindo como dar vida à infraestrutura da IA”, diz Wenhold. “Essencialmente, nossa equipe de DevOps precisa oferecer suporte a qualquer ambiente de desenvolvimento. Assim, em nosso mundo, o maior impacto que a IA e o Machine Learning estão tendo hoje está relacionado aos desenvolvedores que estão aprendendo novas habilidades ”.

A IA também está ajudando o DevOps a se mudar para um “estado preditivo”, diz Wenhold. “Quando olhamos para os nossos processos de integração contínua, por exemplo, a IA está nos dizendo onde fazer mudanças para melhorar o pipeline de desenvolvimeto”, diz ele.

Por exemplo, com segurança, é difícil identificar rapidamente padrões alarmantes. “Hoje, levamos muito tempo para revisar os vários registros e relatórios relacionados ao monitoramento de segurança”, diz Wenhold. “Quando você aplica o aprendizado de máquina à identificação de ameaças, pode receber sinais de anomalias bem mais rápido do que com a prática atual. A IA e o Machine Learning ajudarão as equipes de DevOps a serem mais pró-ativas e reativas, fornecendo-nos a capacidade de prever melhor – em todos os nossos ambientes. ”

“A IA ajudará a avançar a modelagem preditiva para o benefício do DevOps”, diz Wenhold.

À medida que a IA se torna ainda mais poderosa, o impacto no DevOps só aumenta. “Chegaremos a um ponto em que A IA não ajudará apenas na sinalização de anomalias, de forma mais rápida; ajudará também a resolver problemas antes mesmo de sabermos que eles existem”, diz Wenhold.

“Atualmente, atuamos como detetives: revisamos os registros, localizamos a anomalia e fazemos ajustes”, diz Wenhold. “A IA vai mudar esse processo encontrando a anomalia para nós. E, então, nos dirá o que pode acontecer e apresentará opções para fazer uma mudança para lidar com a ameaça. Isso é emocionante”.

A empresa de assistência médica Molina Healthcare também está entusiasmada com a tendência de IA/DevOps. “Já estamos vendo de onde virão os benefícios”, diz Rick Hopfer, CIO da Molina Healthcare, que iniciou o caminho da alavancagem da IA ​​na área de DevOps em 2016.

“O problema que estávamos tentando resolver era como obter percepções das montanhas de dados em todos os registros transacionais que nossos sistemas geram diariamente”, diz Hopfer. “Ter um sistema para coletar informações não era suficiente, precisávamos nos concentrar no problema real versus todo o ruído”.

Para resolver isso, a empresa primeiro precisou racionalizar todas as ferramentas existentes que estava usando para monitorar aplicativos e infraestrutura. Em segundo lugar, precisava agregar os dados. Isso significa trazer a telemetria de várias ferramentas para uma plataforma central, correlacionar os dados e usar o ML para reconhecer o problema real. Em terceiro lugar, analisou tendências, através de análise preditiva .

“Isso significa construir as visões corretas para a visualização dos dados, impulsionar a eficiência e gerenciar proativamente a tecnologia”, diz Hopfer. “Usamos uma coleção de soluções de fornecedores para conseguir isso. Os resultados foram impressionantes. Ser capaz de identificar problemas quase em tempo real melhorou significativamente a quantidade de tempo para resolver problemas. ”

O futuro é agora
Agir com base em recursos de análise, dentro do contexto de uma determinada lente, como CI/CD, experiência do cliente, gerenciamento de problemas e assim por diante, é o futuro, diz Elliot. “A realidade é que automação e análise são como manteiga de amendoim e geléia – muito melhor juntas”, diz ele. “Isso reduzirá a velocidade nos processos de tecnologia e de negócios e a ação no contexto de situações únicas, específicas, de negócios e de tecnologia.

Mas as empresas não devem de modo algum tratar a IA e o aprendizado de máquina como tecnologias do futuro. O impacto no DevOps é para já.

“O DevOps pode aumentar a velocidade de novas aplicações, mas em um mundo de transformação pós-digital, o DevOps deve ser combinado com os requisitos de dados da IA”, diz Andy Grimes, principal tecnólogo da NetApp. “A combinação dos métodos do DevOps e dos requisitos de dados modernos criou um novo paradigma: o  DataOps“.  

Como os novos aplicativos de IA exigem agregação e preparação de dados em velocidades e escalas exponencialmente mais altas, “neste novo paradigma os desenvolvedores de DataOps estão mais alinhados com a equipe de TI e precisam entender onde os aplicativos de IA devem viver em um ambiente híbrido” diz. “DataOps modernos também incluirão coleta de dados de ponta, agregação central de dados no local, preparação de dados usando conjuntos de ferramentas em nuvem e a arquitetura necessária para mudar frequentemente com base na inovação e na evolução contínua dos negócios.”

À medida que a evolução dos DataOps continua, segundo Grimes, os dados permanecem constantes, “alimentando as ferramentas” de IA e as plataformas analíticas, enquanto aplicações e infraestrutura seguem sendo desenvolvidas com inovação contínua e design iterativo para suportar velocidade e quantidade massivas .

A IA traz três recursos distintos – auto-aprendizado, previsão e automação – que podem melhorar as práticas atuais de DevOps, como CI e CD, afirma Soumendra Mohanty, vice-presidente executivo e diretor de análise de dados da Larsen & Tourbo Infotech, provedora global de soluções de TI que orientou diversos clientes corporativos por meio de esforços de transformação digital, incluindo a implementação de IA.

Embora o DevOps tenha proporcionado agilidade e mais rapidez para a entrega de software, uma parte maior do processo de entrega ainda sofre com a falta de componentes críticos, como a inovação contínua e um loop de feedback contínuo.

“A IA e o Machine Learning alimentam os dados com capacidades de auto-aprendizagem”, diz Mohanty. “É precisamente por isso que as técnicas de AI e ML são extremamente benéficas se incorporadas nas tarefas e processos de DevOps”.

Por exemplo, quando o código está sendo desenvolvido, a IA e o Machine Learning podem acompanhar até que ponto a experiência do usuário final está sendo tratada, simulando vários cenários possíveis. “Os requisitos não são mais congelados e o usuário final não é mais um jogador passivo”, diz Mohanty. “IA e Machine Learing desempenham um papel fundamental na eliminação do desenvolvimento de software baseado em regras e trazem muita flexibilidade através do aprendizado a partir dos dados.”

IA e ML podem, portanto, ajudar a acompanhar o desempenho da produção e estabelecer vínculos com questões passadas, que tipos de resoluções foram fornecidas e em que medida elas foram eficazes. Alguns problemas podem ser previstos antecipadamente e corrigidos automaticamente. “Essas intervenções da AI  e do Machine Learning no DevOps não apenas farão o desenvolvimento de código e a implantação e produção serem muito mais previsíveis, como também fornecerão um processo de inovação contínuo”, diz Mohanty.

As equipes de DevOps se concentram no ciclo de vida do desenvolvimento, tendo em mente os requisitos das constantes mudanças. “Com a IA e o Machine Learning incorporados no processo de DevOps, as equipes de DevOps podem obter informações sobre como o código está sendo executado, se todos os cenários para a jornada do cliente estão sendo tratados, se problemas e resoluções passados ​​estão sendo considerados etc.”

devops

Gerenciando os dados
A IA também pode ajudar a gerenciar os crescentes volumes de dados em ambientes DevOps.

“O campo da IA ​​e do Machine Learning visa encontrar padrões e tendências em enormes conjuntos de dados”, diz Eliezer Kanal, gerente técnico de fundações de segurança cibernética da Divisão CERT do Instituto de Engenharia de Software da Universidade Carnegie Mellon.

“Grande parte do sucesso desse campo na indústria se origina de um grande número de indicadores fracos”, diz Kanal. “Por exemplo, se você deseja saber a temperatura externa, você acessaria uma única fonte de informação – o termômetro – que é um forte indicador da temperatura. Infelizmente, em muitos casos, não temos um tipo similar de sensor que possa medir diretamente o que queremos saber, então temos que confiar em muitos indicadores fracos. Os humanos acham esse tipo de tarefa muito difícil, mas para as máquinas modernas isso é quase trivial ”.

O DevOps “está repleto de enormes quantidades de dados; em anotações, comentários sobre rastreadores, relatórios de bugs, arquivos de log de todos os tipos, saídas automatizadas de código”, diz Kanal. Esses dados costumam ser usados ​​pelas equipes de desenvolvimento diretamente para sua finalidade declarada: relatórios de bugs usados ​​para entender o que é um bug, por exemplo.

“Mas quando a Inteligência Artificial e o Machine Learning são usados, muito mais pode ser ganho”, diz Kanal. Por exemplo, examinando os tipos de erros que tendem a ser reportados, os analistas podem descobrir várias observações secundárias, como quais módulos são mais usados, quais são os mais problemáticos, quais têm os bugs mais difíceis e outras informações altamente úteis relativas ao processo de desenvolvimento.

“Ao usar o sistema de relatórios de erros como fonte de dados sobre o ambiente [de desenvolvimento], em vez de apenas uma ferramenta operacional, as empresas podem aprender quantidades significativas sobre suas próprias práticas de desenvolvimento e melhorar seu desempenho geral”, diz Kanal.

Newsletter de tecnologia para você

Os melhores conteúdos do IT Forum na sua caixa de entrada.