Recently Web Services have been a major driving force towards making application development easy, modular and more robust. Here’s a list of some popular and proven ones for Rails development.
Last week there was an article on six revisions
about Website Features That You Can Easily
Offload
listing how you can take advantage of web services to lesser the burden on a site.
That prompted me to make a list of web services that an application developer,
especially a Rails developer can use to similarly, offload functionality and
get away with less code, less maintenance and develop quickly. Here’s what I
could think of:
- Authentication – Even though creating an authentication system in Rails is
easy thanks to plugins like Resftful authentication, your users probably hate
having to create and remember another login and password. By using
OpenId you can allow them
to sign using a login and password they already remember, not worry about
handling forgotten passwords and actually be more secure.
- Server side metrics – If you want to collect metrics within your
application, there are web services that help you there as well. See
Mixpanel and Nuconomy.
- Server monitoring and alarms – If you don’t want to build a dashboard yourself using Nagios or
Munin, one of the best web services product to
monitor your server performance is Scout
- Application performance monitoring – Among the hosted services,
NewRelic seems to the current leader for Rails
application performance monitoring. Scout would also do
it for you in a limited sense. this also looks like a
promising upcoming alternative.
- Uptime monitring – To know if your site is up and get notified as soon as it
goes down is absolute key to any business. Keynote,
Pingdom are two good choices. Of course, there are
many others
as well.
- Exception reporting – probably unique to Rails, is getting notified whenever
a user gets the dreaded 500 server error page. If you want more than what
Exception notifier plugin
can do for you, Hoptoad and
Exceptional are two services which you can look at.
- Sending emails – If sending emails from your server seems like too
complicated, or you are seeing your mails end up in people’s
spam folders, you can try Google’s
SMTP. For a more full featured alternative, try Campaign monitor or Mailchimp.
- Videos – With excellent services like
Youtube,
Vimeo and blip.tv You
no longer really need to handle video upload, processing and serving. In
fact, using one of these services will be faster for both development as well as for
your users.
- Images – Similarly, with services like
Flickr you don’t need to handle photos
if you don’t want to. You can even offload profile pictures to Gravatar
- Payment – Handling payment is one of the trickiest pieces. Almost all
the apps end up using one of these services to make it easy. Take your pick from:
Paypal, Google checkout and
Amazon payments. Then there’s
Spreedly especially to make handling subscriptions
easier.
- E-commerce – If you want a service for handling checkouts, order management
dashboards, fulfillment and the whole nine yards, check out
NetSuite and Shopify
- Geoocoding and maps – You are probably already using Google
maps as a service to embed maps in your
application. If you need to do geocoding, try this
- Amazon Web services: I thought AWS deserved special mention since they
really have been pioneers of web services. You can find many interesting
services here from distributed queue, hosted databases, metering and even on-demand work force. Disclaimer: I used to work for AWS.
Besides, there are Rails plugins of course which
make developing applications easier ever further. But, since we are considering only web
services, they are not listed here.
Leave a Reply