Amazon’s Cloud Computing

Cloud computing (which is many things to many different people) has really begun to take shape in 2010. Initially amongst all the hype and misunderstanding the primary selling point of cloud  computing was around providing unlimited computing scale without any capital investment.

I think over the last few months we have seen the selling point become more about providing computing power as a utility with a pay-for-use cost similar to electricity for example. It is a subtle difference but important none the less. You can still have the near unlimited scale but I think cloud computing vendors have begun to realise that the vast majority of potential customers won’t turn into the next Facebook, Twitter or whatever.

Now the focus is about the ability to deploy computing power on a per needs basis, and it is a powerful argument once you start to dig into how it works. Over the last few months I have been playing around with Amazon Web Services (AWS) which is really a phenomenal infrastructure. I initially looked at it about 2 or 3 years ago when it was all driven by tricky command-line tools and it was just a bit more hassle than it was worth unless you were a super computing geek!

With Amazon Web Services you can create a new server instance in under 30 seconds with a starting cost of $0.12 per hour for EU based windows servers (actually hosted in Dublin, Ireland). There are a number of pricing structures available but the main point is with AWS you are given the ability to create your own servers in 4 global datacentres. So if you have a need for it you can deploy a server to run in the East or West coast of the US, Europe (Dublin) or Singapore with more options likely to become available in time.

You can manage all of this yourself via an easy to use web interface. You essentially have your own global datacentres with zero upfront cost. I couldn’t even begin to figure out how much that would cost by paying for physical servers, finding datacentres to host them in or dealing with different vendors in different countries who provide traditional server hosting. It is utility based computing in its purest with all the flexibility it provides.

You may  for example use AWS for hosting a web application on a single server instance. Lets say you now want to do some testing or development on it. Well, all you need to do is launch a new server instance based on a copy of your live instance. That will take about 30 seconds and then you are all set. If you spend 8 hours working on it that will cost you about €1. Terminate that test instance at the end of day and that’s the only cost you will incur.

AWS has many other services beyond just providing server instances that I haven’t even mentioned but I highly recommend you investigate them. Even just recently we have seen some other vendors like Dediserv and Digiweb start to offer their own cloud computing infrastructure. They have a long way to go to catch up with AWS which has at least 5 years of technical growth and competence behind it (November 2005 was the earliest blog post I could find on Amazons AWS official blog).

Cloud computing is still maturing, there is no doubt about that. Interoperability amongst various vendors and legal issues still need to be worked on or at least need to be known. However, there will be a time where we have to make a valid business case for buying a physical on-premise server versus a cloud server. Afterall you would have a hard time today to convince someone to buy a generator rather than plugging into the nearest socket in the wall?

Microsoft SQL Azure evolving nicely

Over the last few weeks I have been testing out Microsoft’s “cloud” based database service called SQL Azure and I have to say it is quite impressive so far.

Although lacking in full MS SQL server features (no reporting services available yet) it has proven to be reliable, fast and a very short learning curve for those already familiar with SQL Server. All good so far then.

There are some immediate blockers you may come across if you are going to build web-based apps and host them in Microsoft’s cloud…

1) You need Windows 7 at least, you cannot build or deploy apps using XP as it has a reliance on IIS7.

2) You need SQL 2008 R2 Management Studio to connect to your instance of SQL Azure.

As you probably know SQL Azure databases are currently limited to either 1GB or 10GB sizes but this will be increasing to 50GB as Microsoft enhance the Azure platform over the coming months. You can keep an eye on the SQL Azure Team Blog and Twitter pages to keep up with SQL Azure as it evolves….the links are…



There are a number of self learning labs and training courses on the SQL Azure Team blog and there is also a free web-based training course run by Microsoft UK starting Monday 10th May (webcasts will be recorded incase you miss the start). Details here … 

Microsoft have certainly got off to a good start with SQL Azure. It is very easy to set up an azure account, create a database, copy over any data to it (you can use BCP, SSIS) and then just connect to the database in the same way you would to your current on-premise SQL Server.

 There are lots of things to consider about using SQL Azure in production as it is not suitable for everyone or every application. But having made it a small jump to get started with SQL Azure it makes it easy for you to figure that out for yourself.

Here is another good blog post from another persons experience of SQL Azure…

Skype for Businesses: Pros & Cons

Many businesses are looking to reduce costs these days. One commonly discussed way of doing this is by reducing your phone costs by using Skype (a partially free VOIP solution). Skype has positioned itself as a free service and it is indeed free to use when one Skype user calls another Skype user. In general the quality of these Skype calls is good.

However, there are other things to consider when you are thinking about using Skype in a business. For a start it is not free to call non-Skype numbers and there are other additional costs such as charges for voicemail and for having a fixed number that other people can call you on.

