Skip to main content

Aprendizados da transformação para a nuvem na transição para a IA

Escrito por

21 de maio de 2024

0 minutos de leitura

Equipes de desenvolvimento de todos os portes estão empolgadas com as possibilidades de usar ferramentas de IA para criar software. Assistentes de programação como Google Gemini e GitHub Copilot têm potencial para acelerar o desenvolvimento como nunca, e os desenvolvedores estão adotando essas ferramentas — com ou sem aprovação oficial da liderança.

Ao pensar nas melhores formas de adotar essa nova tecnologia, sua equipe talvez sinta que já passou por isso. As promessas da IA — novos níveis de velocidade, inovação etc. — provavelmente lembram outra transformação digital que vivemos há cerca de dez anos: a chegada da nuvem.

A transformação para a nuvem mudou o desenvolvimento de software de várias maneiras, levando as equipes a aprimorar seus processos e aumentar a velocidade à medida que lidavam com tecnologias emergentes, como infraestrutura como código (IaC) e contêineres.

Da mesma forma, as tecnologias de IA vão mudar a maneira como criamos software. Os desenvolvedores podem usar IA para gerar código em uma fração do tempo que levariam para escrevê-lo manualmente. Vimos o mesmo salto em velocidade e eficiência quando a transformação para a nuvem ganhou força.

Mas muitos de nós também conhecemos as dificuldades que acompanham esse tipo de mudança tecnológica, como novos riscos de segurança e dúvidas sobre responsabilidades. Embora a IA possa parecer um salto enorme para algumas organizações, ela não é tão diferente de outras transformações pelas quais já passamos. Os aprendizados da transição para a nuvem, há uma década, podem ser muito úteis para lidar com as mudanças trazidas pelas tecnologias emergentes de IA hoje.

Aprendizados da transformação para a nuvem

Para muitas organizações, a transformação para a nuvem revelou problemas que já existiam. Ineficiências nas transferências entre equipes ou ferramentas legadas talvez passassem despercebidas em um ambiente local. Mas, depois da migração para a nuvem, ficou impossível ignorá-las. As organizações logo perceberam que precisariam evoluir em três áreas.

Adoção de ferramentas de DevOps

Ao migrar para uma abordagem de DevOps na nuvem, as organizações logo perceberam que muitas ferramentas existentes, criadas para ambientes locais, não dariam conta do recado. As equipes de segurança, em especial, precisavam adotar ferramentas capazes de acompanhar o ritmo acelerado e as mudanças constantes de uma abordagem iterativa de DevOps. Caso contrário, frustrariam os desenvolvedores e prejudicariam a eficiência dos negócios.

Para se adaptar a esse novo ritmo, as organizações adotaram o DevSecOps, integrando testes de segurança ao longo de todo o ciclo de vida do desenvolvimento de software, em vez de esperar até o fim do processo para testar. A transição para o DevSecOps exigiu que as equipes deixassem de lado as ferramentas tradicionais e adotassem ferramentas novas, criadas especificamente para a nuvem. Essas ferramentas precisam ser testadas rapidamente, estar alinhadas a processos ágeis como CI/CD e funcionar perfeitamente com elementos voltados à nuvem, como contêineres e código aberto.

Aprendizado: para aproveitar a transformação digital, adote ferramentas criadas especificamente para novas tecnologias e que se integrem perfeitamente a fluxos de trabalho ágeis.

As novas tecnologias de IA de hoje também exigem a pilha tecnológica adequada. As equipes devem escolher ferramentas compatíveis com as soluções modernas de IA. Além disso, elas precisam ser criadas especificamente para as características únicas do código gerado por IA, com recursos como etiquetas para diferenciar o código gerado por IA daquele escrito por pessoas.

Promover a responsabilidade compartilhada

A migração para a nuvem também mudou a forma como as organizações compartilhavam responsabilidades. Por exemplo, a infraestrutura de TI deixou de ser composta por estruturas físicas sob responsabilidade da equipe de TI e passou a ser infraestrutura como código (IaC), provisionada pelas equipes de desenvolvimento. Essas equipes também tiveram que assumir a responsabilidade pela segurança ao longo de todo o ciclo de vida do software, verificando e corrigindo problemas no código.

Para promover essa responsabilidade compartilhada em diferentes etapas do SDLC, as empresas começaram a criar centros de excelência em nuvem e programas de security champions. Esses programas de treinamento capacitaram as equipes a colaborar na criação de aplicações seguras e de alta qualidade em ambientes de nuvem.

Aprendizado: para aproveitar a transformação digital, implemente programas de treinamento e centros de excelência que promovam as melhores práticas em toda a organização.

Para adotar IA sem comprometer a segurança ou a qualidade, as equipes de hoje também precisam considerar programas de treinamento que enfatizem as melhores práticas de IA e até mesmo avaliar a criação de um centro de excelência em IA.

Criar processos integrados

Na transição do modelo cascata para uma abordagem de DevSecOps, as equipes precisaram preencher lacunas nos processos, como integrar testes de segurança aos fluxos de trabalho de desenvolvimento. As transições entre as etapas do desenvolvimento precisavam ser fluidas, com o mínimo possível de mudanças de contexto. Por exemplo, as equipes começaram a usar ferramentas e processos de segurança integrados a ferramentas comuns de desenvolvimento, como ferramentas de CI/CD, repositórios e CLIs. Essas integrações facilitam uma abordagem mais abrangente e permitem que as equipes aproveitem todo o potencial da nuvem em termos de velocidade e colaboração.

Aprendizado: para aproveitar a transformação digital, preencha as lacunas nos processos, minimizando mudanças de contexto e integrando a segurança aos fluxos de trabalho já usados pelos desenvolvedores.

Usar IA com segurança também exige processos integrados, como adotar um assistente de segurança que se encaixe nos fluxos de trabalho de GenAI existentes. Se os desenvolvedores precisarem seguir etapas extras demais para proteger o código gerado por IA, o principal objetivo de usar IA — ganhar velocidade — será comprometido.

Adaptar-se à velocidade da IA

A IA está fazendo exatamente o que a nuvem fez há dez anos: impulsionando a capacidade das empresas de criar aplicações com mais rapidez e eficiência. Mas, assim como na migração para a nuvem, as organizações precisam tomar medidas planejadas para se adaptar às mudanças de forma tranquila e segura.

Recentemente, a Snyk anunciou uma colaboração inédita com o Gemini Code Assist para apoiar as organizações na transição para o desenvolvimento assistido por IA. Essa parceria integra os recursos do Snyk Code aos fluxos de trabalho já usados pelas equipes de desenvolvimento com o Gemini. Assim, os desenvolvedores podem analisar em segundos o código gerado por IA, avaliando o código criado pelo Gemini no contexto do restante da aplicação. Em seguida, recebem sugestões de correção passo a passo diretamente no IDE. Ao encontrar e corrigir vulnerabilidades no código gerado por IA assim que fazem o commit, os desenvolvedores mantêm a velocidade proporcionada pela IA sem comprometer a segurança.

Saiba mais sobre nossa parceria com o Gemini Code Assist.

Publicado em: