AWS Virtual Private Cloud

The problem

The client came to us and presented a problem they were having, how do they scale their current hosting while meeting performance goals and not breaking their bank?

The analysis

Tyson AWS VPC

When we suggested the migration to AWS, we did not do it lightheartedly. We are aware, from past projects, just how expensive hosting on Amazon Web Services can be. But, we did not stray from this amazing product either.

What was the conclusion? TRIM THE FAT

We set about analyzing just what they had to achieve with their project.

  • Fast Response Time
  • Security
  • Privacy
  • Continuous Integration and Deployment life cycle

The implementation

Local Setup

Since the client used primarily open source technologies in their projects, we decided to stick to the open-source route all the way. We used

  • Ubuntu for the development environments (with xrdp for remote GUI interface)
  • Jenkins for the CICD control
  • GitLab for the internal GIT repositories
  • Apache for the hosting service
  • MariaDB for the database

This setup allows the client to freely develop projects internally, preview and QA them and push them out to another environment such as production with the ease of one click.

AWS Setup

For the Amazon Web Services setup, like mentioned before, we wanted to balance between costs and performance. We actually achieved to refactor the resources the client was hosting on one server before to their own EC2 instances and trim the cost down to around 60% of what they were initially paying.

We utilized the following technologies to achieve this on AWS

  • EC2 instances (ranging from free-tier to t2.medium)
  • Elastic Load Balancer for high performance and high availability of public facing resources
  • CloudFront for request caching, global distribution and access control
  • Customer Gateways and Site-to-Site VPN for restricted access to the virtual private cloud

Using these techniques, we met the client performance, security, private and CICD requirements while saving them money in the process.