January 29, 2019 // By Rockford Lhotka
CSLA .NET version 4.9 is the latest release of the widely used open source project that's been running for more than 22 years.
This release focuses primarily on enabling important cloud-native computing scenarios, with an eye specifically toward Kubernetes and Cloud Foundry deployments.
Although a lot of interest in container-based cloud-native platforms is rightly centered around microservices, there are also great benefits to be had by n-tier applications if their server-side components are cloud-native enabled.
And that's the goal of this CSLA .NET 4.9 release: ensure that all existing and new apps built on CSLA become cloud-native enabled without needing to change UI, business, or data access code. As always, CSLA strives to provide access to modern platform benefits with minimal impact on any existing application code.
In version 4.9, CSLA supports two new routing models that allow app client devices (PC, phone, web server) to communicate with cloud-based application server components: client-side routing, and server-side routing. These two models enable some key scenarios, including:
- Directing calls from the client to different application server endpoints or clusters based on a set of rules
- Routing calls from single server endpoint to specific containers or container types based on a set of rules
- Easily managing multiple versions of an app at the same time, ensuring a client talks to a server with the same version
Scenarios 1 and 2 allow your CSLA apps to take full advantage of the container orchestration and management features of Cloud Foundry and Kubernetes. Scenario 3 is primarily focused on supporting mobile apps, where you don’t directly control when your users will accept app updates on their phones, forcing you to support multiple versions of the app (and its server-side components) at the same time.
Another key aspect of cloud-native apps comes from 12factor.net, and is around configuration. Where app configuration used to flow from web.config or app.config files, in a cloud-native environment configuration should flow from the environment. CSLA version 4.9 fully embraces this cloud-native configuration approach, while retaining backward compatibility with existing file-based configuration.
The result is that as you move your server-side components into containers running within Kubernetes or Cloud Foundry, you can easily migrate your configuration from files into the cloud environment itself. Your application code is unaffected, because CSLA has ensured you are already prepared to be cloud-native.
There are numerous other enhancements included in the version 4.9 release, and you can get full details from the official release page.