What is serverless commuting, and why it’s a game changer
Today we are finally getting down to business. In this article, we are going to look at server-less computing. This is the secret sauce that makes being an independent developer easier than ever.

We’re Off to See the Wizard

Serverless computing is a relatively new term. I first heard the term around the time Amazon launched AWS Lamda. The term refers to the ability to develop applications without designing or building a backend. You write the frontend/client code and a remote service does the heavy lifting. Or as Wikipeidia puts it:

Serverless computing is a cloud computing execution model in which the cloud provider dynamically manages the allocation of machine resources. Pricing is based on the actual amount of resources consumed by an application, rather than on pre-purchased units of capacity. It is a form of utility computing.

Of course, the term serverless computing is misleading. Much like Dorothy in the Wizard of Oz, there is someone, or something, behind the curtain. As far as developers are concerned, there are no servers. In reality, they still exist in the provider’s data center, but we don’t have to deal with them.

Nothing New Under the Sun

I should point out, that the term may be new, but it’s been around for a while. For a start, this blog uses a form of serverless commuting. Using a combination of the Jekyll blogging system and GitHub pages, I write markdown text files, run them on a local server, and push them to GitHub. Github serves the content to you. I plan to write more about the technical side of my blog in a future article.

Also this is not my first experience of what is now called serverless computing. Way back in 2014, I started learning AngularJS, and decided to build something using the framework. I used a service called Parse to build my Pikr.me web app. I deployed the site via Dropbox. Unfortunately, Facebook acquired and shutdown Parse, and Dropbox no longer permits you to deploy static web site, so the site is no longer active. I once gave a presentation on the topic, you can find it at The New Web.

Light My Fire

Parse may be long gone, but it’s near contemporary, FireBase is still around. It was also aquired by a major cloud provider. Luckily for Firebase and their user’s, they were bought by Google, and they’re still going strong. They offer a range of services, including authentication, a realtime database, file storage, web site hosting, and mobile messaging. Like most cloud services, they have a multi-tier pricing model, that starts with a free tier. Currently, I use Firebase as the backend for a mobile app. I’ve been writing in React Native. The app is a simple use management app that lets you display a list of users, view and edit their details, and create users. It runs on both iOS and Android.

The app uses two Firebase services: authentication and real time database. The authentication service handles security and access. To use the app, the user has to enter their email address and a password. When they click the Submit button, their credentials are sent to Firebase, via an API. Firebase authenticates the user, and sends back a message that indicates whether they are aloud to access the database.

The app reads the message. If the credentials were invalid, the app displays an error message. If the user’s credentials are valid, the app then request the list of users. Firebase returns the list of users as a JSON object.

As you can see, I can concentrate on building the app and Firebase and Google do the rest.

Last Words

Apart from the links in the article, the .Net Rocks podcast has a number of great shows on the subject. The NDC 2017 Panel, a show on Azure Functions, and Serverless Architecture. The NDC show has a lot of information on Firebase, and the last show was the first time I heard the term serverless computing, and it mainly focues on AWS Lamda. I should also add that Google has been adding new Firebase services. They recently launched a new document database

Looking Ahead

As far as this series goes, it’s three article down, two more to go. The next article will be on free and open source, and the last article will tie up all the loose ends. As things settle down here, I’m hoping to pick up the pace. I am planning to finish the series this week.