Application Development Platform
Elasticsearch is a technology that can index enormous quantities of data and permits us to do massive searches that respond very quickly. It also supports “fuzzy” searches so that common misspellings, plurals and other aspects of language to not get in the way of finding what you are looking for. Where appropriate this technology is incorporated into our applications.
Most of our servers run in Amazon Web Services (AWS) – Elastic Cloud Compute (EC2) web service. AWS permits us to only pay for what we use and only pay when we use it. We also use Amazon’s Simple Storage Service (S3) for any file storage. Again, we only pay for what we use and the durability of the data is world class. There is no upfront capital investment required for hardware and we can scale up to larger servers any time we need to. This lean cost structure is reflected in our pricing.
Continuous integration is the process of merging application changes on a frequent basis. This allows us to avoid problems associated with integrating large numbers of changes all at once. It also allows us to run our test suites at this frequency and let the developers know immediately if bugs have been introduced. If the tests pass, we can be comfortable that we have a stable release candidate for our next application update. All this allows us to update our applications frequently with bug fixes and new features. Meteor helps us out here as well; when we release a code update, Meteor knows which clients are running on an outdated version. It then automatically updates the application and all the user sees is a page refresh. If the user is in the middle of something, we prompt them to let them know that an update is available, and they should refresh as soon as possible.