Pharma enterprise customer (AWS CDK platform): Multi-Account AWS CDK Platform for Pharma SaaS case study
All the infrastructure as code for a pharma enterprise customer's workflow SaaS: separate dev, stage and prod AWS accounts, cross-account CodePipeline deploys from a tools account, a separate compliance API stack and Langfuse LLM observability on Azure Container Apps via Bicep, across six repositories.
The Problem
The customer sells an invite-only workflow SaaS to pharma companies, so every environment has to be isolated, repeatable and reviewable. Changes had to move from development to production through the same pipeline, and the compliance layer had different requirements from the main application.
The Solution
Apex36 has built and run the customer's infrastructure since July 2024, all in Python AWS CDK. Dev, stage and prod live in separate AWS accounts, and CodePipeline in a central tools account deploys into each through cross-account roles.
Lambda functions and layers serve the backend, the compliance API is a separate CDK app so it can follow its own rules, and an AWS AgentCore stack supports agent work. LLM observability runs on Langfuse, deployed to Azure Container Apps with Entra sign-in through Bicep.
Features
Multi-account AWS
Dev, stage and prod isolated in separate accounts.
Cross-account CodePipeline
One tools account deploys to every environment.
Compliance API in its own CDK app
Separated from the main stack for its own requirements.
Langfuse on Azure via Bicep
LLM observability with Entra sign-in.
Six infrastructure repositories
With code owners and architecture documentation.
Results / Impact
run as one platform since 2024.
created and changed through the same pipeline.
AWS for the product, Azure for LLM observability.
FAQ
Separate accounts isolate environments at the strongest boundary AWS offers, so a mistake in development cannot touch production data. A central tools account deploys to each through cross-account roles.
Langfuse was deployed to Azure Container Apps with Entra sign-in, provisioned through Bicep, as a separate observability layer for every LLM call.
Apex36, on a yearly contract with the pharma enterprise customer since July 2024.
Ready to build something impactful?
Let's discuss your project and how we can help you ship faster and smarter.
Book a Free Strategy Call