The continued evolution of our data-driven society has greatly increased the service expectations citizens have of government. Agencies can’t meet these heightened expectations without transforming their legacy IT architectures and practices.
Agencies need to leverage technologies that deliver increased velocity and agility. Legacy cloud migration and Continuous Integration/Continuous Delivery and Deployment (CI/CD) are two mutually reinforcing ways for agencies to achieve IT transformation and deliver new services faster and more securely.
CI/CD
CI/CD has changed the way software is developed and deployed. CI speeds the software development process using automated testing to comprehensively test the entire application in order to integrate every code change as improvements are made. Developers find and fix bugs as they occur, continuously driving efficiency.
That integration then enables CD, the ability to confidently deliver reliable, secure code to production as it is finished. This greatly streamlines the process associated with Independent Verification & Validation (IV&V) testing. By making the production and testing of code into a single process rather than separate ones, development velocity can accelerate over time, producing reliable, tested code far faster than was possible in the past.
Made For Each Other
Legacy migration to the cloud is not a requirement for adopting CI/CD. The tools and the processes can be accomplished in an on-prem environment. That said migrating to the cloud offers many advantages for CI/CD. They both make life easier for IT teams-development, operations, testing/quality assurance, and security. The cloud removes much of the tedium and expense of maintaining physical servers, while CI/CD alleviates much of the effort required to build, test and deploy code.
The scalability of the cloud is tailor-made for CI/CD. The cloud allows for development tasks to be split up and run in parallel. A much larger pool of compute power is shared among many teams. This plus additional opportunities for automation make tests run much faster and speeding deployment. Microsoft does much the same thing with its Azure Pipelines tool.
Cloud based tools also provide pre-configured pipelines for CI/CD build environments. A pipeline is simply a sequence of events or jobs to be executed. For example, AWS’s CodePipeline offers a number of pre-configured build environments for a number of programming languages, including Ruby, Python and Java. The resulting code can then be placed in a Simple Storage Service (S3) bucket before being run and tested.
What It Looks Like
In 2019, a large U.S. Government Agency completed a data center migration into a cloud hosting environment. Following a rigid deadline, most of the applications were rehosted, rather than being re-architected for the cloud environment. As a result, most applications were unable to scale in the new environment or were tied to centrally managed clusters.
The applications required intensive manual support for patching and upgrades; operating costs were higher than anticipated as cloud resources were running on a 24/7 mode rather than pay as you go (despite minimal usage). We conducted an architectural assessment and identified a number of changes that would significantly impact agency development speed in the Cloud and cloud cost control.
Our Cloud Engineers created a continuous integration roadmap for the application teams. The team developed scripts using Terraform, Chef, and Jenkins to transform the infrastructure into a Cloud Architecture and Cloud hosting compliant state. We provided technical coaching that allowed agency development teams to achieve team managed deployments within months.
Agency Benefits:
How Can We Help You?
Simple Technology Solutions (STS) specializes in enterprise cloud transformation for government. We are:
At what stage of the CI/CD journey is your agency? Book a meeting with us today to start a conversation.
You can also download our CloudOps Report Card to see if your cloud infrastructure is "up to snuff" and access tips on maximizing the effectiveness of your application migration project.