Dasnuve
Oil & Gas Technology

WellChecked

7+Microservices Deployed
AWS ECSTerraformMicroservicesData Ingestion

The Problem

Running everything on a single EC2 instance means every deployment is a full outage, every crash takes the entire platform down, and scaling means guessing at the one correct instance size. WellChecked, a 12-person company focused on product and field operations, had validated their platform in the oil and gas technology market but had no DevOps expertise in-house and no clear path to hiring for it. Their infrastructure was a liability. New engineering hires inherited unmaintainable single-box deployments, rapid iteration was impossible, and every customer demo carried the anxiety of a platform with no failover.

How We Solved It

We decomposed their application into 7+ independently deployable services on ECS Fargate, each with its own task definition, resource limits, auto-scaling policy, and IAM role. Container images are stored across 11 ECR repositories and deployed through per-service GitHub Actions CI/CD pipelines. S3 event notifications trigger Lambda functions that publish to ElastiCache Redis streams, with microservices consuming events asynchronously for decoupled, resilient data ingestion. RDS PostgreSQL runs in Multi-AZ with a read replica for reporting queries, reducing load on the write path. OpenSearch handles full-text search and log aggregation across the platform. All database credentials are managed through AWS Secrets Manager. A multi-AZ VPC with isolated public and private subnets, an Application Load Balancer with hostname-based routing, a Network Load Balancer for internal SMTP services, Route53 DNS with wildcard subdomain support, and ACM SSL certificates with auto-renewal give each microservice its own domain with HTTPS. FusionAuth provides OAuth-based identity management across all frontend applications. CloudWatch provides centralized logging for all ECS services, with SNS alerts routing to the operations team when Redis capacity exceeds 85%. EventBridge scheduled jobs handle automated daily maintenance. The entire environment is defined in Terraform modules. Nothing exists that was not declared in code.

AWS ECS FargateAmazon RDS PostgreSQLElastiCache RedisOpenSearchAWS LambdaAmazon S3ALBNetwork Load BalancerAmazon VPCRoute53AWS ACMAWS ECRAWS Secrets ManagerAmazon CloudWatchAmazon SNSAmazon EventBridgeGitHub ActionsTerraformDockerFusionAuth

What We Delivered

  • Single EC2 instance → full microservices platform
  • 100% infrastructure as code with Terraform
  • Multi-AZ deployment for high availability