We just signed up Apprenda as a client. It’s an interesting firm – a classic Microsoft/partner/competitor infrastructure company. As Citrix is to Microsoft Terminal Services, or VMware is to Microsoft Virtual Server, so Apprenda wants to be to Azure. The firm sees PaaS as the new Application Server rather than the new virtualisation.
Apprenda’s goal is to provide a development experience that is business as usual for Windows .NET developers, making multi-tenancy into a configuration decision, by taking a standard app, automatically instrumenting the app, managing data isolation and transformation (even at the row level), making the app appropriate for the cloud.
Apprenda points to Amerisource Bergen, a pharmaceutical distribution company, as an example of its approach. Amerisource had an oncology app which was originally built for managing one clinic, which would run on a local machine. Using Apprenda the app was cloud-enabled and is now delivered as a service.
How does that work? The developer wraps and uploads the app, specifies configuration options at deploy time – such as authentication model, multitenancy (hard or meta isolation), then specifies resources needed, before publishing. Apprenda then builds a meta model of the app = looking at dependencies, call patterns and so on (Windows gorp, that is). – before finding the most appropriate servers for the app. It acts as a container. The focus on roles and authentication at the row level is crucial to enabling apps for the cloud that weren’t designed for the deployment model – deploying an on-prem app without changes to the cloud is a Really Bad Idea.
Apprenda certainly has a strong opinion – the firm has no interest in polyglot PaaS at all. So far the company is involved in a lot of consulting work to get companies ready for the change to PaaS, with knowledge transfer generally taking 8-12 weeks according to the firm.
Another company worth mentioning here is Appfog, another RedMonk client, which is taking the opposite approach: partnering with Microsoft to bring code developed in other languages such as Node.js to Azure – so you can mix and match Node apps built for Appfog and those built using the native Azure Node support. You can also deploy direct to Azure from Appfog, rather than Cloud Foundry only, giving a degree of PaaS redundancy.
Apprenda has a *long* way to go before its a Citrix or VMware, but its aggressive support of traditional Microsoft APIs and SDKs could pay dividends.