I have put together some pro’s and con’s for using Skype in a business.


  • Skype to skype calls are free (but there may be broadband or internet charges e.g. in hotels)
  • Cheaper (but not free) Skype to fixed line and mobile charges in comparison to traditional carriers.
  • Potential to connect an IP PBX to a Skype PBX gateway and onto the internet. This way existing internal company phones have the option of using skype for dialling out. e.g. dial 8 to use skype
  • Potential to use Skype over a mobile phone but requires a very good 3G network which is not widespread


  • File transfer & messaging via Skype cannot be audited or controlled by your IT department. There is a major risk of Intellectual Property loss because Skypes traffic is not auditable. This problem should be taken very seriously and many businesses do not allow its employees to use Skype as a result.
  • Skype is a “Peer-to-Peer” technology which means a company machine can be used as a node to relay skype traffic from unknown external users. This can severely impact the performance of your company network.
  • It is likely that a full roll out of Skype to your company employees will require additional network bandwidth at your office.
  • Quality of call\video is dependent on bandwidth in hotels, airports, customer premises all of which are not guaranteed.
  • Video calls require a lot of bandwidth.
  • 3+ way video calls do not work well (in my experience).
  • Employees will require headsets e.g. €10-20 per bluetooth headset.
  • Employees will require webcams to carry out video calls.
  • There are additional costs, for example
    • €50 per employee, per year to have a skype number that other non-skype people can call you on
    • €15 per employee, per year to have voicemail
  • Business Subscription model available at €8.95 per employee, per month to cover most of skype services
  • Under the Business Subscription model a “Fair Usage Policy” exists that limits each user to total of 6 hours calls per day and no more that 50 distinct numbers per day. If these limits are reached then additional rates and connection fees apply e.g. 3c connection fee plus 16c per minute to call an Irish Mobile, 20c per minute to call UK mobile

There may be more aspects that I have not touched on but there should be enough there as a starting point. Please leave a comment if you think there are other points that should go on the lists.

Spreadsheets – Dr. Jekyll & Mr. Hyde

Jekyll & Hyde

Over the years I have come across companies who end up with a huge reliance on spreadsheets to manage critical functions of their business. Unfortunately spreadsheets were never intended as a replacement for properly designed database systems yet it doesn’t stop people trying. It is common to see spreadsheets being used in the budgeting & forecasting process as well as time recording, invoicing, resource & capacity management and so on.

It is understandable that this happens, it is very easy to start a new spreadsheet and in no time at all someone has what looks like a good system. It is a quick fix but people love it because it solves an immediate need. Very quickly a department or team come to rely on the spreadsheet and overtime more people add new functionality to it because it is so easy to do.

Then it starts to get ugly. Within no time at all there are multiple “versions” of the spreadsheet but no control, no security, no support, no documentation and no change control. Worse still there are often individual spreadsheets per week, per client, per team and suddenly all the information the business needs is spun across hundreds of spreadsheets. It only when someone starts to look for a report that trends the information over time or filter it for a particular project that people realise that they just can’t do it. 

Inevitably the whole “system” has grown into a monster, too large for anyone to understand it or maintain it. Comprehensive reporting (or Business Intelligence), if even possible, is very difficult to do due to the multiple versions, different structures and inconsistencies between spreadsheets.

Another major issue with using spreadsheets this way is the significant reliability problem. Research studies (Stephen G. Powell, Kenneth R. Baker, Barry Lawson (2007-12-01)) estimate that 94% of spreadsheets deployed in the field contain errors. I have seen spreadsheet “systems” that were used to determine weekly payroll commissions and bonuses which were far from accurate. Sometimes an employees bonus had another nice unexpected bonus on top of it. But it was impossible to diagnose the system issue when it involves hundreds of spreadsheets all with their own formulae and equations. Worse still, the employee who was the spreadsheet wizard and had originally built all the spreadsheets had since left the company.

It is important that we understand when to use spreadsheets but more importantly when to stop using them before you hit the problems outlined above. Spreadsheets are great for end-user data analysis and to an extent for prototyping new systems. But just keep an eye out for the tell tale signs that you are beginning to see the start of the spreadsheet monster. It is possible to replace spreadsheets with a proper database system and it is something I would strongly recommend.


There is a handy way of taking an 2.0 application offline immediately. It is not that well known but all you have to do is place a app_offline.htm file in the root directory of your web application. Thanks to Scott Guthrie blog for the info…

