Infix's Transition to Microservices

Infix’s Transition to Microservices: At Scale Workspaces for Engineers

Infix, a leading code generation platform, faced significant challenges with its EC2 server-based infrastructure. The existing setup was costly, inefficient, and unable to scale to meet growing customer demands.

To tackle these challenges, Infix partnered with TekBay Digital Solutions to build a containerized infrastructure on AWS. The architecture was designed to ensure operational excellence, security, reliability, performance efficiency, and cost-effectiveness.

This case study dives into the challenges faced and how the right AWS-powered architecture transformed Infix’s operations.

Key Challenges

Infix’s on-premises infrastructure presented several critical challenges:

  • Insufficient Analytics Capabilities: The solution lacked advanced log analytics, search optimization, and visualization tools, limiting Infix’s ability to derive actionable insights from data.
  • High Operational Costs: Maintaining self-managed EC2 instances incurred significant costs related to instance provisioning, data transfer, storage, and management overhead.
  • Lack of Scalability: The existing solution could not handle sudden spikes in demand, leading to performance bottlenecks and service disruptions.
  • Limited High Availability: The infrastructure was not deployed across multiple availability zones, making it vulnerable to hardware or network failures.

Our Solution: AWS-Powered Architecture

To overcome Infix’s infrastructure challenges, TekBay guided the transition to a containerized architecture powered by AWS. The solution, built around scalability, high availability, and cost efficiency, ensures seamless performance even under peak demand.

Architecture Component Overview

The overall design and deployment of Infix’s solution on AWS includes a well-integrated set of services, which include:

  • AWS Services Used: Route 53, Amazon VPC, NAT Gateway, Elastic Load Balancer, EFS, ECR, Cognito, SES, CloudWatch, RDS Multi-AZ, Bedrock, EKS, S3, Secrets Manager, KMS, IAM, and AWS Backup.
  • Deployment Details: Multi-AZ and multi-region deployment for high availability, with automated scaling using AWS Auto Scaling, Lambda, and S3.
  • External Components: Integration with on-premises systems and third-party tools like GitHub Actions and SonarQube for CI/CD and security scanning.

Key Components of the Solution

1. Amazon S3 for Storage:

  • Backup with Velero: S3 also serves as the primary backup location for application data, with Velero managing regular and automated backups. This ensures data safety and allows critical information to be restored in case of failures.
  • Static Image Storage for Frontend: Static assets such as images, stylesheets, and JavaScript files are stored in dedicated S3 buckets, enabling quick and efficient content delivery to the front end. Amazon S3 ensures scalability and high availability for user-facing assets.

2. Amazon EKS for Container Orchestration:

  • Managed Kubernetes: AWS EKS manages containerized applications, with managed autoscaling node groups optimizing resource usage and costs.

3. Automation Through DevOps:

  • CI/CD Pipelines: GitHub Actions automate deployments, while Terraform ensures consistent provisioning of AWS resources.

4. Real-Time Monitoring and Optimization:

  • CloudWatch: Provides real-time insights into application performance and utilization metrics.
  • X-Ray: Provides telemetry data by integrating with OpenTelemetry.
  • ADOT: Provides Prometheus-based metrics for ingress requests.

5. High Availability and Disaster Recovery:

  • Multi-AZ Setup: RDS Multi-AZ ensures fault tolerance and automatic failover.
  • AWS Backup: Automated backups ensure quick recovery in case of failures.
  • Velero: This third-party tool is used to back up resources (deployment, persistent volume, etc.) within the EKS Cluster.

6. Security and Compliance:

  • IAM and KMS: Enforce access controls and encrypt data at rest and in transit.

7. Cost Optimization:

  • Auto Scaling: Resources scale dynamically based on demand, reducing unnecessary costs.

Benefits of the Solution

The AWS-based architecture delivered significant benefits to Infix:

  1. Improved Logging and Monitoring: Infix implemented a robust logging and monitoring solution by integrating CloudWatch for real-time metrics and alarms and AWS X-Ray for tracing and pinpointing performance issues. OpenTelemetry enabled seamless distributed tracing across services, improving the platform’s observability and optimizing troubleshooting efforts.
  2. Enhanced Scalability: Infix can now easily handle unpredictable workloads, dynamically scaling resources to meet demand by utilizing AWS Managed EKS Node Groups.
  3. Improved High Availability: Multi-AZ and multi-region deployment ensured uninterrupted service, even during failures.
  4. Cost Savings: Microservices on EKS enable precise resource allocation and scaling, reducing waste through efficient container orchestration and Spot Instance usage.
  5. Faster Time to Market: Automated CI/CD pipelines reduced deployment times, enabling faster delivery of new features and updates.
  6. Robust Security: Advanced security controls and monitoring tools ensured data protection and compliance with industry standards. EKS provides pod-level security through RBAC and AWS security groups, ensuring fine-grained access control and isolation between microservices.
  7. Operational Efficiency: Automation and DevOps practices streamlined workflows, allowing Infix to focus on innovation rather than infrastructure management. Kubernetes-native tools and AWS integrations streamline container orchestration, allowing Infix’s teams to focus on service development rather than infrastructure management.

Results

The implementation of the containerization-based architecture yielded impressive results:

1. Logging Improvements:

  • Centralized logging reduced log search times by 70%.
  • Real-time log analytics enabled proactive issue detection, reducing downtime by 50%.
  • Advanced visualizations provided deeper insights into system performance and user behavior.

2. Deployment Time: New changes are deployed in under 5 minutes after being committed to the repository.

3. Deploy Frequency: Infix achieves 10-20 weekly production deployments, supported by a streamlined CI/CD pipeline.

4. Mean Time Between Failures (MTBF): MTBF improved by 25%, ensuring greater system stability.

5. Mean Time to Recover (MTTR): MTTR was reduced by 45%, enabling faster recovery from issues.

6. Latency: Content delivery latency improved from 200ms to 40ms, greatly enhancing user experience.

TekBay Digital Solutions led Infix’s migration to a containerized AWS architecture, demonstrating the effectiveness of modern cloud solutions. By leveraging AWS services and DevOps practices, Infix successfully improved its performance, reliability, and operational efficiency.

The implementation delivered measurable improvements across key metrics, from faster deployments to reduced latency, while maintaining security and cost-effectiveness.

This foundation sets Infix up for future growth, allowing the company to focus on customer value delivery while maintaining operational excellence.