So, it came to pass that GitHub and Heroku never managed to make it passed the ash cloud. However, we had a great (if smaller) TechMeetup anyway. Once the beer and pizza had been consumed (I think we ended up with almost a pizza each!), we headed through to the lecture hall for two great talks, one from James Littlejohn on Amazon Web Services (AWS), and one from Dr Bruce Scharlau on Failure Demand.
James Littlejohn, of mepath.com, has been using AWS for a while now and started his talk by explaining his reasons for using AWS as opposed to a hosted service or site-based servers of his own. Essentially it comes down to the fact that he doesn’t have to setup and maintain his servers (or pay someone else to do it for him). He just selects the amount of memory/bandwidth he needs, the operating system he wants and the software stack (i.e. web server, server-side language etc.) that he wants to run on it, and Amazon do all the rest. Couple this with the fact that you only pay for what you use and it makes a lot of sense for many businesses to use this approach. James then went on to show he interacts with AWS either via SSH (using tools such as PuTTY, WinSCP or the Firefox ElasticFox plugin), or directly via Amazon’s AWS website. He went on to explain how to scale your site(s) by using the likes of elastic IPs to load share across a number of server instances. James wrapped up his talk with a review of the costing structure and some advice on how to proceed. He advised that you should read the documentation (as daunting as it is, especially if you’re not familiar with the terminology), familiarise yourself with the tools and monitor your monthly costs.
The next talk was given by Dr Bruce Scharlau, a lecturer at Aberdeen University and one of the TechMeetup Aberdeen founders. Bruce talked to us about Failure Demand. Failure Demand refers to the demands that consumers of your product or service make in response to failures in that product or service. In order to reduce overall waste in your process, one of the first ways is to reduce the effects of failure. Bruce gave examples of ways in which you could reduce the amount of failure in the first place by introducing good design and build practices, and by having regular contact with the client to ensure that you are on the right track. He spoke about TDD, automated tests and code reviews as being good ways to reduce the amount of bugs in software. He also spoke about how the more time that is spent working on fixing failures, the less time is spent on adding value.