On Glassboard & Windows Azure

Stackmob announced it is shutting down this afternoon. I know a few folks that are using their services and are now going to be forced to look for a new provider for their backend services. I thought I’d share my experiences.

It has been nearly two months since I took over operations of Glassboard. The experience has been interesting, enlightening, challenging, and fun all at once. I’m hoping to talk about these lessons and experiences more here both as a way of documenting my progress and to hopefully garner feedback as I go forward.

I had an eye on last week’s announcement of Microsoft’s new CEO. Obviously because I follow the technology industry, but also because I now have a vested interest in Microsoft going forward. You see, Glassboard’s entire backend is powered by Microsoft technologies: Windows Azure to be specific.

Satya Nadella, the new CEO at Microsoft, was the head of the Azure side of MIcrosoft’s business before ascending to the top of the food chain, which is why I’m optimistic about the company’s future. I truly believe Azure is the best thing the company is doing right now.

Most people are surprised when I tell them that since I inherited an Azure backend rather than choosing it on my own accord, but I think that is what makes my thoughts more interesting. If I thought it wasn’t on-par with what Amazon is doing, I’d take the time to migrate off the platform over time. At this time, there are zero plans for that. I’m extremely happy.

The Glassboard API Architecture

Glassboard’s Android and iOS apps, like most mobile apps, are powered by a REST API. The API app is an ASP project that uses WCF to distribute the JSON payloads. If there’s one thing I hate, it is WCF. A lot. My next big backend project is converting from WCF to the new Web API 2 technology that is a lot easier to work with. It’s all written in C#, which I have found to be a pretty nice language.

The API is deployed to a Cloud Service, which is similar to a virtual machine but with less of an administration headache. I have the Glassboard Cloud Service set up to automatically scale between 2 and 4 Cloud Service instances depending on how much of a load is on the service at any given time.

Your messages are encrypted and stored using Azure Table Storage. Your photos, videos, and files are stored in Azure Blob Storage. Azure’s storage system is familiar to anyone who has used NoSQL. There’s also a little bit of SQL Server mixed in there for some stuff where a relational database made sense. This is by far the biggest cost point of my monthly bill, but it’s also pretty close to what Amazon is offering.

I also am using storage queues to communicate with Glassboard’s attachment processor and notifications cloud services. This works pretty well, but the Service Bus may be a better choice going forward. I’m honestly not sure yet. I need to read into it more.

Oh, and I also deploy the Glassboard marketing site to an Azure Web Sites instance through GitHub. Whenever I push an update to my web site to its public GitHub repository it instantly deploys the new version to Azure.

Other than the Glassboard marketing site, I manage all of this and deploy it through Visual Studio 2013 on a Windows 8 VMWare instance on my Mac. I came into it with zero experience and in two months have gotten to the point where I am comfortable with nearly every aspect of it.

Is it the right tool for you? That’s up to you, but like Brent I am a fan and am glad to see Amazon have a legit competitor in the cloud services area.

With Stackmob shutting down, I know a lot of developers are looking for a new backend as a service. If you’re doing Node, Azure is worth looking at as it is a first class citizen. If you’re looking at Parse as a Backend as a Service replacement, Azure is worth looking at too. Their Mobile Services product is a direct competitor. I haven’t used that portion of the platform personally, but I am happy enough with the Azure offerings I already use to recommend it.

As more apps are requiring a server-side component, cloud service providers are becoming more important. My hope is that Microsoft’s Nadella continues to recognize that as CEO and keeps funding the best product (and only product I regularly use) they have going today.