Happy Pi Day everybody! It’s the 14th day of the 3rd month, or 3.14, which is pi to 2 decimal places. Today’s a special pi day in that the year is 15, so at 09:26 and 54 seconds you can add a few more places and get 3.141592654. For more fun Pi Day facts check out Clowie’s post over at Clowie’s Corner.
One of the current tends in software development is the move towards reusable code. Symfony bundles are a good example of a community of developers working together to make each bundle achieve its software goal in the best way possible. On the other hand, with WordPress plugins there are often loads of them all trying to achieve the same thing, leading to duplication of effort and confusion when trying to choose the best one.
A natural extension of the reusable code trend has been Software as a Service or SaaS. Here a software provider has elected to provide not only the software, but the services that go along with it. The trade off for the recipient is reduced development costs and the peace of mind provided by the Service Level Agreement (SLA) against the SaaS not being “precisely” what’s required. Popular SaaS solutions are very commonly built for situations where everybody wants, or will settle for, virtually the same thing.
For example, many pieces of software talk to each other in real time via an Application Programming Interface or API. When all is going well the instantaneous nature of the response is great. But what about when there’s a problem at one end or the other? Maybe one of the pieces of software has slowed right down or even stopped responding. One way to circumvent such problems is by making the calls asynchronous via a Message Queue (MQ) preferably using a standard protocol like AMQP.
One way to go is an open source solution like RabbitMQ, but once you have the module installed and tailored to your needs you then have the responsibility of maintenance, upgrades and enhancements. The popular SaaS solution here is the cloud-based IronMQ which frees you from those worries. And as long as iron.io want to keep their offering at the forefront of the MQ choices they’ll be the ones investing their resources in in making that so. Costs are inevitably a factor here in so far as the service needs to be affordable, but more companies are choosing to go this way and investing their own development effort in things where they believe their in-house expertise really can make a difference.
I freely admit that we’ve already fallen foul of not heeding our own advice at Pi. We knew we needed an email solution for all the necessary accounts associated with a website and our first thought was to host our own. We narrowed things down to Postfix and went ahead and installed it on a different server from production for added security. All went well until it stopped working and we didn’t have resources sufficiently qualified to fix it. That was when we questioned why we hadn’t gone the SaaS route and came up blank. So, it was out with Postfix and in with what?
We tried Kolab Now for the data security benefits. You can’t get your servers located more safely than having them in Switzerland, but decided that for now the costs were prohibitive.
We also tried the Google Apps for business, but that just felt too much like going to the other extreme for data security.
Our search ended for now with Zoho which offers email and a set of apps much like the offering from Google. And the first 10 email accounts are free forever, so it’s a try before you buy introduction to the platform which we particularly liked.
The moral of this story is that if you’ve found some really good advice, don’t just hand it on to other people, use it for yourself too!