Placing the app_offline.htm into the root directory will shut-down the application, unload the application domain from the server, and stop processing any new incoming requests for that application.  ASP.NET will also then respond to all requests for dynamic pages in the application by sending back the content of the app_offline.htm file (for example: you might want to have a “site under construction” or “down for maintenance” message).

This provides a convenient way to take down your application while you are making big changes or copying in lots of new page functionality (and you want to avoid the annoying problem of people hitting and activating your site in the middle of a content update).  It can also be a useful way to immediately unlock and unload a SQL Express or Access database whose .mdf or .mdb data files are residing in the /app_data directory.

Once you remove the app_offline.htm file, the next request into the application will cause ASP.NET to load the application and app-domain again, and life will continue along as normal.

It is also useful to know that the app_offline.htm file is also used when you publish a web app to an IIS webserver. Visual Studio takes care of placing an app_offline.htm file into the root directory and removes it after the publishing has completed.  By default the following text is displayed from the htm file..

“This application is currently offline. To enable the application, remove the app_offline.htm file from the application root directory”.

Visual Studio uses an app_offline.htm file that is stored in [User Document/Settings  Path]\Application_Data\Microsoft\VisualStudio\8.0\ so if you want to customise the message that is displayed during a Visual Studio project build & deploy then just customise the file in any way you want.

The importance of data backups

“Our business has been devastated because we haven’t been able to operate for 2 days. Our hosting company had some sort of server problem and our company website is down. To all our clients it looks like we have gone out of business. Worse still we recently placed some new ads with a big emphasis on directing people to our website for more information.”

The above comment is a real quote from a business owner who’s business clearly relied on IT to function. What was even more worrying was a further comment from the business owner in response to being prompted to review their approach to data backups…

“I’m not sure what you mean by ‘reviewing data backups’.”

Any company using IT should ensure they have plans in place and precautions taken so they can recover from events such as server failures, lost\stolen laptops or data, fire, flooding and any other of the many unfortunate things that can happen.

And don’t assume this won’t happen to you. Bank of Ireland, Bord Gais and the HSE are just some of the high-profile cases where data was lost via stolen laptops. I also know of a Dublin based IT company who’s premises fully burnt down as a result of a fire in an adjoining building that was caused by a phone charger shorting out. These things happen all the time! Luckily the IT company mentioned had good disaster recovery plans in place and were not overly effected, their business recovered quickly and continues to function.

Even the big companies are not immune to IT failures but it a huge embarrassment when their disaster recovery plans fail. Danger, a subsidiary of Microsoft, lost a lot of customer data recently…and couldn’t get it back. It is amazing that they did not have effective data backups. They had to post the following apology which is scant consolation for business and personal users affected.

Regrettably, we must inform you that personal information stored on your device — such as contacts, calendar entries, to-do lists or photos — almost certainly has been lost as a result of a server failure at Microsoft/Danger. Our teams continue to work around-the-clock in hopes of discovering some way to recover this information. However, the likelihood of a successful outcome is extremely low.

Another high-profile case happened just last month. A US cloud storage supplier,SwissDisk, suffered a catastrophic hardware failure resulting in users being unable to access their data. They too had no effective data backups and had to post another embarrassing and damaging statement…

Attention SwissDisk users: We regret to inform you that due to an unplanned and unforeseen catastrophic hardware failure caused by multiple simultaneous events the engineering staff was unable to restore the SwissDisk file server to it’s previous status. We are very sorry for the interruption in service.

dilbert on disaster recoveryBusiness owners are always told to engage the services of accountants and legal experts. But those relying on IT must consider the impact of a disaster event on their business and I suggest you talk to someone who can give you the advice needed with particular emphasis on disaster recovery and data backups. It is a lot easier to recover when you have the right plans in place. The New York Times posted a good brief overview of disaster recovery last month for those looking for a starting point…the article is here.

The Balloonboy story on Twitter

Twitter was taken over by the “ballonboy” story this evening, so much so that twitter crashed a number of times. The story was about a young boy who apparently climbed into a large homemade balloon which subsequently broke free from its tether. The balloon had been seen drifting thousands of feet in the air, travelling at up to 25mph.

It eventually landed but it was discovered the boy was not inside. As of this point in time the story is still developing and the boy is still missing.

The power of social media and twitter in particular is again something to admire. Literally thousands of “tweets” per second were pouring into twitter. Many were from people just following the story but some people posted up very useful links. For example, one person posted a link to a live audio feed of the Colorado State Patrol where you can listen to live updates of the search for the missing boy between the various police units.

Some sample tweets….

Balloonboy story on twitter

Balloonboy story on twitter

This is what “Web 2.0” is all about and it will be interesting to see how this progresses over the coming months and years both from a personal and business point of view. Do not get left behind!

Get every new post delivered to your Inbox.