Now Live AI Infrastructure Audit — Free 30-min review for SaaS & AI teams
Book Discovery Call
Home / Case studies
4 AWS engagements, documented

Production AWS work, shown in detail.

Cost, reliability, Kubernetes and compliance engagements for teams running real workloads on AWS. Each one covers the problem, how we worked, and what changed.

Client names are withheld at their request. Industry, region and results are shared with permission.

01AWS cost optimization & infrastructure audit

55% lower cloud spend without compromising performance

How Cloudico cut a digital media platform’s monthly AWS spend by 55% while fixing an AWS WAF issue that was blocking search-engine crawling.

Industry
Digital media / publishing
Cloud
Amazon Web Services
Engagement
Cost optimization & infrastructure audit
Environment
EC2, ECS, RDS, ElastiCache, CloudFront, AWS WAF, ALB
Analytics dashboard showing cloud usage and cost charts

The challenge

A digital media platform came to Cloudico after two serious problems surfaced at the same time.

AWS spend had grown more than 30x in four months with no matching increase in application traffic. The monthly bill was over budget and still climbing.

In the same period, Google crawl activity fell by about 97% within five days, and newly published articles stopped appearing in search results. For a publisher that depends on organic search, both problems hit revenue directly.

The crawl drop lined up with recent AWS WAF rule changes, so the client needed two answers without risking performance, capacity or security: was AWS causing the crawl failure, and where was the extra spend really coming from?

Our approach: measure first, then change

We treated the engagement as a measurement exercise, not a configuration review. Configuration shows how infrastructure is meant to behave; metrics and logs show what actually happened. An aggressive rightsizing or a wrong WAF change could have caused a bigger production problem.

  1. 1Measure
  2. 2Verify
  3. 3Diagnose
  4. 4Recommend
  5. 5Validate

Where the savings came from

Share of total identified savings. Every recommendation was tied to measured utilization.

  • Database rightsizing35%
  • Application host rightsizing29%
  • AWS support plan adjustment15%
  • Reserved capacity strategy14%
  • Cache rightsizing4%
  • Log retention optimization3%

Why the order mattered

Buying reserved capacity before rightsizing would have locked the client into an oversized footprint for the full term.

  1. Stability fixesResolve constrained workloads first
  2. Reservation correctionsFix what was already committed
  3. RightsizingMatch resources to measured demand
  4. Reserved capacityCommit only to the corrected baseline

We also found two production containers already running at their configured resource ceilings. Cutting them based on average utilization would have caused instability, so they were left untouched.

The search crawl and AWS WAF investigation

The root cause was an AWS WAF rate-limiting rule applied broadly to all incoming traffic. Legitimate search crawlers send large request volumes from a narrow set of addresses, which makes them easy to catch in a badly placed rate limit. The rule order also meant crawler verification could not run before the rate limit was applied.

After correcting the rule order, we checked the result in traffic and WAF logs. We did not trust the User-Agent header, which is easy to spoof. Traffic was verified against the search engine’s published crawler network ranges.

What the logs showed

100%

of verified crawler traffic reached the site after remediation

0%

of verified crawler traffic was blocked

~95%

of blocked “crawler” requests were impersonators, so the WAF control stayed in place

Read the full technical breakdown

AWS cost analysis

We analyzed utilization and spend across application compute, ECS workloads, databases, cache infrastructure, reserved capacity, AWS support, logging and delivery services. Each recommendation came with the conditions required to implement it safely.

The goal was not simply a smaller bill. It was to establish what could be optimized safely and what needed to stay as it was.

Moving the search investigation to the right layer

Once AWS was confirmed to be letting legitimate crawlers through, the remaining indexing investigation moved to the application layer. That stopped the team from repeatedly changing WAF or CloudFront settings that were already working.

Reserved capacity opportunity

The environment had almost no meaningful reserved-capacity coverage. That became an additional savings opportunity once the correct infrastructure baseline was in place.

Controlled implementation plan

Recommendations were delivered as a staged rollout with verification points between major changes, rather than as a single high-risk cost-cutting exercise.

Business impact

  • AWS spend brought under control. A bill that grew more than 30x in four months was brought back within the planned operating budget.
  • Performance protected. Rightsizing was based on workload measurements, not average utilization alone.
  • Production risks caught early. Two constrained containers were found before they turned into application failures.
  • Security kept intact. Verified crawlers were separated from impersonated bot traffic without weakening a working WAF control.
  • Decisions backed by evidence. Every major recommendation was tied to measurable infrastructure behavior.

