news.volyx.in

How NASA built Artemis II’s fault-tolerant computer (cacm.acm.org)

645 points by speckx · 97 days ago · 235 comments on HN

Article summary

The article discusses how NASA built a fault-tolerant computer for the Artemis II mission, with a focus on the challenges of creating deterministic systems in the context of modern Agile and DevOps approaches. The article quotes a CMU expert who notes that these approaches can lead to technical debt and decreased system resiliency. The discussion revolves around the trade-offs between iteration and architectural discipline in software development. The article's content is not directly available, but the comments reveal a debate about the merits of different development approaches.

Main themes

  • Fault-tolerant systems
  • Agile vs deterministic development
  • Space exploration software
  • Technical debt
  • DevOps challenges

What commenters say

  • Modern Agile and DevOps approaches can compromise architectural discipline and lead to technical debt and decreased system resiliency.
  • It is possible to iterate on architecture and maintain determinism, but it requires careful planning and dedication to technical debt reduction.
  • The development of fault-tolerant distributed systems is a complex challenge that requires significant expertise and resources, and cannot be trivially solved with modern tools.
  • The use of Agile methodologies does not necessarily imply a lack of discipline or attention to architecture, but rather a different approach to software development.
  • The comparison between NASA's Artemis II mission and modern software development practices is unfair, as the former requires a level of reliability and determinism that is not necessary for most commercial software applications.
  • The industry's focus on iteration and rapid development has led to a decline in software quality and reliability, despite advances in technology.
  • The development of fault-tolerant systems for space exploration is a valuable endeavor that can help to preserve and advance human skills in software development, which are at risk of being lost in the age of AI.
  • The idea that modern software development is inherently flawed and that older approaches were superior is a subjective opinion that may not be universally applicable.