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?
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
- Continuous Integration and Deployment life cycle
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.
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.