Construindo o software que ajuda a construir o SpaceX

Já falamos sobre o software que voa nos foguetes SpaceX, a equipe que testa o código para garantir que seja hermético e o código que ajuda os satélites Starlink a se comunicarem com os clientes e entre si. Para a nossa última peça, vamos mergulhar no trabalho de uma equipe que ajuda

Já falamos sobre o software que lança foguetes SpaceX, a equipe que testa o código para garantir que seja hermético e o código que ajuda os satélites Starlink a se comunicarem com os clientes e entre si. Para a nossa última peça, vamos mergulhar no trabalho de uma equipe que ajuda a construir os veículos. A equipe de software aplicativo elaborou um sistema ERP para cada etapa da construção de um foguete. “Uma de nossas responsabilidades é construir o software usado por quase todos na empresa para colocar o veículo na plataforma e pronto para o lançamento”, explica Anthony Rose, gerente de engenharia de software. “Isso inclui cadeia de suprimentos, manufatura, finanças, estoque, etc.”

 

Desde a compra e recebimento de matéria-prima, criação e execução de ordens de serviço para construir espaçonaves, rastreamento de fugas de qualidade e gerenciamento de mudanças e implementação de procedimentos para lançar um foguete, o sistema precisa ser robusto o suficiente para lidar com a fabricação e o lançamento de um Falcon 9. Isso foguete pode transportar carga ou humanos para a Estação Espacial Internacional ou colocar satélites em órbita; a confiabilidade é uma das principais preocupações.

 

“Um exemplo de nossas aplicações é um sistema de gerenciamento de peças que diz que uma determinada peça existe na fábrica. Foi fabricado. Agora onde está? Nosso sistema ajuda essa parte a se mover para o local em que precisa estar para que os foguetes sejam construídos da maneira mais eficiente possível. Outro exemplo é como fazemos gerenciamento de mudanças e rastreamento de defeitos. Temos que rastrear cuidadosamente como as peças se relacionam entre si e como os defeitos ou alterações em um design irão retornar e afetar todas as outras peças em um veículo ”, explica Rose.

 

A pilha de software - de monólito a microsserviços

 

Steven Sepanloo, gerente de engenharia de software da equipe, nos mostrou a pilha de software deles e como ela mudou ao longo dos quatro anos e meio em que trabalhou na SpaceX. “Tem sido evolucionário e não revolucionário até recentemente. Quatro anos atrás, tínhamos AngularJS, C # e um back-end relacional MSSQL, que era uma pilha transacional padrão para um aplicativo da web de página única. Esses aplicativos ainda existem, mas passamos a usar o Angular para aplicativos mais novos. ” A equipe também começou a usar a conteinerização e a construção de microsserviços, bem como se afastou do servidor SQL em favor do PostgreSQL. 

 

Kyle Madonia está na SpaceX há apenas sete anos e meio e trabalha como gerente sênior na equipe de software de aplicação. “Quando comecei, estávamos apenas saindo dos formulários da Web ASP.NET e começando a usar o Knockout JS, então isso foi antes mesmo do Angular.” 

 

Nos aplicativos monolíticos do SpaceX usados ​​na época, alguns aplicativos estavam em uma estrutura JavaScript desenvolvida internamente e outros aplicativos começaram a se mover para o KnockoutJS. “Em 2014, começamos a construir uma nova arquitetura. Curiosidade, nossa solução antiga se chamava DS9, e essa nova abordagem se chamava TNG, porque nossa equipe adorava Star Trek ”, diz Madonia rindo. A equipe começou a usar o AngularJS e a considerar a ideia de microsserviços.

 

“Um problema com um monólito é que você precisa implantar todas as peças juntas. Se algo estava quebrado em nosso sistema de chão de fábrica, mas tínhamos grandes mudanças que queríamos liberar no sistema de estoque, tínhamos que esperar para implantar as mudanças ”, diz Madonia. “Estávamos em uma cadência de lançamento semanal e precisávamos nos mover mais rápido.” Para isso, a equipe se concentrou na mudança de operações para minimizar a manutenção de aplicativos mais antigos.

 

