Introduction

I work as a software architect for a small software company in New York. The company’s products have 3 incarnations:

  1. distributed applications running on handheld devices, capturing data from the field,
  2. web-based versions of these applications, where user-centric data are rendered,
  3. web-based reports of aggregates for cross-sections of the user base.

Since the company operates as an application service provider, all data are housed in the company’s data center, in addition to living on the users’ handheld devices. To reconcile both the handheld device and the back-end server we have built a proprietary 2-way synchronization service. Why proprietary? Because that type of service had not been commoditized when the company started.

In terms of scale the various services are used by 100,000 active users, a quarter of which upldoad/download data between their devices and our back-end databases daily. One important point is that our workload is not going to be the traditional web workload; the synchronization part adds different runtime and storage constraints on the back-end, constraints to be detailed later.

Note that I have omitted the actual industry because I don’t think the specifics matter; suffice it say that the company is essentially basing its business on both the quantity and the quality of the data it is gathering and preserving year after year.

About alq

Devops entrepreneur
This entry was posted in introduction. Bookmark the permalink.

Leave a Reply