Where are you using WebAssembly?
Wasm promises to let developers build once and run anywhere. Are you using it yet?
At work, for production apps
At work, but not for production apps
I don’t use WebAssembly but expect to when the technology matures
I have no plans to use WebAssembly
No plans and I get mad whenever I see the buzzword
Cloud Native Ecosystem / Open Source / Serverless

Bringing the AWS Serverless Strategy to Azure

Capital One puts business outcomes first in its transition to serverless technology on AWS. How can Azure users accomplish the same goals?
Jan 19th, 2024 6:00am by
Featued image for: Bringing the AWS Serverless Strategy to Azure
Featured image by Pero Kalimero on Unsplash.

Capital One’s embrace of serverless technology, especially through AWS, marks a significant milestone in tech transformation. Its compelling journey, detailed at AWS re:Invent 2023, sheds light on the profound impact of serverless architecture on the company’s operations. Can these insights benefit organizations using other cloud platforms?

To answer this question, we must start by analyzing its approach.

Capital One’s Strategic Shift: A Serverless-First Approach

In 2020, Capital One audaciously moved all in with the cloud, pivoting to a serverless-first architecture. This bold move marked its transition from traditional data center management to focusing on application logic that directly benefits customers. Three things stand out to me with this strategy.

1. Emphasis on Total Cost of Ownership

By focusing on total cost of ownership (TCO), Capital One aimed to optimize spending by considering not just the upfront costs of technology, but also the ongoing operating expenses. In our efforts to shift responsibilities left into the hands of our most capable developers, we inevitably burden them with all the responsibilities associated with a project, many of which are outside the scope of a developer’s job description.

As George Mao, solutions engineer at Capital One, described the team’s previous state:

“Developers had to deploy EC2 instances, manage the scaling, configure the autoscaling policies, and manage the operating systems and containers deployed to these EC2 instances. We had to deal with patches, vulnerabilities and other tasks we call ‘run the engine’ (RTE). We quickly realized RTE costs are significant for all teams.”

The following slides from Capital One’s Re:Invent presentation illustrate how much responsibility has shifted away from the development team and into the hands of a well-managed cloud services provider.

Diagram of Capital One's initial EC2-based architecture required heavy lifting for developers

Source: Capital One

Capital One's serverless architecture reduces the burden on developers

Source: Capital One

2. Business Value as a Primary Goal

Capital One’s transition to serverless computing is not just a technological upgrade; it’s a strategic maneuver aimed at improving operational efficiency.

First, the IT staff no longer needs to manage server hardware, including procurement, maintenance and upgrading physical servers, which is a significant relief in terms of resources and logistics. The serverless model also negates the need for extensive capacity planning. Where predictive planning for server usage was once crucial, now AWS’s serverless computing services dynamically allocate resources as needed, removing guesswork and inefficiencies.

By offloading server management and maintenance to AWS, Capital One can focus its resources on innovation and development. The IT staff, previously occupied with server management, can now be redirected to more strategic, value-adding activities.

3. Impactful Tools Help Deliver TCO and Business Value

Capital One’s insights on serverless development point to the need for new tools like AWS Serverless Application Model (SAM), which allows local building and iteration. By leveraging AWS SAM, Capital One:

  • Accelerated its development process by giving developers the ability to build and iterate their serverless applications locally.
  • Provided teams with a streamlined way to define and manage serverless resources, enhancing operational efficiency.
  • Capitalized on AWS Lambda’s capability to scale serverless applications effectively, optimizing costs.

There is a wealth of tooling in the AWS ecosystem to help make serverless implementations successful for teams of all sizes. However, what if you need to achieve this transition on another cloud? For example, when looking at Microsoft Azure, the landscape is slightly different.

Introducing SAM Benefits to Azure

AWS SAM provides robust support for local development and testing of serverless applications through the AWS SAM command line interface (CLI). This enables developers to run serverless functions and APIs locally, replicating the cloud environment for development and debugging purposes.

This included support allows developers to avoid extensive setup phases, but I believe the most valuable feature of AWS SAM is that it has been tailored explicitly for serverless application development. This specialization gives AWS SAM an advantage in addressing the specific needs and workflows of serverless developers. It provides a more developer-friendly abstraction layer on top of AWS resources, making it easier for developers to work with serverless components.

Azure offers tools like ARM templates and Bicep, which primarily focus on resource management and deployment. While these tools are effective in their domain, they don’t entirely replicate the serverless development experience provided by AWS SAM. Third-party tools in the Azure ecosystem can help bridge these key gaps:

  • Local development and testing: To mirror AWS SAM, developers need to be able to do local development and testing of serverless applications. This reduces dependencies on cloud deployments and speeds the development process.
  • Automated infrastructure management: Azure developers also need simpler ways to manage infrastructure. Automating provisioning and configuration tasks allows teams to focus more on application development than infrastructure setup.
  • Enhanced business value focus: Reducing the time and effort spent on infrastructure management enables teams to concentrate on developing features that directly add value to the business. This is needed to achieve the approach Capital One adopted with AWS SAM, which emphasizes business value over operational complexity.

Nitric is one of the tools that aims to bring the benefits Capital One experienced with AWS SAM into the Azure world, with developer-experience-focused features, to bridge these gaps. As an open source framework, it allows for local development and testing, automates infrastructure provisioning and configuration, and enables teams to concentrate on feature development. Teams looking to gain the benefits of AWS SAM in their Azure development should definitely play around with Nitric and see how it can improve their TCO and business value.

Embracing Serverless for Business Transformation

Capital One’s experience with AWS epitomizes the significance of focusing on TCO and business value. By adopting serverless architectures, it has minimized operational costs and pivoted toward customer-centric innovations.

As Paul Johnston wrote in his blog post Serverless Is a Doctrine, Not a Technology:

“All technologists in a business are there to provide business value. The job of a person in a business is not to provide technology, but to provide business value.”

For companies aligned with Azure or other cloud providers, identifying tools and practices that provide an AWS-like experience is crucial. Discover more about how Nitric is enhancing the Azure experience in serverless development, including automatic infrastructure specification, CI/CD synchronization, application containerization and provisioning of least-privilege roles and policies.

Check out what we’re building in the open source Nitric framework, and support us with a star on GitHub!

Group Created with Sketch.
THE NEW STACK UPDATE A newsletter digest of the week’s most important stories & analyses.