Yesterday I took part in the Codeworks Connect Digital Bootamp. The event was attended by around 80 software, web and games developers.
After an excellent introdution from Meri Williams the attendees split into three groups for workshops. Oli Wood from the Bgroup ran the web developers workshop, Chris Hadley from Ubisoft ran the games developers workshop and I ran the software developers workshop.
My presentation covered the basics of project management, why Christopher Columbus was a crap project manager, the Waterfall system, the Agile Manifesto and finally an introduction to Extreme Programming (XP).
Since the release of our email spam and virus protection service (emailcloud) in September 2007 we have signed up over 1200 SME’s on the system. Our first 1,000 customers took 23 months to register, but since then sales have been very brisk, for example in October we signed up 138 new clients, that is 6.27 new customers per business day !! These are excellent sales figures, especially when you consider the fact that we do not have a direct sales team or any marketing budget.
So, how do we do it? We don’t sell services direct…ever! We only sell our services through a network or resellers, partners and distributors in the UK, Ireland and the USA. This allows us to focus on providing a rock sold infrastructure while our partners manage our sales channel for us.
Our typical reseller is a small IT company or web hosting provider. They use a reseller control panel that allows them to add customers along with their domains and users to the system. Once added to the reseller panel these settings are pushed across our distributed network within five minutes. We get around 80% of our business from this network of hard working resellers. If you run an IT company and you think your customers would be interested in spam and virus protection servers please get in contact…we can get an account setup very quickly for you!
www.antispam.ie
In addition to resellers we also work with white label partners such as www.antispam.ie, www.cadamedia.ie, secure.identityautomationmailscan.com and www.messageshield.co.uk . We have setup co-branded systems for these companies because they already sold email services under these brands and it was simple to release the service with a brand that these customers recognize and trust…allowing us to get a much larger customer penetrating than would normally be achieved. Do you already provide a spam and virus protection service to your clients? If so please get in contact as we may be able to help you to add more services to your clients, dive up margin and lower costs!
Allowing our partners to focus on sales allows us to keep our costs down and to stay very technically focused. This allows out dev team to attend trade shows, conferences and working groups to learn about new technologies…and in some cases we run the events!
Downtime is unacceptable in any market, and especially not in a commoditized market where customers demand a solid user experience.
Early adopters and Beta testers deal with buggy code, bad documentation and downtime. Such annoyances are ignored because the advantages of testing a new gadget or being the first in your peer group to try out new technology. But, the same cannot be said for users of business critical commoditized services…such as email.
When we decided to release a new business critical service in 2007 we chose to use Cloud Computing providers to help with our infrastructure. This was a risky decision because we were using untested, BETA services to provide a service to customers who would not accept downtime. The only way that we could provide a reliable service that we could rely upon (and charge business customers for using) was to develop a multi-homed system built over several servers located in several datacenters owned by several different providers.
I read stories almost daily about Gmail outages, AWS glitches and even Rackspace downtime. You would be forgiven for believing that these are new issues for the IT community…but they are not! We have been dealing with downtime and service outages since the dawn of the Internet. If you want to provide a reliable service to your users then you need to identify single failure points (SPOF) in your infrastructure and take appropriate action to ensure that they have ZERO or marginal effect on service delivery.
In our case we had two SPOF, capacity and scan server downtime. We dealt with the capacity issue by working with AWS and Flexiscale to allow us to ‘scale up’ as necessary and we hedged our bets against downtime by locating our infrastructure in multiple data centers. A simple network map is as follows:
or during downtime:
Cloud Computing has been the buzz word of 2007 & 2008. As a technology it has matured significantly and there are many varied suppliers in the market. While all of the various suppliers tell us that their network is the best, or their technology is rock solid, it would be a rather foolish person not to hedge their bets and look for multiple suppliers. The old adage still stands, proper planning prevents piss poor performance.
Update (4th November 2009):
Thanks to Ling Valentine from LingsCars.com for writing a blog post and linking here. Ling’s point is rather important, any downtime on your web service is both avoidable and unacceptable. Using multiple infrastructure suppliers is both possible, affordable and prudent in proper infrastructure management. Lings post and link her has helped this blog post become the number result for the ‘downtime is unacceptable’ search term!
SuperChristmas is the Christmas party that brings our organisations together to round off an excellent year and to set the scene for 2010. The party will start at 7:00pm on Thursday 17th December 2009 atHoults Yard.
The ticket price includes a light dinner, ceilidh dancing, and as much free beer/wine/soft drinks as the budget will allow…all served in a farm house theme decked out with bales of hay!
Everybody is welcome, so please do invite your friends … there will be no presentations on the night so leave your laptops, notebooks and netbooks at home!
Dave Neilsen (http://www.flickr.com/photos/cloudcamp/2966839755/)
Last night I helped organise the first CloudCamp to be held in Dublin, and the 43rd to be held around the world. The event was hosted by Paul Lynch from Hosting365 at their excellent facility at Park West in Dublin.
The event had over 70 attendees from a wide variety of backgrounds including startups, large business and education.
We were very grateful to Dave Neilsen who travelled over from the US to help run the event.
I recorded the various lightning talks and uploaded the video here:
During the first week of September I was asked to act as the ‘blogger in residence’ at Sunderland Software City. This involved a commitment to write a blog post every day for a week on the ‘trials and tribulations’ of running a small business in the software sector.
Sunderland Software City is a new initiative, based in the North East of England, designed to inspire and encourage the growth of the Software Industry in the region, and to make the area an attractive location of choice for software businesses.
My posts are here:
Today is catchup Monday
A insight into how messed up the world becomes when you return from holiday!
I really enjoyed the opportunity to rant, vent and generally spout shite. I hope that people enjoyed looking at my world through my rose tinted glasses
As part of some ongoing research into the behaviour of spammers we have started capturing the geographic location of spammers in a way that we can visualise it on a map. This map shows the source of spam attacks on our emailcloud network.
Your browser does not support iframes.
The map is drawn every hour by analysing the most recent 250,000 data points across our UK and US scan clusters. This data is analysed and stored in a database in Newcastle-upon-Tyne and IP’s are pinpointed on the map by using the GeoIP database. We save significant amounts of time by using memcached to cache IP lookups. Finally, we use the Google Charts API to draw the map
You can add this map to your website by inserting this into the html of the web page:
<iframe src ="http://www.emailcloud.com/geo/geo.php" width="600" height="430">
<p>Your browser does not support iframes.</p>
</iframe>
#!/bin/sh
# Script name : mysql_dump.sh
# Backup the dbname database
# Script created by Ross Cooney from Rozmic (www.emailcloud.com)
$USER='your-mysql-username'
$PASS='your-mysql-password'
date=`date +%F-%H.%M.%S`
DBS=`mysql -u $USER -p$PASS -Bse 'show databases'`
for db in $DBS
do
mysqldump -u $USER -p$PASS --databases $db > /root/database_dumps/$db-$date.sql
done
cd /root/database_dumps
tar -czf mysqldump-$date.tar.gz *.sql
rm -fr *.sql
# delete all database entries that are more than 3 hours old
find /root/database_dumps/ -amin +180 -exec /bin/rm -f {} \;
setup the following cron job: 0 1,3,5,7,9,11,13,15,17,19,21,23 * * * /root/scripts/mysql_dump.sh > /dev/null
These four steps will setup a process that dumps the mysql database to disk every two hours and then hold a copy of that database dump for three hours.
On the remote server:
We want to run a script every two hours to copy the changes of any files on the disk. To do this you need to follow these steps:
create a directory where we will be placing the backup files /root/backup
Create a directory that we will use for this particular block of data, we use the IP address of the server but you can use anything that you want. /root/backup/10.0.0.6
create a directory where we will place our scrips /root/scripts
Ensure that the SSH key for the remote server is listed in the local server’s ‘authorized_keys’ file so that ssh connections can be made without needing a password.
Save this file to your scripts directory:
#!/bin/bash
# this script is called: 10.0.0.6.backup.sh
# Script created by Ross Cooney from Rozmic (www.emailcloud.com)
for i in `seq 400 -1 1`; do
let NEXT=$i+1
mv $DIR/daily.$i $DIR/daily.$NEXT > /dev/null 2>&1
done
cp -al $DIR/daily.0 $DIR/daily.1
for RDIR in $BACKUP_DIRS; do
rsync $RSYNC_ARGS ${SERVER}:$RDIR $DIR/$HOST/daily.0/
done
Setup the following cron job: 0 0,2,4,6,8,10,12,14,16,18,20,22 * * * /root/scripts/backup.10.0.0.6.sh > /dev/null
These scripts work for us, I hope that they are of value to you, please dont take my word for their effectiveness, you should test them fully before you use them. I used the following resources when I was writing these scripts:
We held our first CloudSeminar event on 29th September at Newcastle University. The event was attended by over 150 people.
Make no mistake, ‘the cloud’ is going to be disruptive to IT. It offers significant threats to market incumbents but huge opportunities to new entrants and established companies that respond quickly. CloudSeminar was run so that we can understand some of the compelling reasons for using cloud computing.
We had several presentations from people with background in the academic sector, large business, micro business and two IT vendors. The presentations can be viewed on-line by clicking on the images below:
I want to extend a special thank you to Codeworks Connect for their excellent event management skills and Newcastle University for allowing us to use their excellent lecture theatre!