Back to Blogs
04/05/2026 | By Corlence Team

What a Forward Deployed Engineer Actually Does: Inside a Real AWS Cloud Audit for a Health-Tech Platform

See how Corlence used forward deployed engineering to uncover cost, performance, and security issues inside a live health-tech platform on AWS. A real cloud audit case study with deployed fixes.

What a Forward Deployed Engineer Actually Does: Inside a Real AWS Cloud Audit for a Health-Tech Platform

What a Forward Deployed Engineer Actually Does: Inside a Real AWS Cloud Audit for a Health-Tech Platform

When most companies think about cloud consultancy, they picture architecture reviews, best-practice checklists, and slide decks full of recommendations. That work has value, but it often stops too early.

A real production problem rarely lives in one place.

It sits between application code and cloud configuration. Between runtime behaviour and deployment history. Between a service that looks healthy in monitoring and a user experience that is quietly failing in production.

That is where forward deployed engineering matters.

A Forward Deployed Engineer does not stay at the level of diagrams or advisory reports. An FDE works inside the actual environment: the AWS account, the codebase, the CI/CD pipeline, the secrets layer, the runtime logs, and the deployed services. The goal is not just to explain what might be wrong. The goal is to find what is wrong and fix it in working code.

This case study shows what that looks like in practice.

A health-tech company came in with a serverless backend on AWS powering a cross-platform mobile app. The platform was live. It had thousands of users. The architecture looked sensible. The codebase worked. But the business had three serious problems at the same time.

The app was slow. Cloud costs were climbing faster than usage. And key user-facing features were failing without the engineering team having a clear view of why.

On the surface, this looked like a standard AWS cloud audit. In reality, it needed something deeper: forward deployed engineering across infrastructure, code, performance, security, and delivery.

Why this was not just a cloud consultancy engagement

A conventional cloud consultancy engagement could have reviewed the architecture, interviewed the team, checked some dashboards, and produced a recommendations document.

That would not have been enough here.

The real issues were buried across shared utility modules, duplicated connection code, outdated third-party integrations, insecure configuration practices, hidden log volume, and a sync pipeline whose design made failures look normal.

None of that shows up clearly in an architecture diagram.

To find the real causes, we worked inside the client's cloud account, source code, deployment configuration, CI/CD process, and live application behaviour. This was hands-on forward deployed engineering, not arms-length advisory work.

What followed was effectively a cloud audit, cloud security audit, serverless architecture review, and cloud cost optimization engagement rolled into one. The difference was that the findings did not stop at diagnosis. They ended in deployed fixes.

The first problem: logging had become a major infrastructure cost

The largest line item on the monthly cloud bill was not compute, database, or networking. It was logging. Logging accounted for roughly a third of the platform's infrastructure spend.

The root cause was not obvious from billing dashboards alone. Two separate logging layers were active at the same time, and nobody realized how much volume they created together.

The first was a universal error handling wrapper used by every backend function. It was well designed in principle. It standardized formatting, classified errors, and notified the team of failures. But it also logged the full incoming request and full response on every invocation, even when nothing went wrong.

The second layer lived in a shared utility module used for database access. Every database operation logged full parameters and duplicated the result set in memory before logging it again. That meant extra CPU, extra memory pressure, and massive log volume across the entire platform.

Once those two layers combined, the cost multiplied. A single API request that triggered multiple queries could generate more than a dozen log entries with full payloads. The sync pipeline processed tens of thousands of invocations per day, so the total effect was huge.

This is a good example of why a cloud cost audit often needs source-level investigation. A billing chart can show where money is going. It usually cannot tell you which wrapper in which shared module is generating the spend.

We fixed the issue by introducing environment-aware log levels, removing redundant data duplication in the database layer, and tightening error handling in the notification path so secondary failures could not hide the original application error.

Estimated log volume reduction was more than 80 percent.

The second problem: push notifications had been broken for months

Users were not receiving push notifications. The team knew something was wrong, but they had not found the cause.

The implementation was fine. Device registration worked. Background and foreground handling were in place. Notification types were correctly defined. The failure was in the backend.

The notification service was calling a third-party API that had been progressively deprecated and disabled. Each request still returned a valid HTTP response, so the function appeared healthy. There were no obvious errors. The provider accepted the request, but the notifications were not actually being delivered.

This is exactly the kind of failure that slips through a surface-level cloud audit. Monitoring can show that a function ran. It can show that an endpoint returned 200. It cannot tell you that the integration itself is effectively dead unless someone reads the implementation closely enough to check the API version against the provider's deprecation path.

We decided to migrate the backend notification service to the current API, updated the authentication flow, stored credentials securely in a managed secrets service, and tested every notification type across both mobile platforms.

