DevOps, Cloud and IaC Support for a Location Analytics Platform
Transforming and optimising a cutting-edge location analytics platform through advanced DevOps practices, robust cloud infrastructure, and seamless Infrastructure as Code (IaC) implementation.
Client Overview
Our client offers an innovative location analytics platform that combines advanced geospatial analytics with intuitive user experiences. This platform empowers users to create interactive maps, perform comprehensive spatial analysis, and seamlessly integrate data from various sources, enabling businesses to make informed decisions based on location intelligence.
Challenge
The client faced several challenges in optimising their cloud infrastructure and ensuring seamless integration between on-premise and cloud-based environments. Key issues included:
Database Synchronisation
Ensuring the AWS-hosted database successfully syncs with the on-premise database to maintain data consistency across environments.
Cost Optimisation
Implementing effective cost-saving measures within the new AWS VPC accounts without compromising performance or scalability.
Environment Separation
Previously, the production and test environments were hosted within the same AWS account. The client required a clear separation into two distinct accounts: production and staging.
Infrastructure Management
Managing all environments via a Terraform/Terragrunt structure to streamline deployment and reduce manual intervention.
Elastic Beanstalk Scaling
The existing scaling configuration for Elastic Beanstalk was not responsive enough, leading to performance bottlenecks during high-traffic periods.
Solution
- Scaling Optimisation: Load tests were conducted across different AWS environments, leading to the adjustment of Elastic Beanstalk scaling thresholds for better performance.
- Cost Efficiency: Switched to RDS Aurora Serverlessv2 to significantly reduce database costs, particularly in non-production environments.
- Environment Segregation: Separated development and production environments into distinct AWS accounts, enhancing security and operational efficiency.
- IaC Restructuring: Restructured the Infrastructure as Code (IaC) configuration using Terraform and Terragrunt to align with the new account structure, ensuring consistency and scalability.
- Secure Database Sync: Established a site-to-site VPN and virtual private gateway to securely synchronise databases between the AWS cloud and on-premise environments.
Results
Environment Separation
Production and development environments were successfully migrated to separate accounts, improving security and management.
Accurate Scaling
Elastic Beanstalk scaling thresholds were fine-tuned, allowing for more accurate scaling based on actual traffic demands.
AWS Cost Reduction
By adopting RDS Aurora Serverlessv2, AWS costs were substantially reduced for both test and production environments.
Automation Efficiency
The use of Terraform and Terragrunt eliminated manual processes, enhancing infrastructure management through automated IaC practices.
Seamless Database Sync
The site-to-site VPN and virtual private gateway ensured reliable and secure synchronisation between cloud-based and on-premise databases.
Technology Stack
To successfully deliver these solutions, the following technologies were utilised:
- Networking and Security: AWS VPC, Virtual Private Gateway, WAF, ACM
- Compute and Scaling: Elastic Beanstalk, RDS Aurora Serverlessv2
- Infrastructure as Code: Terraform, Terragrunt
- Data Management: KMS, Parameter Store, ECR