National defense organizations have some of the most demanding software requirements in the world. Stringent security standards and complex environments make it challenging for developers to work efficiently. Because systems are deployed across large, proprietary government data centers, development teams find it challenging to create production-like environments for coding and testing. This, in turn, reduces the number of testing cycles that can be performed in a given amount of time.

As one of the world’s leading providers of technology for mission-critical defense systems, Raytheon is using Amazon Web Services (AWS) to deliver solutions faster, with higher quality and lower cost. Raytheon is an Advanced Consulting Partner in the AWS Partner Network (APN) and a member of the AWS Public Sector Partner Program. “We previously used a combination of bare-metal hardware, custom hardware devices, and server virtualization to create coding and testing environments,” says Steve Porter, engineering fellow at Raytheon. “Every development cycle required reconfiguring hardware and operating systems, just to get back to a clean system. It could take several days in a traditional data center.”

Today, as part of Raytheon’s effort to improve development-cycle time while controlling costs and schedules for defense customers, the company is using AWS GovCloud (US) to enable developers and testers to work at scale and speeds previously not achievable. AWS GovCloud (US) is an isolated AWS region, subject to FedRAMP High and Moderate baselines, that allows customers to host sensitive Controlled Unclassified Information (CUI) and all types of regulated workloads. The GovCloud region, operated by employees who are U.S. citizens on U.S. soil, is accessible only to vetted U.S. entities and root account holders, who must confirm they are U.S. citizens to gain access to this region.

Using AWS, Raytheon can provision network, storage, and compute resources on demand with the elasticity to grow and shrink those resources as needed for its national defense customers. The cloud eliminates time-consuming steps such as receiving computer hardware and related materials, inventory and facilities management, and hardware integration. In turn, this reduces the time needed for program start-up, improves mission software quality, and enhances product lifecycle support.

To take advantage of cloud speed, elasticity, and scale, Raytheon developed continuous-delivery processes that allow mission software to be deployed and executed in the same way across multiple environments, independent of the underlying platform. Deployment teams use Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Block Store (Amazon EBS), and Amazon Simple Storage Service (Amazon S3) to construct production-like server clusters, file shares, network topologies, and specialty devices that mimic the final production environment.

Because of the highly sensitive nature of Raytheon’s programs, the company requires a cloud solution that complies with a wide range of government requirements. AWS GovCloud services are U.S. Department of Defense Impact Level 4– and Level 5–compliant. “Granular AWS authorization, authentication, and logging services empower us to manage complex security requirements to meet individual customer needs,” says Porter.

Raytheon codes system configuration, management, and provisioning steps using Chef, an automation platform for managing infrastructure as code. This approach enables rapid, automated deployment and allows software tests to “fail fast” to provide rapid feedback to development teams. Infrastructure developers can test resource provisioning and integrations iteratively on clean environments, while DevOps teams can instantly provision identical environments as needed.

The new environment ensures consistency across the software lifecycle. With Chef, Raytheon can use the same code to deploy test, integration, and production nodes. “Development and production infrastructures are identical, whether provisioned from AWS, as hosted virtual servers, or on physical resources,” says Porter. Overall, the company has been able to test code up to 30 times faster using the new approach.

This agility has transformed Raytheon’s ability to keep code up-to-date. “These are very large-scale, enterprise-grade mission software deployments,” says Porter. “They typically use legacy software architectures that don’t break down into small microservices.” Although new builds were released monthly, using on-premises servers took 60 to 90 days for full regression testing. That means one build was not completely tested before a new build was released. “At any one time, we would have three versions of an application in flight,” says Porter. “We weren’t able to fully test all the changes that were happening before a new batch would be released.

With the ability to instantly stand up a clean, production-like environment, Raytheon has moved to a continuous-integration approach. “Using AWS, when we make a change, we can test it,” says Porter. “When code is checked in, the relevant pieces of the system spin up for a functional test. If it works, it’s committed to baseline for further testing down the road. If a developer broke something, they know right away, and they can fix it.”

Raytheon cut its testing time from months to minutes using its cloud-based DevOps approach. “In the past, test environments took four months to build, and they were updated infrequently,” says Porter. “Now, using AWS, we deploy them in 15 minutes. Because environments persist for only a few hours, they don’t drift from the latest system baseline, and automated test pipelines control the lifecycle of the environment from provisioning through tear-down.”

The company uses tags—customer-defined metadata about AWS systems—to automate test-environment hygiene. “We have a tag value that sets how long the environment will persist,” says Porter. “The default is between two hours and one day. By tearing down development and test environments regularly, we ensure developers are working against the latest baseline.”

With an elastic, on-demand, cloud-based development environment, Raytheon can reduce its commitment to planning, building, and maintaining on-premises data centers, which are expensive and time-consuming activities. If additional compute, storage, or network resources are needed, they are instantly available. That frees the company’s developers to focus on creating high-quality code to meet the needs of its defense sector customers, while meeting their high standards for security and compliance.

Raytheon is an AWS Partner Network (APN) Consulting Partner in the AWS GovCloud (US) Region providing secure software and systems to public sector and commercial organizations. For more than 90 years, Raytheon has helped enable countless missions by remaining committed to a single one: customer success. It delivers innovative solutions across Sensing, Effects, C3I, Mission Support.