The third problem: secrets were sitting in version control

While tracing the notification configuration, we pulled production configuration files from deployment storage. That exposed a much more serious issue.

Sensitive configuration had been committed to the repository in plaintext. This included some connection details, third-party API keys, internal webhook endpoints, and authentication secrets. Some files were correctly excluded from version control, but others inside individual microservice directories still contained production values, and those values were preserved in commit history. That meant current team members, former contractors, or anyone else who had historical repository access could potentially have had access to credentials.

This was no longer just an AWS cloud audit. It has become a cloud security audit.

We decided to rotate every exposed secret, coordinated with external providers, moved sensitive configuration into a dedicated secrets management service, updated application startup to load secrets securely, and cleaned repository history to remove leaked values from previous commits. For a health-tech company handling sensitive systems, this was one of the highest-priority findings in the entire engagement.

The fourth problem: the database proxy existed, but the application bypassed it

The client's AWS account already had a database connection proxy configured with read-write and read-only endpoints. On paper, it was the right setup for serverless-to-database connectivity.

The problem was simple: the application was not using it.

Every backend function across all microservices connected directly to the database instance. Connection settings were left at defaults intended for long-running application servers, not serverless workloads that start and stop constantly.

That created two operational risks.

First, idle function containers could hit stale connection failures when the database closed inactive sessions. Second, under peak load, many concurrent function containers could each open multiple default connections and push the database toward its connection limits, creating intermittent failures that would be painful to diagnose.

To make matters worse, the same misconfigured database connection logic had been copied across multiple services instead of shared in one place. This is where a serverless architecture review becomes valuable only if someone follows the implementation all the way through. The architecture had the right component. The runtime configuration never actually used it.

We switched all services to the proxy endpoint, tuned connection settings for serverless behaviour, enabled encryption for database traffic, load tested concurrency, and consolidated duplicated connection code into a shared module so future changes only need to happen once.

The fifth problem: the sync pipeline had an N+1 design problem

The data integration pipeline used a webhook-based flow. An external provider pushed events. One function received them. Another routed them by type. Per-type processors then wrote records into the database.

At a high level, the design looked reasonable. The trouble was in execution.

Every step in the chain was synchronous. Each function waited for the next one to complete before returning. That meant the total duration of the full pipeline was exposed to the upstream timeout boundary.

Metrics showed the pattern clearly once the full flow was traced. Average processing time looked acceptable, but maximum duration regularly hit the platform ceiling. Concurrency spiked during sync windows. Over a three-month period, invocation volume had reached into the millions.

Inside the processors, each record was handled one by one. The code checked whether the record existed, then issued an insert or update based on the result. Combined with the logging problem from earlier, a single batch event containing a few dozen records could generate hundreds of log lines and dozens of database round trips.

This is a classic place where cloud cost optimization, performance engineering, and code review intersect. The cloud bill reflected the problem. The timeout behaviour reflected the problem. But the real cause lived in how the pipeline was written.

We converted the chain from synchronous to asynchronous so the receiving function could return immediately while processing continued in the background. We replaced record-by-record database operations with batch processing, reduced round trips dramatically, removed noisy per-record logging, cached an external validation call that had been hitting a third-party service on every invocation, and replaced overly broad exception handling with specific error handling that preserved real diagnostic context.

The sixth problem: the security surface had quietly expanded

Beyond the exposed credentials, the broader cloud security audit uncovered a pattern that shows up often in fast-moving companies.

The database security group allowed inbound traffic from any IP address on the database port. The database lived in a private subnet, so the risk was not immediately exploitable from the internet, but the rule still violated least-privilege principles and would become dangerous if surrounding network assumptions changed. There was also an additional unidentified port open on the same group.

API endpoints were still using an outdated encryption policy that allowed deprecated protocol versions. The team's newer test API used modern settings, which showed awareness of the issue, but production resources had not been brought forward.

The authentication layer also logged raw authentication tokens on every request because of a debug statement that dumped full request details, including sensitive headers. Anyone with log access could potentially extract reusable tokens.

On top of that, more than half of console-enabled administrative users did not have multi-factor authentication enabled. Several long-lived access credentials had gone years without rotation. Multiple admin accounts had been inactive for months.

We restricted security group rules to known service groups, upgraded encryption across production APIs, redacted tokens from logs, enforced MFA by policy, rotated or removed stale credentials, and disabled dormant accounts.

At that point, the engagement had covered infrastructure, application security, IAM hygiene, secrets handling, and operational resilience. That is why strong forward deployed engineering often overlaps with cloud consultancy, security review, and DevOps consultancy, but goes further than any one of them alone.

What changed after the engagement