Em 2019, quando a construção de sistemas para Starlink se tornou uma realidade para a SpaceX, a equipe viu uma oportunidade de avançar ainda mais nessa direção. “Queríamos um novo sistema de execução de fabricação para a Starlink porque sabíamos imediatamente que construir antenas parabólicas seria diferente de construir foguetes. Por exemplo, não precisávamos de todo o aplicativo de chão de fábrica para esta fábrica ”, diz ela. A equipe começou a construir algo fora do Warp Drive, o sistema ERP monolítico que vinha usando há anos. “Ele usa ActiveMQ para fazer chamadas de API assíncronas e fica separado do sistema principal.” 

 

A partir daí, a equipe construiu um sistema completamente separado para os operadores que trabalham em constelações de satélites, um novo sistema de telemetria e todos os aplicativos voltados para o consumidor necessários para os clientes Starlink. “Cada serviço é separado e tem regras muito específicas que regem a comunicação e as dependências entre eles. Você sempre pode usar APIs para obter as informações de que precisa, mas cada serviço não está vinculado a mais nada.”

 

Para cima, para cima e para longe

 

Para a equipe focada no software fora dos veículos, a grande mudança tem sido menos sobre as linguagens de programação que eles usam e mais sobre a diversidade de projetos que oferecem suporte. “O interessante para mim é que escalamos o que essencialmente parece ser quatro negócios paralelos: entrega de carga útil comercial com Falcon, voo espacial humano com Dragon, um provedor de serviços de Internet global com Starlink e transporte interplanetário com Starship”, diz Sepanloo. Ah, e não se esqueça do desenvolvimento da Starbase no Texas. “Muitas das inovações estão na forma como trabalhamos e como nos adaptamos como organização para dar suporte a essas diferentes linhas de negócios. Não aumentamos o tamanho de nossa organização - em vez disso, examinamos como poderíamos ser mais eficientes. Por exemplo,

 

A mentalidade desta equipe é que você só pode realmente alcançar o domínio do que está fazendo se a pessoa que é capaz de criar mudanças for a mesma pessoa que entende o que deve ser mudado. Essa é uma maneira nobre de dizer que as decisões de gerenciamento de produto e de engenharia vivem sob o mesmo teto e, de preferência, com uma pessoa ou equipe.

 

Os engenheiros são incentivados a descobrir o que precisa ser feito, explicar o modelo de negócios - o que ele impacta e por que vale a pena fazer - e então construir uma solução escalonável e de alto desempenho que resolva o problema de ponta a ponta. “Esse é um processo muito eficiente, semelhante a como você pode pensar que uma startup é construída”, diz Sepanloo. “Nós realmente nos concentramos em trazer nossos engenheiros o mais próximo possível do sistema real que eles estão impactando.”

 

Como Rose explica, o truque para as equipes de apoio à Starlink é descobrir “como impulsionar uma empresa que tem se concentrado na construção de veículos de lançamento sob medida para a construção de eletrônicos de consumo que precisam ser escalonados”. Para familiarizar seus engenheiros de software com a linha de montagem que construirá os Starlinks, ele os moveu para perto do metal. 

 

“Historicamente, nós nos sentamos no prédio principal com todas as outras equipes de software - era o mesmo prédio que abrigava a fábrica de foguetes, mas sentamos em um andar diferente. No momento, minha equipe está bem ao lado da linha de montagem Starlink. Transferimos todos para cá para que possamos estar em linha, entendê-lo e construir um sistema que não é familiar para muitos engenheiros de software ”, disse Rose. “Na verdade, fizemos turnos trabalhando nas diferentes estações da linha para que pudéssemos realmente entender quais eram os desafios. Desde então, temos sido capazes de começar a construir algumas soluções inovadoras - e esta é apenas a ponta do iceberg.”

 

Dados de dados em todos os lugares - ou não

 

