Case Studies




Purchase Direct were residing on rented hardware in a private datacentre. Due to growth PD were outgrowing their current environment and regualry running into resource limitations. The architecture was also difficult to maintain, lacked resilience and any type of CI/CD Pipeline.


Rebura recommended that a move to AWS would be able to satisfy the requirements given and recommended this was done in a phased approach. Phase 1 was a short PoC to ensure that the application was able to run on ECS and to provide testing assistance. Phase 2 had a focus on getting a development environment configured with a pipeline and phase 3 was the creation of a production environment and pipeline, along with DR. We recommended and implemented the use of containers to simplify application deployment and to assist in improving scalability of the application

AWS Architecture

Multiple Application Load Balancers are set up, one for each service running on Amazon ECS Fargate. These balance traffic across the containers running in multiple Availablity Zones for resiliency, allowing for tasks to scale up as required. RDS databases are provisioned in a Multi-AZ configuration to provide resiliency at the database layer. EFS is provisioned for all shared file storage needed by the containers The was built using Cloudformation to allow the development environment to be easily replicated into production, and also to provide for DR.

CI/CD Pipeline

  1. Developers commit their changes to a dev branch in a git repo
  2. CodePipeline pulls the update and checks for a new revision
  3. CodePipeline sends the update to CodeBuild to build a docker image
  4. CodeBuild pushes the docker image to the AWS Container Registry (ECR)
  5. CodePipeline updates the CloudFormation template with the new image from ECR
  6. Cloudformation deploys a new task definition referencing the new image and updates ECS
  7. ECS pulls the new image and replaces the old task definition with the new one. Deployment is now complete.




Purchase Direct are now running their production workload in AWS. The introduction of a contanierised solution has removed the resource and scalability limitations that they faced on a regular basis. The introduction of a CI/CD pipeline has enabled the PD development team to operate in a more controlled manner reducing the risk of mistakes. The ongoing utilisation of CloudWatch will maintain and report on any cost or security issues in this environment.