Mobile Backend as a Service (MBaaS) Blog web-dev

5 Apps to Help you Survive the Holidays

Wednesday Dec 17, 2014

Happy-Holidays-snowmanThe holiday season can be wonderful: time spent with family and friends, festive meals, and lots of gift giving. But for many of us, all those things are also what make it one of the most stressful times of year. Here are 5 apps to help you make it to the new year.

Recovering from a DNS Service Outage in AWS Using Monit

Tuesday Nov 6, 2012

A DNS failure isn’t something you see everyday at AWS, but when it happens it can cause problems with your application. If your app relies on DNS to connect to another server (e.g database), it may stop trying after a few failed lookups. When a network service like DNS is unavailable, here’s how to determine whether or not your app will require manual intervention to recover.

Migrating from GoDaddy DNS to Amazon Route 53

Tuesday Sep 11, 2012

Amazon Route 53

With GoDaddy’s entire DNS service down, I figured it would be a good time to write up a quick migration guide for anyone looking to use this opportunity to jump the GoDaddy ship. This guide assumes that your domain name is with another registrar, and you are only using GoDaddy for hosting. If your domain name itself is controlled through GoDaddy, you’re out of luck until they come back online.

What The Web Looks Like In The Era Of Backend as a Service

Thursday Aug 23, 2012


I still remember loading a Prodigy floppy disc into my IBM PS/2. Those were the days before the World Wide Web when the online services meant email and IRC. Among those services there were only 3 choices (can you guess the other two?) 8-bit graphics and all!



In the world of Backend as a Service (BaaS), the meaning of choice on the internet is evolving, as computing services have become more of a utility through software-as-a-service offerings.

Good UI is Contextual

Friday Aug 10, 2012


 A user interface is a mechanism for the user to communicate their intention; in this case, to a computer. When I sit down to search for airfare on, I have a certain intent: I want to find a plane ticket that meets my schedule and budget. 

When I first open, the site has no knowledge of my intent, beyond my basic interest in airfare. Between this initial state and the end state – my purchase of the appropriate airfare – I need to communicate my intent to the site in a mutually understandable format. Something the machine can easily understand, and I can easily provide.

Graphite on Ubuntu 12.04 LTS – Part II: gunicorn, nginx and supervisord

Friday Jun 29, 2012



In my previous post I showed you how you could set up graphite and statsd to enable collection and visualization of your application and system metrics. In this post I continue with showing you how to serve up your graphite webapp using gunicorn and nginx, and how you can run and monitor the various components using supervisord.

Surviving AWS Failures with a Node.js and MongoDB Stack

Monday Jun 25, 2012

AWS OutageNode+Mongo on EC2 is a very popular software stack among web services developers. There are many user guides on how to design such a system with built-in redundancy so that even coordinated failures don’t bring down the service. The absolute minimum for a resilient service requires a MongoDB replica set behind a load-balanced node farm.

However, you are not ready for an EC2 outage until you have deliberately shutdown components in your system and verified the expected behavior. As you periodically do this, you might discover that there are gaps you did not account for. In this blog I want to share our experiences beyond the initial configuration and add some fine details on creating a Node+Mongo application that is both secure and resilient to common EC2 failures.

How to Set Up Metric Collection Using Graphite and Statsd on Ubuntu 12.04 LTS

Tuesday May 15, 2012

Ubuntu Logo

A few weeks ago, I talked about how Kinvey’s analytics help developers gain insight into their app’s usage. This insight is important, because it is a key factor in improving any product or service offering.  Here, at Kinvey, we are committed to tracking every aspect of our service’s behavior in order to serve our customers better.

Visualizing your metrics is just as important as collecting them. We decided to use the awesome open source tool, graphite to help us visualize our application and system metrics. We also decided to leverage the fantastic work done by Etsy and use statsd,  their simple node.js daemon that collects and aggregates metrics via UDP and flushes them to graphite.

Connecting Your Web Frontend to Your Mobile Backend with Backbone.js

Tuesday Mar 13, 2012


A rising trend we have observed amongst our customers is that they start by building a mobile app and then move on to building a web front-end for their Kinvey backend. The front-end allows them to curate their data and provide a web experience to their users. Mark Suster calls this “Web Second, Mobile First”, and elaborates further in this blog article. Today, I’m going to show you how easy it is to connect to Kinvey from an HTML/Javascript front end in order to provide that web experience.