Delivering highly resilient digital experiences on AWS with Capital One
Learn how Capital One modernized its event-processing engine by using Amazon DynamoDB.
Overview
Capital One serves tens of millions of customers who expect accuracy and consistently available service. To continue meeting that expectation, the company wanted to modernize its event-processing engine on Amazon Web Services (AWS). To help do this, Capital One used Amazon DynamoDB, a serverless, fully managed, distributed NoSQL database with single-digit millisecond performance at virtually any scale, and other AWS services. This way, the company evolved the engine into a unified, cloud-first solution that it fully manages across multiple AWS Regions. Now, Capital One’s teams use a foundation that is engineered for the resilience, flexibility, and always-on reliability that modern enterprise applications demand.
About Capital One
Founded in 1994, Capital One is a leading provider of information-based banking technology. The US company is on a mission to help its customers succeed by bringing ingenuity, simplicity, and humanity to banking.
Opportunity | Using AWS to build a processing engine for Capital One
Capital One previously managed separate solutions for digital workloads, requiring manual capacity tuning across individual applications. As event volumes grew, maintaining near real-time responsiveness became more demanding.
The company saw an opportunity to evolve this foundation into a system that it could manage and grow. Using AWS, Capital One could build a modern processing engine that would give its teams more room to build for customers.
Solution | Building a flexible, cloud-first engine on AWS
Capital One built the event-processing engine as a unified solution on AWS. To do this, the company adopted Amazon DynamoDB. “A pivotal component was the transition to fully managed Amazon DynamoDB to help reduce the operational burden of infrastructure maintenance,” says Arunkumar Ganesan, senior staff engineer at Capital One.
Around that engine, the company built a serverless, event-driven architecture. Requests flow in through Amazon Route 53, a service that routes end users to internet applications, which directs traffic to the right Region for each workload. From there, the solution distributes requests across microservices that run on AWS Fargate, a serverless, pay-as-you-go compute engine. Spreading out the work means that no single component bears the full load, and capacity can adjust to real-time demand.
The engine’s design incorporates resilience by replicating tables to other Regions through global tables, a DynamoDB feature that provides up to 99.999% availability, increased application resilience, and improved business continuity. On top of this highly available data foundation, Capital One adopted a cell-based architecture that partitions the solution into isolated bulkheads, so an issue in one cell stays contained instead of affecting the broader system. The company pairs this with a code-first discipline, defining infrastructure, observability, and resilience testing as code so that the whole environment is repeatable and testable.
With this design, Capital One achieved ultrahigh availability for the processing engine. “Achieving high availability is not only about the infrastructure,” says John Cramp, senior lead engineer at Capital One. “It benefits from a culture of continual resilience testing, such as no-notice chaos engineering, to proactively identify and mitigate cascading failure risks.”
Outcome | Supporting millions of user sessions on a unified solution
Capital One’s processing engine provides the flexibility to support millions of user sessions on a unified foundation that simplifies how teams manage capacity. Running Amazon DynamoDB in on-demand mode means that engineers no longer forecast and tune throughput for workloads whose usage shifts constantly.
To modernize how it tests and ships changes, the company uses AWS Cloud Development Kit (AWS CDK), a service for defining cloud application resources. As a result, Capital One reduces issues that result from faulty infrastructure and code releases. By transitioning to managed, serverless architecture, the company now focuses its engineering resources on product innovation and feature delivery.
“We adopted a cell-based architecture that is designed to isolate availability issues into smaller bulkheads, a critical architectural evolution that we achieved through infrastructure as code using AWS CDK,” says Cramp.
A pivotal component was the transition to fully managed Amazon DynamoDB to help reduce the operational burden of infrastructure maintenance.
Arunkumar Ganesan
Senior Staff Engineer, Capital OneAWS Services Used
More Customer Stories
Did you find what you were looking for today?
Let us know so we can improve the quality of the content on our pages