Utilizing AWS to build a scalable and cost-effective application at SPI Group

Background

SPI Group is a strategic communications agency focused on helping clients achieve audience engagement and program performance within multiple regulated industries. They incorporate existing, emerging, and custom-built digital solutions, such as intranets, websites, gamification, and employee mobile apps, with thoughtful communications strategies to engage audiences.

Challenge

SPI Group was responsible for the ongoing design and maintenance of an inherited internal application that they were managing for one of their clients, a large multinational investment bank and financial services corporation. The internal application, which was used by all employees at the organization, was hosted and maintained by a managed provider on virtual machines. SPIGroup maintained the code in a git repository.

Approach

Up until this point, SPI Group had been focused on development rather than operations, and releases had been managed manually with no formal release process. Keyrus worked with SPI Group to develop a standardized build and release process, then extend that process to a full CI/CD workflow: a successful PR and merge to the main branch triggers a new pipeline execution in AWS CodePipeline. The pipeline execution calls AWS CodeBuild to compile the updated codebase, build new container images, register the image in Amazon Elastic Container Registry, and create a new task definition in Amazon ECS, which is then deployed with AWS CodeDeploy. In this manner, the entire release process is automated and consistent and out of the hands of the developers.

Key Results

  1. Deployment time reduced from 1-2 hours to 10 minutes

  2. Production Code changes are trackable via merge commits

  3. Problematic builds are automatically rolled back before even making it into production

Benefits

Implementing DevOps practices immediately enabled SPIGroup to release software more quickly and consistently while catching bad deployments before putting them into production. In addition, the addition of DevOps practices enabled SPIGroup to take advantage of other AWS managed services, such as Amazon ECS, which further increased the application's scalability and reliability while reducing costs.