As part of an ongoing modernization effort, a large federal agency requested assistance to move from a legacy system to a more robust and cost-effective cloud system. Our team at Artemis Consulting conducted an application assessment plan for the agency to migrate from the old application to a new system built to scale in the cloud. Our strategy involved moving the old data center content to a new cloud-based system utilizing, in this case, an Amazon Web Services RDS for the database backend. This plan allowed the customer to move to the new system with zero downtime and a more secure and fault-tolerant system.
Artemis Consulting implemented a cloud-native solution using AWS as the cloud provider for the enterprise system. When designing a system, many requirements need to be factored into the system architecture. These include customer goals, infrastructure needs, application availability, and a whole host of other considerations. Our approach factors in server allocation costs, so that the application is not using valuable resources when it is not being utilized. This project, in particular, required multiple layers of infrastructure development and provisioning. Our solution utilized a set of cloud-based services and solutions to create a CI/CD pipeline that deploys containerized components. The containers are orchestrated in AWS’s ECS as Fargate tasks. This system is built and maintained using Terraform scripts that allow an Infrastructure-As-Code approach to provisioning and maintaining cloud resources.
To complete the data center migration, the AWS ECS clusters were built using common reusable Terraform templates, enabling baked-in security features and auto-scaling policies to ensure consistency across environments. These environments use the following AWS services:
- AWS ECS for Container Orchestration
- AWS Postgres RDS
- AWS OpenSearch
- AWS Simple Notification Service (SNS)
- Queuing Service
- CodeArtifacts and ECS for Artifacts and Container Registry
- AWS Lambda for Short-Lived Serverless Tasks
This migration, development, and management of a major enterprise-wide Cloud-based solution required a comprehensive plan and detailed execution. Beginning with a thorough assessment of applications to be hosted, we designed the target AWS environment with sufficient capacity. We then designed the migration plan using automated CI/CD deployments, taking time to build flexible scripts rather than hastily utilize a manual build process. We instituted repeatable processes for maintaining and updating the environment with a focus on security and sustainability. The ultimate benefit to the institution was a high-performance, low-risk, reliable solution that took advantage of the offerings of a cloud-based solution.