Free Web Services

Consolidated list of free services or services with a free plans to help get your project started. Please verify that the service(s) will fit your use case, usage limits and other terms were check at time of writing and may be out of date.

Analytics

  • Mixpanel
    • Fairly low limits on the standard free tier but if you are willing to become a partner the limits much better.
  • Segment

BAAS’s

CDN’s

  • Jare.io – [hn]
    • Free to use for now. Useful if you are latency sensitive but not if you are trying to scale.
  • CloudFlare
    • This service will proxy your domain. Will not work for all use cases but easy to use and usually better than nothing.

Collaboration Software

Email

  • Customer.io
    • Event based email platform. (free plan includes 400 emails per month)
  • SendGrid
    • Standard REST to email API (freeplan includes 12,000 emails per month)

ID

  • Cloud9
    • A web-based IDE where you can have your workspace on your own dedicated server.
  • Nitrous
    • Another web-based IDE

Logging

PAAS’s

  • Heroku
    • Since the free plam requires 6 hours of “sleep” a day it should definitly limited to low traffic or developer only sandboxes.

Building Ardb

Ardb is a mostly protocol compatible relacement for Redis for the times that keeping everything in memory is just not an option.

To build on ubuntu will need to run:

apt-get install build-essential autoconf libbz2-dev zlib1g-dev

Other wise you may see errors like

make[1]: *** [/home/user/projects/ds/ardb/src/../deps/jemalloc-3.6.0/lib/libjemalloc.a] Error 127

or

/usr/bin/ld: cannot find -lbz2

As described here: Here

 

Simple PLV8

At my day job we use Postgres as our primary data store and Node.js for a lot of our services. I had heard about PLV8 before but hadn’t had a chance to give it a try. Here is a simple example:

In this example blob is a JSON column in the snapshot table. I know this could be easily done with the JSON functions but there will definitely be times where PLV8 is the simpler solution.

Reactive Spark

As I mentioned in my previous post I came across Spark Framework and was intrigued that java might have finally reached the level of simplicity to make it viable as a prototyping language for rest services.

Just to start things off easy I went with a simple time service:

Line 2 is wiring up the public resources that will be used shortly. Line 3-4 is returning the current time in miliseconds for a GET to /time.

To keep things more interesting I decided to throw in another technology that has been a buzz lately but I haven’t had time to pick it until now. And that is React.

This is my first react app so it probably is a little messy but you have to start somewhere. Basically it starts of setting the currentTime to empty string and as soon as the component is bound it will make a request to our spark rest API. Once the result is received, currentTime will be updated which is where the magic of React comes in and updates the corresponding UI elements.

Just for good measure here is a docker file that bundles up this spark app:

Spark Framework

A few weeks I looked back at Java for a new REST API after a long time away with Node.js. After a little bit of looking I came across Spark Framework. It was interesting to see that a Java Rest framework was at the level of simplicity of its dynamic counter parts. For example:

When the simplest this was pretty much on par with a hello world for express.js