AWS technology stack

Compute & containers
Amazon EC2Amazon ECS
Database & cache
Amazon RDSAmazon ElastiCache
Networking & delivery
Application Load BalancerAmazon CloudFront
Security
AWS WAFAWS IAMAWS CloudTrail
Monitoring
Amazon CloudWatch

AWS bill growing faster than your traffic? We’ll show you where the spend goes and what is safe to cut.

02Cloud infrastructure modernization

AWS modernization for a financial trading platform

How Cloudico helped an electronic trading platform reach 99.95% availability, ship deployments 80% faster and cut manual infrastructure changes by 90%.

Client
Confidential financial trading platform
Industry
Capital markets / fintech
Region
EU
Cloud
Amazon Web Services
Trading screens showing live market charts

The challenge

The client runs an electronic trading platform where availability, security and performance are critical to daily business. As transaction volumes and usage grew, the infrastructure started holding the engineering team back.

The goal was to modernize the AWS environment without disrupting active trading, and to make infrastructure changes automated, repeatable, secure and observable.

  • Manual deployment and infrastructure processes
  • Configuration drift across environments
  • Growing operational overhead
  • Limited disaster recovery
  • Hard to scale during peak trading
  • Rising security and governance demands
  • Little central visibility into platform health

What changed on the platform

Multi-AZ deployment, Elastic Load Balancing, Auto Scaling, RDS Multi-AZ, central monitoring and automated infrastructure management, introduced together.

AreaBeforeAfter
AvailabilityDependent on individual components99.95% across Multi-AZ, with RDS Multi-AZ failover
ProvisioningHours of manual setupMinutes, from standardized automation
DeploymentsRepetitive manual steps80% faster, predictable releases
Infrastructure changesManual, prone to drift90% fewer manual changes
Peak trading loadEngineers added capacity by handEC2 Auto Scaling behind health-checked load balancers
Disaster recoveryLimitedAWS Backup, RDS backups, S3 and recovery procedures

How we migrated without stopping trading

Because the platform supports live financial operations, modernization was introduced step by step, with rollback available at every critical stage.

  1. Build and validate the target AWS architecture
  2. Standardize infrastructure configurations
  3. Validate networking and security controls
  4. Set up monitoring and alerting
  5. Test application dependencies and database connectivity
  6. Validate backup and recovery configurations
  7. Move production workloads over gradually
  8. Watch application and infrastructure health throughout
  9. Keep rollback ready during every critical stage

Result: the production infrastructure was modernized with zero critical downtime for active trading.

Read the full technical breakdown

High availability and scalability

Workloads run across multiple Availability Zones. Elastic Load Balancing sends traffic only to healthy instances, and EC2 Auto Scaling adjusts capacity to demand, so engineers no longer add servers by hand during busy trading periods. Amazon RDS Multi-AZ provides database redundancy and failover, and Route 53 completes the resilient setup.

Infrastructure and deployment automation

Infrastructure configuration was standardized so environments can be provisioned consistently and repeatedly. Deployment workflows were redesigned to remove repetitive steps, which made releases faster and more predictable and reduced configuration errors across environments.

Monitoring and operational visibility

Amazon CloudWatch provides central monitoring, logging and alerting for availability, EC2 health and utilization, load balancer and database health, scaling activity, errors and operational events. The team now sees problems earlier, before they grow into service disruptions.

Security hardening

AWS IAM limits access to what is needed. AWS KMS handles encryption and AWS Secrets Manager stores application credentials. Amazon VPC and Security Groups control network access, AWS WAF protects internet-facing traffic, and AWS CloudTrail records API activity and infrastructure changes.

Backup and disaster recovery

Business continuity was designed into the architecture. AWS Backup, Amazon RDS backups, Amazon S3 and documented recovery procedures, combined with Multi-AZ, give the platform a stronger response to infrastructure failures and data incidents.

Business impact

  • Greater platform resilience. High-availability architecture and automated scaling reduce the impact of any single failure.
  • Faster engineering delivery. Deployments are 80% faster, so application changes reach production sooner.
  • Lower operational overhead. Automation took over routine infrastructure work, freeing engineers for higher-value improvements.
  • Stronger security posture. IAM, KMS, Secrets Manager, WAF, CloudTrail and network controls now work together.
  • Improved business continuity. Multi-AZ, backups, monitoring and recovery support mission-critical operations.
  • Ready for growth. The architecture can handle more users, higher transaction volumes and new services.

