Back to all cases

Streamlining Infrastructure for a Social Connection Platform

March 4th, 2025

In today’s fast-paced digital landscape, a forward-thinking California-based company set out to revolutionize personal connections through virtual interactions. Their aim was to create a cutting-edge online event booking platform tailored for individuals seeking genuine, meaningful relationships. However, beneath the surface of this ambitious goal, a web of intricate infrastructure challenges emerged, posing significant hurdles to their progress.

The Client

Our client is a company headquartered in East Los Angeles, United States, with an annual revenue of $2.2 million.

They maintain a significant online presence, attracting an average of 180,000 website visitors in the last month. However, they faced a challenge with a 55% bounce rate on their website, and their user base exhibited an interesting geographical distribution, with 57% of users originating from Australia and 22% from the United States.

The Challenge: Manual Infrastructure and Scaling Difficulties

Manual Configuration

Initially, the company’s infrastructure consisted only of development and production environments, both configured manually through the AWS UI. This setup lacked a crucial intermediary: a staging environment for rigorous testing of new features.

Mindset Shift: Recognizing the Value of Staging
Here, the first mindset shift occurred. Developing a staging environment (a replica of the production environment) wasn’t a luxury but a necessity. It allowed the business to test new features and changes rigorously before reaching end-users.

Legacy Resources

Over time, some infrastructure resources became outdated and irreplaceable, causing operational inefficiencies and bottlenecks. Attempting to upgrade these resources proved challenging.

Mindset Shift: Embracing Infrastructure as Code (IaaC)

The second shift involved adopting Terraform, a tool for automating infrastructure provisioning. Terraform allowed for quick and scalable changes, eliminating the need for manual intervention and transforming the way the company managed its infrastructure.

Development Stage: Embracing Terraform for Success

Step 1: Initial Progress

In just two months, a dedicated team brought all microservices infrastructure to life, consisting of 40 applications in ECS containers and 35 Lambda functions. However, some applications faced issues due to hardcoded configurations.

Step 2: Implementing Terraform

Over the next four months, the team prepared Terraform code and configuration files to create an identical staging environment. This was the pivotal step in their journey.

Step 3: Collaborative Efforts

For several more months, the company’s developers worked closely with Terraform experts to resolve issues and ensure a smooth transition.

Mindset Shift: Taking Ownership
They also initiated the shift towards ownership. While Terraform experts were always available for support, the company’s team began making minor code adjustments themselves.

Step 4: Continuous Improvement

Even after the project’s completion, periodic discussions were held to reinforce the IaaC concept. A list of recommendations for further improvements was provided.

The Result: Efficient Scaling and Rapid Deployment

Validation: QA Approval

Finally, the company’s QA team tested the new staging environment and gave their approval.

Efficiency Unleashed

Today, scaling the company’s infrastructure is a breeze. Modifying Terraform configuration files allows them to adapt swiftly to changing demands.

Rapid Deployment

Introducing new services on their staging environment now takes a mere 15 minutes, compared to the days it used to consume. This journey showcases the power of Terraform in transforming manual infrastructure into a flexible, scalable, and efficient system.

The Technology Stack

  • Terraform: Infrastructure configuration files
  • AWS EC2: 40 virtual servers
  • AWS ECS: 40 microservices in isolated Docker containers
  • AWS ECR: Container code storage
  • AWS Lambda: 35 cloud computing functions
  • AWS S3: Object storage
  • AWS Route53: DNS management
  • AWS RDS: Relational database
  • AWS IAM: Access management and security groups
  • AWS CloudFront: Content delivery acceleration
  • AWS OpenSearch: For search queries integration
  • AWS Kinesis: Real-time data streaming processing
  • AWS SNS: Notification service
  • AWS SQS: Integration bus
  • MongoDB Atlas: Cloud NoSQL database management

Chapters