1 min readfrom InfoQ

Presentation: Clean Architecture for Serverless: Business Logic You Can Take Anywhere

Our take

Unlock the portability of your serverless business logic with Elena van Engelen’s presentation, "Clean Architecture for Serverless." Learn how to avoid vendor lock-in while leveraging native cloud capabilities through a practical application of Clean Architecture, Spring Cloud Function, and Gradle modules. Elena will demonstrate a live deployment of portable Kotlin services across AWS and Azure, underpinned by Terraform CDK for multi-cloud infrastructure. For deeper insights into cloud infrastructure management, explore our recent article, "Amazon EKS Adds Kubernetes Version Rollback."
Presentation: Clean Architecture for Serverless: Business Logic You Can Take Anywhere

The rise of serverless computing promised unparalleled agility and scalability, yet it’s simultaneously introduced a significant challenge: vendor lock-in. Elena van Engelen’s presentation, "Clean Architecture for Serverless," directly addresses this concern, outlining a practical approach to building portable FaaS applications. It’s a timely discussion, especially considering the recent developments in the cloud landscape, such as Amazon EKS Adds Kubernetes Version Rollback Within 7 Days of an Upgrade Amazon EKS Adds Kubernetes Version Rollback Within 7 Days of an Upgrade which highlights the ongoing need for robust infrastructure management and resilience, even within managed environments. Van Engelen’s methodology, leveraging Clean Architecture, Spring Cloud Function, and Gradle modules, offers a compelling path toward mitigating this lock-in risk, allowing organizations to shift workloads between providers without a complete rewrite. This is particularly relevant given Microsoft launches new in-house AI models it says cut costs up to 89% versus OpenAI Microsoft launches new in-house AI models it says cut costs up to 89% versus OpenAI, demonstrating the drive to optimize costs and control infrastructure; portability becomes a key enabler of that control.

The core of Van Engelen's approach lies in isolating business logic from the specific serverless platform's implementation details. Clean Architecture provides a clear separation of concerns, ensuring that the core business rules remain independent of the underlying infrastructure. Spring Cloud Function simplifies the creation of portable functions, and Gradle modules facilitate modularity and dependency management. The demonstration showcasing deployment across AWS and Azure using Terraform CDK for multi-cloud IaC solidifies the practicality of her recommendations. This isn't merely a theoretical exercise; it’s a tangible blueprint for building resilient and adaptable serverless applications. Traditional approaches often prioritize vendor-specific features, leading to tightly coupled systems. Van Engelen’s method prioritizes flexibility, allowing organizations to react to changing market conditions or leverage the unique strengths of different cloud providers without being beholden to a single vendor's ecosystem.

The broader significance of this work extends beyond simply avoiding lock-in. It represents a shift towards a more composable and adaptable cloud architecture. Organizations are increasingly adopting multi-cloud strategies to diversify risk, optimize costs, and leverage best-of-breed services. However, realizing the full potential of multi-cloud requires applications that can seamlessly move between environments. Van Engelen’s presentation provides a practical framework for achieving this level of portability, enabling organizations to build truly cloud-native applications that are not tied to a specific vendor. While the Intelligent Document Processing (IDP) System in the Cloud Build and Run an Intelligent Document Processing (IDP) System in the Cloud highlights a specific use case demonstrating cloud capabilities, Van Engelen’s work offers a foundational architectural pattern applicable across a wide range of serverless applications, enabling similar agility and portability.

Looking ahead, the success of this approach hinges on the wider adoption of standardized interfaces and frameworks for serverless deployments. While Terraform CDK provides a powerful tool for multi-cloud IaC, further evolution in tooling and standardization will be crucial for simplifying the management and deployment of portable serverless applications. The question remains: will the industry coalesce around a set of portable serverless standards, or will we see a proliferation of proprietary solutions that ultimately recreate the vendor lock-in problem they were intended to solve? The next few years will be critical in determining the future of serverless architecture and the extent to which organizations can truly harness the power of a multi-cloud world.

Elena van Engelen discusses how to eliminate serverless vendor lock-in without sacrificing native cloud capabilities. She explains how to structure FaaS applications using Clean Architecture, Spring Cloud Function, and Gradle modules to isolate business logic. Finally, she shares a live demo deploying portable Kotlin services across AWS and Azure using Terraform CDK for multi-cloud IaC.

By Elena van Engelen

Read on the original site

Open the publisher's page for the full experience

View original article