A Lockheed Martin economiza tempo, dinheiro e recursos tecnológicos com o GitLab
Quer saber o que o GitLab Ultimate pode fazer pela sua equipe?
A maior empresa de defesa do mundo usa a plataforma DevSecOps de ponta a ponta do GitLab para reduzir as cadeias de ferramentas, acelerar a produção e melhorar a segurança.
A Lockheed Martin Corp., uma gigante norte-americana dos setores aeroespacial, defesa, segurança da informação e tecnologia, adotou a plataforma DevSecOps de ponta a ponta do GitLab para desenvolver e implantar software com mais eficiência, segurança e agilidade em milhares de seus programas, que incluem desde plataformas de satélite e sistemas aeroespaciais até software para controle em terra e sistemas marítimos de superfície e submarinos.
Atender às necessidades da missão com velocidade e flexibilidade
Com sede em Bethesda, Maryland, a Lockheed Martin conta com aproximadamente 116.000 funcionários em todo o mundo e mais de 370 instalações. A empresa atua principalmente em pesquisa, projeto, desenvolvimento, fabricação, integração e manutenção de sistemas, produtos e serviços de tecnologia avançada. A maioria das suas atividades está relacionada ao Departamento de Defesa e agências do governo federal dos EUA. Somente na indústria aeronáutica, a Lockheed Martin registrou US$ 26,7 bilhões em vendas em 2021.
Os clientes da Lockheed Martin contam com a empresa para superar seus desafios mais complexos e se manter à frente das ameaças emergentes, oferecendo as soluções tecnologicamente mais avançadas. Suas equipes de engenharia precisam de velocidade e flexibilidade para atender às necessidades específicas de cada missão dos clientes, enquanto utilizam experiência e infraestrutura compartilhadas para garantir a viabilidade financeira.
Complexidade da cadeia de ferramentas
A Lockheed Martin já usou diversas ferramentas de DevOps ao longo do tempo, como ClearCase, Jenkins, Dimensions, Redmine e Bitbucket. Cada programa ou linha de produtos da empresa tinha sua própria cadeia de ferramentas, que raramente eram semelhantes, pois os membros das equipes optavam pelas ferramentas com as quais estavam mais familiarizados.
Isso resultou em variações na eficiência e nos resultados.
Alan Hohn, Diretor de Estratégia de Software da Lockheed Martin, disse que a qualidade do ambiente de desenvolvimento e implantação de uma equipe de DevOps geralmente dependia da sorte. Programas com um bom financiamento ou lideranças visionárias poderiam contar com automação avançada em todas as etapas, desde testes até implantações contínuas, enquanto outros tinham apenas um servidor para executar compilações. Nos piores casos, os programas não tinham nenhuma automação, o que resultava em mais trabalho manual, consumindo tempo dos membros da equipe e aumentando as chances de problemas não identificados.
Maior colaboração
Para complicar ainda mais, as equipes de desenvolvimento de software da Lockheed Martin tentaram inúmeras vezes configurar repositórios de código que permitissem a reutilização de código entre os programas. No entanto, esses repositórios quase nunca eram usados, pois não eram integrados aos diversos ambientes em que as equipes desenvolviam o software. Sem um ambiente de colaboração adequado, os desenvolvedores estavam sempre começando do zero, enquanto o código nos repositórios "ficava abandonado", segundo Hohn.
Depois que a Lockheed Martin adotou amplamente a plataforma do GitLab, o compartilhamento e a reutilização de software passaram a fazer parte de suas operações diárias.
"O GitLab transformou totalmente nossa abordagem ao software reutilizável, pois o espaço onde desenvolvemos software também é o lugar onde outras pessoas podem compartilhar, contribuir e participar do processo", diz Hohn. "Agora, todos os nossos programas têm acesso a um ambiente de desenvolvimento de software de alta qualidade."
Esse ambiente traz benefícios diretos para os clientes da Lockheed Martin. Uma equipe que trabalhava em um programa para o Departamento de Defesa dos EUA conseguiu reduzir o tempo de compilação de 12 horas para 4 horas ao utilizar pipelines do GitLab com compilações em contêiner. Isso permitiu que o programa executasse 16 compilações por noite, em vez de quatro, aumentando a frequência dos testes e a qualidade do software. No geral, o sucesso das compilações passou de 60% para 90%. Como resultado, o cliente está recebendo novos recursos mais cedo e com melhor qualidade.
Promover a continuidade
Um dos maiores desafios que a Lockheed Martin enfrentou ao promover a colaboração entre programas e em toda a empresa era que seu software residia em diversos sistemas com diferentes requisitos de segurança. O GitLab, em conjunto com a Software Factory da Lockheed Martin, permite que a empresa modularize seu software para que os componentes reutilizáveis possam ser compartilhados em ambientes globalmente acessíveis, enquanto as equipes mantêm um controle rigoroso sobre os componentes de software essenciais ou com restrições de segurança.
Uma das principais características da Software Factory da Lockheed Martin é que ela oferece um arquivo YAML de configuração padronizado de CI do GitLab e imagens de contêiner de CI também padronizadas, que são pré-configuradas para funcionar com outras ferramentas de desenvolvimento de software da empresa.
Como as equipes precisam manter ambientes separados por motivos de segurança, a configuração deve funcionar em diferentes ambientes de hospedagem para registros de imagens e ferramentas associadas. Elas também precisam manter versões específicas do software durante anos, pois, em alguns casos, ele é implantado em ambientes operacionais que não permitem atualizações frequentes.
Para enfrentar esses desafios, a equipe de Hohn criou um catálogo de pipelines comuns para linguagens de programação populares, com módulos para análise de segurança, compilações de imagens de contêiner e versionamento semântico. O catálogo de pipelines permite que os desenvolvedores usem o mesmo arquivo YAML de origem em vários ambientes sem precisar fazer modificações. Também permite criar uma compilação histórica usando uma versão específica de um pipeline, garantindo a uniformidade das versões.
Antes de adotar o GitLab, a Lockheed Martin tentou criar um conjunto padrão de pipelines, mas eles acabaram sendo utilizados por poucos usuários e eram excessivamente normativos. Isso não era o suficiente.
Com o GitLab como base para seu catálogo de pipelines, a Lockheed Martin conseguiu criar modelos que podem ser reutilizados em diversos ambientes, inclusive em redes desconectadas. Isso ajuda a economizar tempo e esforço e garante a continuidade entre os projetos. As atualizações de pipeline ficaram mais simples, e o gerenciamento sofisticado de testes e lançamentos se tornou mais fácil e eficiente.
"Agora, temos a certeza de que as mudanças em nossos pipelines são testadas automaticamente de forma minuciosa. Além disso, ficou fácil apoiar tanto as equipes de desenvolvimento dinâmicas quanto as mais conservadoras, que mantêm os recursos essenciais", diz Hohn. "Nossa nova abordagem, baseada em alguns dos principais recursos de CI do GitLab, nos ajudou a encontrar o equilíbrio certo entre uniformidade e personalização."
Atualmente, a Lockheed Martin opera 2.500 pipelines por minuto usando o catálogo de pipelines comuns.
Solução com ajuste de escala
Como a rápida adoção do GitLab gerou a necessidade de uma solução mais dimensionável, a Lockheed Martin, o GitLab e a Amazon Web Services (AWS) trabalharam em conjunto para automatizar e otimizar a implantação de código da Lockheed Martin em toda a empresa. A solução começou com uma revisão bem arquitetada do design entre as três empresas. Em seguida, a AWS ajudou a automatizar e otimizar a implantação do GitLab pela Lockheed Martin no ambiente de CI/CD, oferecendo Infraestrutura como Código (IaC) para implantar o ambiente em apenas duas horas, em vez das várias horas exigidas anteriormente.
A equipe da AWS também estabeleceu fluxos de trabalho para proporcionar uma arquitetura de recuperação de desastres para o GitLab, totalmente automatizada, altamente disponível, compatível e dimensionável. Isso possibilitou um processo uniforme, executado sem intervenção manual. A AWS também permitiu o balanceamento de carga para dimensionar automaticamente o processo de implantação conforme a demanda dos desenvolvedores por execuções de pipeline e tráfego de usuários, eliminando a espera pela execução das implantações. Foram realizados testes de pré-migração para estabelecer as linhas de base, seguidos de testes pós-migração para avaliar os ganhos em desempenho e capacidade de ajuste de escala na entrega de implantações mais rápidas.
Além disso, foram implementados controles de monitoramento e segurança para cumprir as políticas de segurança da Lockheed Martin. Como resultado, a equipe conseguiu aumentar sua eficiência operacional, reduzindo de 200 para zero o número de solicitações de compilação aguardando processamento e diminuindo o tempo de implantação de código em toda a empresa. Esse esforço mostrou como grandes empresas com milhares de desenvolvedores de software podem criar e implantar pipelines de código automatizados, dimensionáveis e resilientes na nuvem usando plataformas como o GitLab, ao adotar as práticas recomendadas da AWS.
Aposta no GitLab
A Lockheed Martin não precisou fazer uma avaliação formal da plataforma do GitLab antes de decidir adotá-la. Com anos de experiência usando diversas ferramentas disponíveis no mercado, as equipes de DevOps da empresa já sabiam os recursos e benefícios que obteriam do GitLab. Por exemplo, a capacidade de integração contínua do GitLab foi um "ponto decisivo", segundo Hohn.
E a empresa apostou forte no GitLab. Hoje, ela tem cerca de 64.000 projetos na plataforma GitLab, sendo que alguns foram migrados para o GitLab e outros foram iniciados na plataforma.
A Lockheed Martin não se livrou de todas as suas cadeias de ferramentas, mas houve uma redução significativa, diminuindo a complexidade, o custo e a carga de trabalho.
"Sabemos que, em alguns programas, o cliente vai preferir ter seu próprio ambiente de desenvolvimento e usar ferramentas específicas", explica Hohn. "Queremos chegar ao ponto em que as pessoas nem considerem montar sua própria cadeia de ferramentas. Elas simplesmente vão utilizar o GitLab porque sabem que ele funciona."
"Removemos todos os vestígios [de cadeias de ferramentas]? Não", acrescenta Hohn. "Mas são tão poucos que não significam muito para nós."
Por exemplo, antes de adotar amplamente o GitLab, a empresa usava o Jenkins para servidores de CI. Havia milhares de instâncias do Jenkins em toda a empresa. Esse não é mais o caso.
"Era necessário manter várias instalações diferentes. Simplificamos isso, concentrando principalmente no GitLab", diz Hohn. "Ainda existem algumas instâncias do Jenkins, mas são uma pequena fração do que havia há três anos."
Economia de tempo e esforço
A redução das cadeias de ferramentas está economizando tempo, esforço e dinheiro da empresa, permitindo que ela continue inovando e oferecendo soluções acessíveis aos seus clientes.
"As equipes que tinham ambientes independentes precisavam dedicar cerca de 20 horas semanais e 80 horas mensais apenas para manter o sistema funcionando", diz Hohn. "Em uma equipe de 12 pessoas, isso significa dedicar pelo menos metade do tempo de uma delas. Reduzimos essa carga em cerca de 90%. Agora, são necessárias apenas algumas horas do tempo de uma pessoa. Esse impacto se reflete em várias equipes. Como uma corporação com mais de 10.000 engenheiros de software, podemos dizer que estamos economizando centenas, senão milhares, de horas por ano."
Concentrar todos esses projetos na plataforma única do GitLab significa que programas legados, que antes realizavam entregas para testes uma vez por mês e para operações uma vez a cada três meses, agora fazem entregas para testes a cada seis dias e para operações a cada 26 dias, observa Hohn.
"É muito comum que as entregas mensais se transformem em semanais", acrescenta. "Agora, as entregas trimestrais estão se tornando mensais. Esse nível de mudança é bastante comum."
Com essa economia de tempo, a empresa pode responder às solicitações dos clientes com mais confiança e segurança.
"Atendemos a muitos clientes e gerenciamos diversas atividades de desenvolvimento de software", diz Ian Dunbar-Hall, Engenheiro de Software Sênior da Lockheed Martin. "O GitLab permite que as equipes passem do zero a um repositório e um pipeline completo de CI, de forma totalmente autônoma, em apenas 30 minutos, em vez das 40 horas mínimas que costumava levar."
Melhorias na segurança
Por trabalhar com o Departamento de Defesa e agências federais, a Lockheed Martin desenvolve sistemas críticos para a segurança nacional. Isso significa que criar software seguro é prioridade para a empresa e seus clientes. Um desafio para qualquer empresa que utiliza cadeias de ferramentas é que, dependendo do tamanho e da complexidade da cadeia, é fácil perder atualizações. Agora, com o GitLab, não é preciso mais se preocupar com ferramentas desatualizadas: com uma plataforma única e completa, basta uma atualização para cobrir todas as instâncias.
Além disso, com o foco dos clientes em defesa e segurança, a conformidade é uma questão crucial para a Lockheed Martin. Gerenciar isso ficou mais fácil agora que a empresa usa a estrutura de conformidade do GitLab para garantir a qualidade do software e a automação para tornar os lançamentos e o gerenciamento de dependências mais rápidos e eficientes.
O uso de uma única plataforma também significa que as equipes têm acesso a um conjunto padronizado de recursos de segurança automatizados, incluindo ferramentas avançadas de análise, verificações de vulnerabilidades e automação de segurança, todos perfeitamente integrados. Antes do GitLab, as equipes não contavam com as melhores ferramentas de segurança e não havia uma abordagem padronizada para gerenciar as práticas de segurança. Com o catálogo de pipelines padrão da Lockheed Martin, as equipes estão usando pipelines pré-configurados que já incluem segurança de ponta. "Agora que temos uma abordagem mais comum, é muito mais fácil para as equipes utilizarem um método unificado para criar software, realizar testes e executar análises de segurança, o que eleva a qualidade dos produtos que criamos", diz Hohn.
Além disso, com o GitLab, as equipes não precisam mais depender de especialistas em segurança, que podem ser difíceis de encontrar, para configurar várias ferramentas. A melhor segurança da categoria já está integrada, segundo Hohn.
"Hoje, é extremamente comum ter recursos avançados de análises de segurança integrados a todos os nossos pipelines, já que o esforço necessário para adicioná-los é muito menor", diz Hohn. "As equipes agora têm conhecimento da metodologia de segurança do código que estão desenvolvendo, algo que não tinham antes. Isso abre espaço para conversas sobre a segurança do nosso software que não eram possíveis antes."
A empresa ainda utiliza algumas ferramentas de segurança de terceiros, mas as equipes usam a plataforma do GitLab para facilitar a integração de todas elas. "É um ótimo complemento", diz Jeff Daniels, Diretor de Automações e Aplicações. "Agora que temos o GitLab, ficou mais fácil melhorar a nossa metodologia de segurança e a qualidade."
A Lockheed Martin quer continuar crescendo com o GitLab. As equipes de DevOps continuarão migrando mais projetos para a plataforma DevSecOps e expandindo suas operações a partir dela. "Esperamos ver um aumento no número de projetos que utilizam funcionalidades de segurança e de cadeia de suprimentos de software, incluindo painéis e pipelines de conformidade", diz Hohn.
Todas as informações e pessoas mencionadas no estudo de caso refletem a realidade na data da publicação.
Histórias de sucesso de clientes
Confira todas as históriasExperimente o GitLab
Descubra o que sua equipe pode fazer com uma única plataforma de distribuição de software.
Faça uma avaliação gratuitaDúvidas? Estamos aqui para ajudar você.
Fale com um especialista