Menu Home

Why Serverless with Azure?

Serverless Architecture is a getting a lot of interest right now but at first it can be a little difficult to get a clear understanding of what exactly it is and is not. Azure is a large and growing collection of services and it can be hard to work out what parts are most useful in a Serverless context.

AzureServerless offers a launch pad  and watering hole for those interested in this exciting and rapidly developing sphere of cloud based development.

This post is an explanation of my journey that lead to Azure and what I discovered on the way. It will explain why I decided to start AzureServerless and my plans for it.

I almost literally stumbled across Azure Serverless features while groping around to find suitable services for a new SaaS product I’m working on. I’m developing this on my own (for now) and will be following a Lean Startup approach (rapid small experiments to see what users like). For the backend that means minimal DevOps demands, ideally with more Dev than Ops.

I looked at the usual IaaS and PaaS offerings as well as containers but they all required too much Ops. After many years experience of what is often referred to as “full stack development” I know how much time Ops can absorb. I want to concentrate on innovation for users and that means concentrating on my app logic, not infrastructure. Even if it is mostly template and standard config of say a nodeJS Express server on PaaS. It still needs care to find an maintain best performance and security using practices. Another concern is that if this should ever attract a reasonable number of users I have little desire to learn the at-scale deployment skills that IaaS and PaaS require.

So I looked at Amazon Web Services Lamda which research indicated appeared to promise much of what I desired. The ability to just provide small functions and have everything else managed was exciting. However I soon hit a common problem with the otherwise excellent technology. It’s a big collection of parts, some of Beta quality and nearly all with poor documentation, especially on how to use them pieces together. The support channels I tried were not much help either. True, there are were some excellent resources on the way, notably the Serverless Framework and P Sbarski and S Krroneburg’s book, but I wanted something a little smoother.

I briefly looked at Azure and Kinvey which again are excellent but I felt not quite right. Neither were quite the same level as AWS Lambda. It turns out Kinvey can be best described as a Backend as a Service (BaaS) which is not the same as Serverless, though offers much of management you want. The parts of Azure I looked at where much the same, but it turns out I’d missed 2 beta components. These, I eventually discovered were the solutions I sought.

Another issue that tripped me up for a while was a distinction made in the documentation of AWS, Azure and Kinvey. They all separate mobile from web services but I want to create a Web based app that runs in mobile contexts as well as on desktops, 2-in-ones or whatever. In my mind there is no longer a distinction; users have devices with varying screen size and connectivity. An App has to work in as many contexts as possible. Fortunately it turns out this largely a marketing distinction as most services HTTP connected and SDKs are available in both mobile native and javascript variants.

At this point I spoke to Adrian Hall, a PM of Azure App services who wanted to know why I had previously rejected Azure. He helped me better understand the Azure offerings and how they could work for me. Still I was not completely happy as the services were mostly PaasS and required a little to much DevOps effort for my liking.

And then I discovered Azure Functions, quickly followed by Azure LogicApps. Together or separately, these provide a really interesting Serverless offering from Microsoft that provide fully managed solutions of the kind I have been searching for. They have unique features and benefits that highlight the new Microsoft: Enterprise quality yet open source. The final clincher for me was meeting some of the Functions team at the recent ServerlessConf London. I managed to pester them with a lot of questions, the answers to which convinced me these are solid products with serious Microsoft backing. Not to mention a great team of devs and PMs.

So back to why I started AzureServerless. Functions and LogicApps are two small parts of the very large Azure service collection. It can be hard to home in on them and find resources or answers to questions. Serverless as an architecture is new and the wrinkles are being worked out. Plus, Azure is only one of several offerings in the space, with AWS the clear leader. It can again be hard to find information specifically about Azure.

AzureServerless will offer a starting place for journeys of discovery and signposting to resources and discussion about Azure services that support Serverless architectures. We’ll provide examples and solutions to problems with Functions and LogicApps, along with other supporting Azure services.

Let’s start…..The home page is a good place to begin.

Categories: Uncategorized

steve@opendirective.com

Leave a Reply