Streamlining GDS Deployment with the AMMOS Automated Deployment System

Of the myriad of tasks involved in implementing a ground data system, few are as frustratingly time-consuming and problematic as software deployment. The challenges associated with deploying large and diverse sets of software capabilities to correspondingly complex sets of operational environments under tight turnaround constraints can lead to disruptive complications. Software can be incomplete, corrupted, or otherwise misconfigured, leading to costly rework. Audit procedures may be insufficient, increasing the risk of undetected defects. Quite often, insufficient time exists to systematically address these issues through comprehensive process and procedures. As a result, the task of deployment is often left to experienced domain experts who rely heavily on highly customized procedures and automation to ensure a successful, repeatable deployment process. A common example of this approach is ‘bare metal provisioning’ where a complete computer system image, including automatic configuration of deployed services, is used to create an exact copy of the desired software and configuration on a computer system. This is useful for initial deployment, however it can quickly prove constraining when updates are necessary. In such an approach, updates are often accomplished through another provisioning exercise, resulting in system downtime while the update is processing. Additionally, any end-user configurations or add-on applications that are not part of the provisioning profile must usually be re-tested, adding to the shared burden of deployment. Workarounds such as network shares may be used to simplify this process, however this can introduce potential issues with manageability and reliability. Regardless of the approach taken, developers and users of the system are left with an environment highly constrained by deployment procedures. Tomorrow’s decentralized operations teams cannot afford to be burdened with such constraints. New enabling technologies such as virtualization, virtual desktop infrastructure (VDI), and cloud computing, have the potential to revolutionize mission operations. It is imperative that the problems and inefficiencies related to deployment be rectified if the mission operations system is to truly be modernized. To address these challenges, NASA’s Multimission Ground Systems and Services Office (MGSS) has embarked on an ambitious effort to evolve its multimission ground system (Advanced Multimission Operations System, or AMMOS) to meet future needs of a diverse set of stakeholders. As part of this effort, MGSS has made changes to its products and services to allow for much easier deployment. Central to this is the AMMOS Automated Deployment System (ADS), a capability to enable automated deployment of prepackaged software. ADS allows an administrator to configure one or more remote systems in terms of a high-level software delivery specification via a centralized management interface. The ADS deployment framework ensures all components of a software delivery, including unspecified dependencies, are installed in the correct order. ADS also provides the ability to verify the integrity of the delivery through automatic file checksum verification, minimizing or eliminating the need for custom checkout scripts or procedures. ADS performs these actions quickly and reliably using centralized control and asynchronous distributed processing. In so doing, ADS substantially reduces the time and complexity of deploying software, while providing the foundation necessary to take advantage of new enabling platforms such as cloud computing.