American Express has made a groundbreaking move in the world of cloud computing by adopting WebAssembly for its internal Function as a Service (FaaS) platform. This decision marks a significant shift from traditional container-based solutions and represents one of the largest commercial applications of WebAssembly to date.
The Rise of WebAssembly in Enterprise
American Express’s choice to implement WebAssembly, specifically using the open-source tool wasmCloud, demonstrates the growing confidence in this technology for large-scale applications. WasmCloud recently achieved incubation status within the Cloud Native Computing Foundation (CNCF), further validating its potential in the enterprise space.
Performance and Security Advantages
The primary drivers behind American Express’s adoption of WebAssembly were its superior performance metrics compared to containers and enhanced security features. The company sought to create a sandbox-like environment that offers lightweight, low-latency functionality, which aligns perfectly with WebAssembly’s capabilities.
Transforming Developer Experience
Streamlined Development Process
American Express’s FaaS platform aims to simplify the development process by allowing developers to focus solely on writing function code containing business logic. The platform handles all other responsibilities, significantly reducing the learning curve for developers.
Flexible Code Execution
The FaaS platform leverages wasmCloud to enable a hybrid approach to code execution. While compute-intensive functions can be compiled with WebAssembly, database-specific code can be written as native binaries. This flexibility allows for seamless interaction between WebAssembly components and native binary components.
Platform Engineering Innovations
Scalable Architecture
From a platform engineering perspective, American Express’s approach allows for independent scaling of components such as data source I/O. This separation of concerns enables increased function density and more instances, optimizing resource utilization.
WasmCloud as the Foundation
The decision to build the FaaS runtime on top of wasmCloud provides American Express with a single, high-density runtime that ensures full sandboxing and isolation of functions. WasmCloud’s additional features, such as composition and modularity, made it an ideal choice for the platform.
Enterprise-Ready WebAssembly Runtime
Deployment Pipeline
American Express has developed a sophisticated deployment pipeline for its WebAssembly-based FaaS:
- Developers write and push code to a repository.
- The code is compiled into a WebAssembly component.
- A security decorator is added, incorporating security filters and credentials.
- The secure component is wrapped in a platform component, enabling multiple interfaces for invoking business logic.
Leveraging Open Source
Instead of building everything in-house, American Express leveraged wasmCloud as the foundation for its platform. This decision accelerated development and allowed the company to benefit from the robust ecosystem of WebAssembly tools.
Key Features of the wasmCloud-Based Platform
Enterprise Integration
The platform transforms standard business logic into an enterprise-ready WebAssembly platform, offering features such as:
- Secrets management
- Project management
- Multi-interface accessibility
Developer SDK
A comprehensive development SDK is provided to function developers, enabling seamless interactions with other functions or WebAssembly components.
Custom Components
American Express has extended the platform’s functionality through custom wasmCloud components and has made significant contributions to the open-source ecosystem.
Industry Impact and Future Prospects
American Express’s adoption of WebAssembly for its FaaS platform, coupled with wasmCloud’s advancement to CNCF incubation status, signals a promising future for WebAssembly in enterprise applications. As more companies recognize the benefits of this technology, particularly in serverless environments, WebAssembly is poised to challenge containers as the preferred solution for certain use cases.
The success of this implementation at American Express is likely to inspire other large enterprises to explore WebAssembly for their cloud-native applications, potentially leading to a shift in the landscape of cloud computing technologies.
Read more such articles from our Newsletter here.