Service Fabric

Today at Build, Microsoft detailed Service Fabric, which was previously known as Windows Fabric. I’ve taken to just calling it Fabric. At its core, Fabric is a framework for hosting services. It handles high availability, service discovery, partitioning, zero-downtime upgrades, monitoring, load balancing, failure detection, and data replication. It has a bunch of other features, […]

Continue reading →

Azure DocumentDB Primer

Microsoft has just announced Azure DocumentDB, their fully managed document-oriented database. You can read the announcement here. DocumentDB is similar to MongoDB in that both effectively store JSON documents, provide a rich query API, and have deep JavaScript integration. Like MongoDB, DocDB is organized into a hierarchy of Databases, Collections, and Documents. Let’s look at some key differences. DocumentDB-flavoured SQL SQL is the […]

Continue reading →

(Troubleshooting) Orleans Silos fail to start with “Subnet null”

Today I encountered an error starting Orleans: System.ArgumentException: Hostname ‘127.0.0.1’ with subnet null and family InterNetwork is not a valid IP address or DNS name. The issue was that the Express Emulator was selected in Visual Studio. The Full Emulator should be selected instead. Here’s the full error text:

I’m posting this here for […]

Continue reading →

How to Architect Reactive Apps & Services

Previously, I wrote about how the Web is a ghost town, and that we need more reactive software. Apps & services which are: Highly Interactive Always Current Enable the Continuous Client These all involve a resource (eg: a Web page) which is updated continuously in response to events. If we structure services correctly, we can get all […]

Continue reading →

The Web is a Ghost Town

You’re out of beets, so you hit the market. When you get there, it’s deserted. You saunter over to the beet vending machine. $3 billion dollars per beet? That’s a little rich. As you turn to leave in disgust, you feel a tingle down your spine. Something is different. Everything is a little different. There’s […]

Continue reading →

MongoDB Replication: The Journal Journal, The Global Lock, & Durability

MongoDB was designed from the ground up to be very simple to deploy and use. It’s apparent, however, that less attention was paid to designing the architecture for a clustered deployment. Clustered MongoDB hosts form replica sets for high availability. Within a replica set, there are primary replicas and secondary replicas. Primary replicas serve all […]

Continue reading →

Orleans & OWIN: A Trivial Configuration Middleware

  We’ve been messing around with the recently released Orleans framework and OWIN/Katana – so that we can access Orleans grains from a Web Api project. In doing so, we’ve had the need to ensure that Orleans is actually initialized before any requests are made. The following snipped of code provides an IAppBuilder extension method […]

Continue reading →

Microsoft Orleans – Why you should care

Today at //build 2014, Microsoft finally released their (code name) Orleans actor framework to the public. I want to briefly summarize Orleans here. Orleans is a framework for writing highly scalable, fault-tolerant distributed systems for cloud environments and doing it simply. It is very much a “get things done” framework, designed for productivity. It’s an […]

Continue reading →