AWS technology stack

Compute & scaling
Amazon EC2EC2 Auto ScalingElastic Load Balancing
Database & storage
Amazon RDS Multi-AZAmazon S3AWS Backup
Networking
Amazon VPCRoute 53Security Groups
Security
AWS IAMAWS KMSSecrets ManagerAWS WAFCloudTrail
Monitoring
Amazon CloudWatch

Running a mission-critical platform on AWS? We help it stay available, secure and recoverable as you grow.

03Kubernetes platform migration

Amazon ECS to EKS migration with zero customer-facing downtime

How Cloudico moved a production SaaS container platform to Amazon EKS using Terraform, Helm, Argo CD, Karpenter, Prometheus and Grafana.

Client
Confidential SaaS platform
Cloud
Amazon Web Services
Migration
Amazon ECS to Amazon EKS
Delivery model
Terraform, Helm and GitOps
Code editor showing infrastructure as code

The challenge

A growing SaaS company ran its production containers on Amazon ECS. It had been reliable, but the team now needed more flexibility, standard deployment workflows, better automation and access to the wider Kubernetes ecosystem.

The goal was not just to move containers. It was to build a production-ready Kubernetes platform for future growth, with less manual work, and to do it without any customer-facing downtime.

  • Deployments tied to ECS task definitions
  • Partly automated provisioning
  • Hard to keep environments consistent
  • Manual compute-capacity management
  • Risk of configuration drift
  • Observability gaps across layers
  • No access to Kubernetes-native tooling

How a change reaches production

Argo CD continuously compares the state in Git with what runs in EKS, so nobody applies manifests by hand.

  1. Code changeEngineer updates the app or its Helm values
  2. Pull request & reviewEvery change is reviewed and versioned
  3. MergeGit becomes the new desired state
  4. Argo CD syncChanges are applied and drift is corrected
  5. Running on EKSEasy rollback to any previous version

How the platform scales with demand

Two layers work together, so both the application and the compute underneath respond on their own.

  1. Demand increasesCPU, memory or request load rises
  2. HPA adds podsHorizontal Pod Autoscaler scales replicas
  3. Cluster needs capacityNew pods wait to be scheduled
  4. Karpenter adds nodesRight-sized EC2 capacity is provisioned

When demand drops, Karpenter consolidates or removes unused nodes, so the cluster does not keep paying for idle capacity.

The zero-downtime cutover

Production moved step by step, not in one switch. Readiness probes and rolling updates meant traffic only ever reached healthy pods.

  1. Provision the EKS platform with Terraform
  2. Translate ECS workloads into Kubernetes resources
  3. Package applications with Helm
  4. Deploy through Argo CD and validate in staging
  5. Deploy and validate production workloads on EKS
  6. Configure health checks and readiness probes
  7. Shift traffic gradually from ECS to EKS through the ALB
  8. Monitor health, latency and errors at every step
  9. Complete the cutover once EKS is proven stable
Read the full technical breakdown

Infrastructure as code with Terraform

Terraform provisions Amazon EKS, the VPC and networking, managed node groups, IAM roles and policies, Security Groups, the AWS Load Balancer Controller, Metrics Server and Karpenter. Infrastructure changes are now reviewed, versioned and applied the same way every time.

Translating ECS workloads

ECS task definitions and services were mapped to Kubernetes Deployments, Services, ConfigMaps, Secrets, resource requests and limits, health and readiness probes, autoscaling and ingress. Each workload was adapted to run properly on Kubernetes rather than copied line for line.

Standard delivery with Helm

Applications were packaged as reusable Helm charts. Development, staging and production share the same templates, with environment-specific values files, which removed duplicated manifests and made releases predictable.

Observability across Kubernetes and AWS

Prometheus collects cluster and workload metrics, Grafana provides dashboards, and CloudWatch covers AWS metrics, logs and alarms. Monitoring spans cluster, node and pod health, CPU and memory, latency, error rates, autoscaling and Karpenter activity.

Security built in

IAM Roles for Service Accounts (IRSA) give each workload its own least-privilege AWS role instead of broad node permissions. Worker nodes are private, exposure is controlled through the Application Load Balancer, and TLS certificates come from AWS Certificate Manager.