Starlink não apenas introduziu novas idéias no processo de manufatura, mas também levou a novas idéias sobre ingestão e armazenamento de dados. “Quando você tenta algo novo pela primeira vez, como alterar uma configuração fundamental do foguete, é importante ser capaz de analisar esses dados”, diz Sepanloo. A SpaceX ajudou a criar a ideia de foguetes reutilizáveis, o que torna os dados sobre o desempenho de vôo especialmente interessantes. O segundo estágio é descartado após o uso, mas o booster (primeiro estágio) e as carenagens são reutilizáveis. “Nossos veículos não são dispensáveis. Agora voamos um booster nove vezes, um marco para nós. Os dados em função do aumento da taxa de voo são muito importantes para a compreensão do hardware. ” 

 

Mesmo as operações que estão em teste de desenvolvimento fornecem dados críticos. “Quando o Starship SN15 teve um pouso difícil (e emocionante!), As pessoas presumiram que ficaríamos infelizes, mas estávamos comemorando”, diz Madonia. “Fizemos tantas manobras bem-sucedidas e fomos capazes de reunir uma tonelada de dados valiosos para melhorar nossa próxima tentativa.”

 

Com Starlink, uma abordagem diferente é necessária. Em vez de processar dados de um lançamento de foguete, que tem um horário claro de início e fim, os satélites e a rede estão constantemente transmitindo dados. Embora a equipe já tivesse um armazenamento de dados para foguetes, eles construíram um novo armazenamento de dados de telemetria para Starlink usando .NET 5, Kafka, HBase, HDFS, Docker e Kubernetes. Este sistema foi projetado para escalar horizontalmente a fim de acomodar casos de uso de telemetria em grande escala, mas a equipe permanece vigilante em manter apenas a quantidade mínima de dados necessários. A estratégia é evitar ficar preso na paralisia da análise em um pântano de dados e, em vez disso, capturar apenas os dados necessários, analisá-los e tentar novamente.

 

Para explorar o Sistema Solar

 

Rose e Sepanloo estão ocupados dia a dia com as porcas e parafusos da construção de veículos espaciais. Mas eles não perderam de vista a missão maior que seu software está possibilitando. “Acho que as coisas interessantes que estão acontecendo com a SpaceX são os grandes objetivos. O número de veículos que precisam ser produzidos para construir uma civilização autossustentável em Marte dentro de um prazo razoável requer um ritmo de fabricação nunca visto antes do que estamos tentando fazer ”, diz Sepanloo. 

 

Para eles, não é apenas construir o que é difícil, é construir o que constrói o que também apresenta desafios. 

 

Desta equipe, criando fábricas mais inteligentes para a Starlink e automatizando o trabalho manual longe dos operadores de rede e satélites, desde a construção de uma ótima experiência do cliente para a Starlink até soluções de software inovadoras para ajudar a construir a Starship para garantir que seus sistemas possam lidar com o manifesto de lançamento robusto em 2021, não há escassez de projetos inspiradores. “Todos os anos, fico pensando que este será um ano muito emocionante para a SpaceX”, diz Madonia. “E todo ano é - mas então eu penso novamente no próximo ano! Quando comecei aqui, nunca imaginei que estaria trabalhando em um software para ajudar a construir um ISP global que pudesse levar a Internet a comunidades carentes. ” 

 

A equipe espera automatizar os sistemas rapidamente à medida que as máquinas se tornam cada vez mais complexas. “É aí que eu acho que muitas das inovações realmente legais estão acontecendo agora para nos transformar em uma empresa que pode construir uma frota inteira e operar vários espaçoporto”, diz Sepanloo. “É uma ótima oportunidade para nossa equipe ver como construímos os sistemas certos para unir o digital e o físico.”

 

Se você quiser saber mais sobre como trabalhar com software na SpaceX, confira a página de carreiras deles. Para as outras postagens do blog desta série, você pode acessar o resto da nossa série em nossa comunidade.

 

 

O Avance Network é uma comunidade fácil de usar que fornece segurança de primeira e não requer muito conhecimento técnico. Com uma conta, você pode proteger sua comunicação e seus dispositivos. O Avance Network não mantém registros de seus dados; portanto, você pode ter certeza de que tudo o que sai do seu dispositivo chega ao outro lado sem inspeção.


Strong

5178 ब्लॉग पदों

टिप्पणियाँ