The impact was material.

Monthly cloud spend was projected to fall by 27 to 41 percent. That improvement did not come from a full re-architecture. It came from code-level fixes, configuration corrections, removing waste, and right-sizing infrastructure. Database compute cost alone dropped by more than 60 percent through right-sizing. Unused containers, an orphaned service, and a non-functional test environment accounted for roughly 10 percent of the bill and were removed.

Push notifications were restored.

Authentication caching alone cut backend invocations per API call in half.

The sync pipeline moved from synchronous, record-by-record processing to asynchronous batch handling.

Critical security weaknesses were not just documented. They were fixed in live systems.

We also planned an eight-week implementation plan with acceptance criteria for the remaining work, plus a detailed issue register covering each finding, root cause, recommended action, and estimated effort so the client's engineering team could continue with full context.

What this says about forward deployed engineering

This is what a Forward Deployed Engineer actually does.

Not theory. Not commentary. Not a generic cloud audit report dropped into a shared folder.

A real forward deployed engineering engagement moves across layers until the problem is solved. It compares deployed configuration to intended architecture. It traces why runtime behaviour does not match what dashboards suggest. It reviews source code where infrastructure costs are actually created. It closes the loop by deploying fixes, not just describing them.

That is also what separates execution-focused cloud consultancy from advisory-only work.

If a company needs an AWS cloud audit, cloud cost optimization, cloud security audit, serverless performance review, or a practical path through messy production issues, the real question is not whether someone can identify best practices. The question is whether they can work inside the environment long enough to uncover the issues that best-practice checklists miss.

That is the value of forward deployed engineering.

Why this matters for startups and growing companies on AWS

Fast-growing teams rarely fail because they made one catastrophic decision. More often, they accumulate dozens of small, reasonable decisions that interact badly over time.

A debug statement survives longer than it should. A deprecated API keeps returning 200 even though it no longer does useful work. A direct database connection remains in place because the proxy was configured later. A secret ends up in version control during a rushed release. A synchronous workflow keeps growing until timeouts become normal.

None of those problems are unusual. What matters is whether someone can find them early enough, with enough depth, to prevent them from turning into cost, reliability, and security failures.

That is why many startups do not just need a cloud consultant. They need a technical partner who can operate like an extension of the engineering team, inside the real stack, with enough range to work across AWS, application code, delivery pipelines, and production debugging.

FAQ: Forward deployed engineering, cloud consultancy, and cloud audit

What is forward deployed engineering?

Forward deployed engineering is an embedded engineering model where the engineer works directly inside the client's environment to diagnose and fix real production issues. Instead of stopping at recommendations, a Forward Deployed Engineer works across code, infrastructure, deployment systems, integrations, and runtime behaviour to deliver working outcomes.

What does a cloud consultancy actually do?

A cloud consultancy can cover many things, including architecture reviews, migrations, cost optimization, performance work, security reviews, and delivery improvements. The difference between advisory cloud consultancy and execution-heavy cloud consultancy is whether the work ends in recommendations or in changes deployed into the live environment.

What is included in a cloud audit?

A strong cloud audit should cover cost, performance, reliability, security, architecture, deployment processes, and operational visibility. For AWS environments, that often includes logging spend, compute sizing, IAM, secrets management, network exposure, database connectivity, serverless configuration, monitoring quality, and third-party integrations.

What is the difference between a cloud audit and a cloud security audit?

A cloud audit looks at the overall health of the environment, including cost, performance, reliability, and architecture. A cloud security audit focuses specifically on risk: secrets handling, IAM hygiene, MFA, network rules, encryption policy, exposed credentials, logging of sensitive data, and access control.

When should a startup hire a Forward Deployed Engineer?

A startup should consider forward deployed engineering when production issues span multiple layers and the root cause is not obvious. Typical triggers include rising AWS spend, intermittent failures, slow performance, failed integrations, unclear security posture, migration risk, or a backlog of issues that internal teams do not have the time to fully unwind.

Can a cloud audit reduce AWS costs without a full rebuild?

Yes. In many cases, the fastest savings come from configuration fixes, removal of waste, better logging controls, right-sizing, connection management, caching, and batching. Those changes often reduce cost and improve performance at the same time.

Final CTA

Corlence provides forward deployed engineering and execution-focused cloud consultancy for startups and growing companies on AWS.

If your team needs an AWS cloud audit, cloud cost optimization, cloud security audit, or hands-on engineering support to fix production issues without slowing down delivery, Corlence works inside your environment to find the causes and ship the fixes.

If you want, I can turn this into a homepage-ready blog post format next, with an intro hook, author byline, meta tags, FAQ schema copy, and internal link anchor suggestions for Corlence.