Гитлаб спонсировал этот пост.
Когда ваш космический корабль приземляется под неожиданным углом на Луне, создавая критические проблемы общения, у вас есть только один шанс исправить это. Команда интуитивно понятных машин в частной компании по разведке частных космосов должна была быстро разрабатывать несколько программных патчей, проверить их с помощью автоматических трубопроводов и развернуть исправления с четверти миллиона миль, чтобы снова работать.
Этот сценарий разыгрался в феврале 2024 года, когда Одиссей стал первым коммерческим космическим кораблем сша, который приземлился на Луне за более чем 50 лет. Успешная миссия доказала то, что современные практики DevSecops могут достичь в самых экстремальных условиях, которые только можно себе представить.
Строительство критически важного программного обеспечения для глубоких ограничений
Когда интуитивно понятные машины выиграли контракт на 77 миллионов долларов сша от НАСА в 2019 году, его команда разработки программного обеспечения столкнулась с пугающей реальностью. У них было менее пяти лет, чтобы построить полный набор программного обеспечения Lunar Mission с нуля. Проект легко был на порядок больше, чем все, что когда-либо пыталась компания, базирующаяся в Хьюстоне.
Для Джеймса Блейксли, вице-президента по инженерам на интуитивно понятных машинах, это означало, что его команда из 40 до 50 разработчиков должна была бы создать системы для управления наземным управлением, моделирования, навигации и коммуникаций в полете и посадки-невозможной задачи с фрагментированным, трудоемким набором инструментов, которая не будет работать в этом масштабе. Каждое программное обеспечение должно было работать отлично, потому что неудача может полностью положить конец миссии.
Почему стандартных подходов к разработке было недостаточно
Уверенные в своих шансах на выигрыш в Лунном контракте НАСА, интуитивно понятные машины приняли Gitlab, унифицированную платформу Devsecops, за несколько месяцев до получения официального подтверждения. Это раннее решение оказалось решающим для того, что было впереди.
Блейксли признала, что им нужна платформа, которая может справиться со всеми своими проблемами с программным обеспечением в одном месте. Вся команда нуждалась в способности проникнуть в любой проект и немедленно вносить свой вклад, независимо от того, над чем они работали. Начиная с чистого листа, они пошли на совместную платформу.
Поскольку Odysseus снял 15 февраля 2024 года, неся коммерческие научные полезные нагрузки, включая технологии для наблюдений за радио, стереокамеры и навигационного допплера Lidar, команда обнаружила, что даже самое строгий тестирование не может предотвратить неожиданные проблемы.
Техническое глубокое погружение: развертывание пятен по пространству
Первый полет любого космического корабля считается экспериментальным, а инженеры ожидают найти проблемы и сортировки после запуска. Для Одиссея, безусловно, были вещи, которые возникли во время полета, несмотря на все строгие испытания. Команде пришлось исправлять программное обеспечение в полете с более жесткими сроками, более высокими ставками и значительно большим напряжением.
Из -за сроков, установленных орбитальной механикой и термическими ограничениями, были определенные сроки отправки пятен на посадку, как в полете, так и на Луне. Патчи включали исправления для поисков лазерных диапазонов, коммуникационных и навигационных систем.
Команда в значительной степени полагалась на непрерывные трубопроводы интеграции, чтобы убедиться, что патчи не вводят никаких дефектов в систему. Трубопроводы CI позволили им тщательно изучать программное обеспечение и запустить проверки на получение качества со скоростью, которую невозможно достичь вручную.
Разработчики Intuitive Machines создали свои собственные тесты регрессии, интеграции, обеспечения качества и принятия, которые проходили в трубопроводах. Эти тесты дали представление об измененном коде и гарантировали, что патчи ничего не сломали, были совместимы с программным обеспечением и фактически исправляли проблемы, которые разработчики намеревали их решить.
Процесс проверки был критическим, потому что введение плохих патчей может быть игрой и положить конец миссии.
Как объяснил Блейссли: «Вы должны ввести хорошие патчи в космический корабль. Платформа сделала это для нас».
Когда космический корабль неожиданно приземлился под углом на Луне, создавая критические проблемы коммуникации, трубопроводы CI стали еще более важными. Команды должны были быстро разрабатывать несколько программных патчей, проверить их, используя трубопроводы и быстро восстановить системы связи.
Результаты: исторический успех, несмотря на все шансы
С учетом того, что исправления успешно загружены в системы Lander, Odysseus работал на лунной поверхности в течение семи дней, приблизительную длину миссии. Космический корабль присоединился только к России, сша, Китае, Индии и Японии в рамках небольшой элитной группы, которая достигла лунной посадки.
Миссия обеспечила ощутимые улучшения в скорости развития. Команда пережила 10 -кратное увеличение каденции выпуска, сокращение простоя на 99% и сокращение времени выполнения трубопровода на 20 -кратное.
Что еще более важно, они доказали, что современные практики разработчиков могут позволить быстрое, критическое исправление в самых экстремальных условиях.
Как отметил Блейксли: «Мы построили космический корабль с нуля через пять лет. Если бы мы не приняли [the platform]мы не могли бы этого сделать. Ландер не пролетел бы, а не в сроки, над которыми мы работали, и с количеством людей, которые у нас были в команде ».
Ключевые уроки для развития высоких ставок
- Принять инструменты в тихие периоды: Реализация новых платформ в ситуациях высокого давления создает ненужные трения. Решение команды принять свою платформу DevSecops за несколько месяцев до того, как официальный контракт позволило им немедленно выполнить, когда это имело наибольшее значение.
- Безжалостно тестируйте перед запуском: Космический корабль работал, потому что они проверяли его десятки тысяч или сотни тысяч раз, прежде чем миссия пролетала. Если программное обеспечение в центре управления не сработало, операторы были бы слепы к телеметрии космического корабля и не смогли общаться.
- Дизайн для сценариев с нулевой маржью: При введении плохих патчей могут закончить миссию, автоматизированные трубопроводы служат критической защитной сетью. Комплексный подход к тестированию гарантировал, что они успешно развернули каждый патч.
- Включить бесшовное сотрудничество: Каждый член команды нуждался в возможности проникнуть в любой проект и вносить свой вклад. Последовательные инструменты и процессы сделали эту гибкость возможной, когда сроки следовали за орбитальной механикой, а не с спринтами.
Что дальше: здание для Артемиды
Успех Odysseus открыл двери для интуитивных машин. Затем компания сосредоточилась на запуске второго Lander в конце 2024 года и является одной из трех компаний, которые НАСА решила разработать лунную местность для миссий Artemis.
Как Блейксли размышлял о успешной посадке Odysseus: «Все, над чем мы работали, было объединено в одно очень специфическое событие, и у нас не было большого количества погрешности. Мы абсолютно не могли бы построить космический корабль за пять лет без Gitlab. Это помогло нам сделать историю».
Gitlab является самой полной платформой Devsecops с AI Devsecops для инноваций в программном обеспечении. Gitlab позволяет организациям повысить производительность разработчиков, повысить эффективность эксплуатации, снизить риск безопасности и соответствия, а также ускорить цифровые преобразования. Узнайте больше последних из Gitlab Trending Stories YouTube.com/ThenewStack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Эмилио Сальвадор — вице -президент по стратегии и девелопередам в Гитлабе. Эмилио занимал роли в Amazon и Microsoft с более чем 20 -летним опытом, и в последнее время он руководил стратегией и операциями для разработчика … Подробнее от Emilio Salvador