Business impact

  • Faster, more consistent deployments. Helm and Argo CD replaced manual deployment steps.
  • Reproducible infrastructure. Terraform keeps AWS and Kubernetes infrastructure version-controlled.
  • Better scalability. HPA and Karpenter let workloads and compute follow demand automatically.
  • Less configuration drift. GitOps makes Git the source of truth and reconciles continuously.
  • Clearer operational visibility. One view from AWS infrastructure through Kubernetes to the app.
  • A foundation for what’s next. A standard EKS platform for future services and microservices.

Technology stack

Cloud & containers
Amazon ECSAmazon EKSKubernetesDockerAmazon ECR
Infrastructure as code
Terraform
Deployment
HelmArgo CDGitOps
Scaling
Kubernetes HPAKarpenterEKS managed node groups
Observability
PrometheusGrafanaCloudWatch
Networking & security
Amazon VPCAWS Load Balancer ControllerIAM & IRSASecurity GroupsACM

Planning a move from ECS to EKS? Networking, IAM, autoscaling, GitOps and cutover all need to work together.

04AWS security & compliance remediation

AWS security hardening for SOC 2 readiness

How Cloudico helped a US-based AI SaaS platform fix AWS security findings, strengthen cloud controls and move closer to SOC 2.

Industry
AI / SaaS
Region
United States
Compliance platform
Drata
Objective
SOC 2 readiness on AWS
Abstract visual of digital security

The challenge

A fast-growing AI SaaS platform was preparing for SOC 2 and had to resolve security and infrastructure findings raised in Drata.

Turning checks green was not enough. The client was running live production on AWS, so every fix had to improve real security and auditability without causing downtime, breaking dependencies or slowing the engineering team.

  • IAM and privileged access
  • AWS audit logging
  • Monitoring and alerting
  • Network visibility
  • Storage security
  • Encryption at rest
  • Backup and recovery
  • Data protection
  • Infrastructure security controls

Our remediation workflow

A technically correct security change can still break production if IAM relationships, networking or workload dependencies are ignored. Every fix followed the same path.

  1. 1Identify
  2. 2Validate
  3. 3Remediate
  4. 4Test
  5. 5Recheck
  6. 6Document

IAM & access control

Reviewed users, roles and policies, tightened account and password controls, reduced excessive and privileged permissions, and applied least privilege across service roles.

CloudTrail & audit logging

Configured AWS CloudTrail to trace authentication, IAM changes, resource and security configuration changes, and API activity, giving auditors stronger evidence.

Monitoring & network visibility

Strengthened CloudWatch alarms with SNS notifications for key events, and enabled VPC Flow Logs so abnormal activity can be spotted and investigated.

Encryption & data protection

Improved EBS encryption, hardened S3 with public-access restrictions and access reviews, and applied encryption at rest to protect application and business data.

Backup & disaster recovery

Configured AWS Backup and EBS backup protection, reviewed retention and coverage for critical resources, and enabled DynamoDB Point-in-Time Recovery where required.

Infrastructure hardening

Reviewed EC2, Lambda, ALB, VPC, S3, EBS, DynamoDB and related services against AWS best practices, with care for existing architecture and uptime.

Results

  • Remediated the targeted AWS findings raised in Drata
  • Passed applicable Drata checks after remediation
  • Stronger IAM and privileged-access controls
  • Better AWS audit logging and activity visibility
  • Stronger infrastructure monitoring and alerting
  • Network visibility through VPC Flow Logs
  • Stronger S3 and EBS data-protection controls
  • Wider encryption across applicable resources
  • Stronger backup and recovery, including DynamoDB PITR
  • Better overall security and audit readiness

Business impact

  • Stronger security postureIAM, network, logging, storage, encryption, monitoring and backup controls improved together.
  • Improved SOC 2 readinessFewer AWS findings left to fix, and stronger controls behind the compliance program.
  • Better auditabilityCloudTrail, CloudWatch and VPC Flow Logs show what happens in the account.
  • Reduced operational riskMonitoring, backups and encryption lower exposure to failures and incidents.
  • Governance that scalesA security foundation that grows with the AI platform.

AWS services in scope

Amazon EC2AWS LambdaApplication Load BalancerAmazon VPCAmazon S3Amazon EBSAmazon DynamoDBAWS IAMAWS CloudTrailAmazon CloudWatchAmazon SNSAWS Backup

Seeing AWS findings in Drata, Vanta, Secureframe or another compliance platform? We fix the underlying configuration without slowing your team.

Which of these sounds like your team?

Pick the situation closest to yours and jump straight to the relevant engagement.

Something else on your cloud roadmap?
Let’s look at it together.
Talk to a cloud architect