Case Studies

Press Loft


The Challenge

Press Loft was running its environment in Rackspace, but due to a lack of reliability and support, the business was seeking an alternative that would offer value for money, scalability and redundancy. Alongside this, the team also required a solution that would enable them to create a pipeline for delivering their code to this environment with no downtime.

The Solution

Press Loft’s existing architecture consisted of a single server containing a PHP application, and a single server with Microsoft SQL Server with two databases. The servers were single points of failure and the front end was stateful, preventing scale out.

After a detailed review to gain an in-depth understanding of Press Loft’s challenges and needs, Rebura proposed the following recommendations:

  • Utilise S3 rather than the single server for assets and documents
  • Migrate single server Microsoft SQL server to Multi-Az RDS
  • Increase the web server count to 2 to increase reliability and utilise auto heal and scale functions to focus spend on busier times
  • Secure the environment in private subnets reducing attack surfaces
  • Utilise load balancers for SSL termination and reliability
  • Addition of WAF for security given the sensitive data
  • Utilise Redis for session management to remove reliance on servers or the database layer
  • End-to-end delivery form Git repos to server via CodeSuite

The Results

This four-month project resulted in Rebura working with Press Loft to successfully migrate to a new environment that fully met the original criteria.

The new environment comprised the following key changes:

  • PHP application reconfigured to utilise s3 for assets, thus making the frontend stateless
  • Utilisation of the DMS to move the Microsoft SQL database into RDS (MySQL)
  • Addition of an Application Load Balancer
  • Addition of second WebServer
  • Creation of Autoscaling Group to Scale Up/Down based on CPU
  • Addition of WAF
  • Addition of Client VPN for administration
  • Utilisation of CodeBuild to merge two application repositories
  • Utilisation of CodeDeploy to deliver code to the front end with a Blue/Green methodology
  • Utilisation of CodePipeline to orchestrate the process
  • Utilisation of Redis to manage sessions