The first of our open source themed events has been announced!

August 12, 2008 – 4:20 pm

After several months of hard work we have finally announced the first event! Codeworks are promoting the event which will cover the ‘Software as a Service’ and Cloud Computing markets.

 

The event will take place on 25th September at a venue in Newcastle. There is more information on www.thinkandadrink.com (this will be updated in a few days). The target attendance is 100…but I want to hit 200 in on the night.

 

The event will take the form of a panel discussion, with each panel member having a few minutes to introduce themselves and why they are interested in SaaS or cloud Computing. We have three panel members confirmed (Steve Caughy from Arjuna, Tony Lucas from Flexiscale.net and yours truly). We are looking for a further three members on the panel. Do you know anybody who would like to join us? The criteria are that the person is local and they have some knowledge of the technology on a technical or business related way. It would be great to get a developer or perhaps a member of one of the local user groups to join the panel so that they can publicize their group etc. If you are interested please email me.

 

I hope that this is the first of many open source software ‘friendly’ themed events. The idea is that we host regular (quarterly) events about software with a slant upon open source technologies. The event will be attended by the people behind Software City. They have expressed an interest in promoting/hosting the future events. None of this will progress unless I can prove that the tech community in the North East is interested!!! I am relying upon everybody who expressed an interest to attend this event….it has taken months to organize and it is a direct output from the numerous meetings that we have had over the past few months.

Please, Please, Please attend! Bring your friends!

The Journal Newspaper have written the follwing two articles on this topic:

IaaS, the answer to an internet startup’s dreams but not a co-lo killer !

August 2, 2008 – 3:44 pm

Traditionally, if you wanted to setup an online business you needed money…and lots of it. With the advent of commercial Infrastructure as a Service (IaaS) providers the economics of the internet startup has changed….for the better.

In the past if you came up with the next ‘killer app’ you would be faced with a serious decision…do you try to build your business on a shoe string and risk the chance of being a victim of the Slash Dot effect  or do you try to navigate the slippery road of equity investment funding. Entrepreneurs have travelled both paths, neither are fun and both are fraught with danger.

The business economics of the Slash Dot Effect are not new and certainly not confined to the internet. UK telephone company Talk Talk had serious problems last year when it announced it’s free broadband service…the company simply could not handle the number of queries. On the internet there have been many casualties but the general result is ridicule and perhaps business failure. The fate of a fully funded internet business is not guaranteed either. The internet is littered of stories describing how the entrepreneurial flair and energy was sucked straight out of the company by an evil equity investor.

The basic problem is that in order for your business to be successful you need to give your application an adequate provision of bandwidth, processor power and storage capacity…and properly defining adequate is the problem. If you try to save money you can end up with insufficient capacity. If you project to buy too much you might find it hard to raise equity funds.

The advent of IaaS has resolved this little issue. Now, instead of needing to estimate and purchase your capacity (bandwidth, processor and storage) in advance you can buy it as you use it, in a ‘pay as you go’ system. In our case we buy servers of several providers (AWS and Flexiscale) on a per server per hour basis. We fluctuate between having 20 and 150 servers (instances) running at any time. This business model allows us to compete with some of our VC backed rivals in our market as our capacity is not limited by our cash reserves!

Buying your capacity in this way not only gives you a cash-flow advantage it also gives you unlimited scalability. Online video website Animoto went from roughly 50 servers to needing more than 3,500 in three days. Imagine having to predict growth and get servers racked, stacked and online in time to meet the growth! While a hardware order like this would be a dream for DELL, I doubt they have that kind of stock readily available or indeed the logistics to ship and set it up in that time. The New York Times covered this in more detail.

Using IaaS you can scale in a very cheap way without serious capital investment. This now allows entrepreneurs to setup and start trading with very little funding…hopefully getting them into profit earlier and retaining more of the equity of their business. Indeed, this is now causing problems for VC’s as they traditionally justified their huge equity stakes (or excessive protection clauses in their subscription agreements) because of the high commercial risks. These risks can now be significantly lowered which can allow entrepreneurs drive a harder line.

Once the startup  is trading and actually making money the economics can change significantly. While having unlimited scalability in a cash flow friendly manner is advantages in the early days it can often be cheaper in the longer term to transition the infrastructure in-house (or to a co-location facility). While this calculation is dependent upon how you application uses hardware (is it CPU intensive Vs RAM intensive) it is generally true.  So, start-ups need to look at buying their own infrastructure after a period and start transitioning their applications. The ultimate goal is to move the bulk of the application to your own infrastructure and still use IaaS for any additional or burst capacity.

In my day job I am involved in transitioning some of our capacity from our IaaS suppliers to our own hardware. So, at the moment I am planning to setup several racks of servers in several data centres and installing commodity servers in clusters. Then using fancy traffic routing I plan to point our traffic at these banks for processing and then using IaaS to give us burstable capacity. We have effectively used IaaS to bootstrap our business into existence…something that would have been impossible in the past.

So where previously the startup had the ‘shoe string’ or ‘VC’ route they now have an additional option…the ‘bootstrap and transition’ route. The interesting point is that rather than being a disrupter for the traditional co-location market, I have found that IaaS is actually building demand for co-lo providers as it lowers the cost for start-ups and will eventually increase the numbers of them…thus building the co-lo market!

Simple email analysis

July 27, 2008 – 4:45 pm

I was asked a simple question this week about the composition of email….basically, what percentage of email is spam? I have seen stats on this several times before…but I decided to look into this myself.

I decided to run some simple tests and produce some stats on a portion of the infrastructure that I use to run the emailcloud platform. During the filtration process the emailcloud platform will scan an email twice using two different server clusters. The first cluster is rather crude and will remove the vast majority of spam emails. I analysed this cluster first. The graph of the first cluster is here:

Firstly, the yellow line is the number of SMTP connections per 5 minute interval, which peaked at around 2500 connections per five minute interval at around midday. The black line is the number of emails that were allowed to pass through this mail cluster. The various lines in the middle describe which test was used to stop the particular emails. This shows that we filtered out 95% of all email using the first cluster!

The second cluster performs a very resource intensive scanning process which mathematically analyses the content and composition of the email. I was surprised at that and then went on to analyse the second cluster. The Graph is as follows:

In this cluster I only analysed the total email traffic and the “clean” email. You will notice that it peaks at 280 connections per five minute interval at around mid-day. I was really surprised that this cluster blocked 47% of the email that it processed. This basic analysis (on traffic that passed through these particular clusters on a Saturday) shows that around 97.5% of email is spam…..rather high don’t you think!

What are the business benefits of IaaS?

July 23, 2008 – 7:45 pm

I was asked to summarise the benefits of IaaS (Infrastructure as a Service) to the business community over traditional server deployments.

I can only answer this from my personal prospective…but as a small business owner I can tell you that the benefit in IaaS is:

  1. in allowing startups access to infrastructure or CPU cycles that they usually cant access…due to cash or speed to deploy. I am thinking our own service emailcloud.com and the Animoto story here.
  2. in helping enterprises to process some periodic batch jobs…large transactional or process driven jobs and not the day to day stuff. I am thinking of the NYTimes story here.
  3. in providing tools or basic consulting for either of the above. I am thinking of Rightscale etc here.

I think that the various AWS services and Flexiscale are ‘on the money’ because they allow very simple access to all three.

How to scale a web site…very basic example using AWS.

July 11, 2008 – 3:26 pm

I was asked by a friend how I would setup a website in a scalable way using Amazon Web Services (AWS).

The website will have a service where it will take file uploads from users, process them and make the result publically available on the website. It is expected that this website will be very busy and without proper planning it will have bandwidth issues and long processing delays.

In its most basic form, the site will have three components, namely:

  1. load balancer
  2. web server
  3. processing server

It will also use the following AWS services:

  1. S3: http://aws.amazon.com/s3
  2. SQS: http://aws.amazon.com/sqs
  3. EC2: http://aws.amazon.com/ec2

To perform the load balancing function you can use an EC2 instance with some load balance app installed on it. There are plenty of these publically available under the GPL such as Pound (http://www.apsis.ch/pound) or Crossroads (http://crossroads.e-tunity.com).

Behind this you can add the bank of web servers, perhaps two at the start. The web servers would manage the following these steps:

  1. allow the user to upload the file that needs to be processed
  2. save the file in S3 and create a log entry in the website database
  3. insert a message into SQS (listing the location of the video file)
  4. setup the processing servers to poll the SQS queue and take the next available job, process it, save the result in S3 and update the mysql database to say that the processing has been completed and the file is available for public viewing

The really low-tech way to scale either the web server bank or the processing bank is to get the individual servers to email you (using cron) when the load averages are high. The more tech savvy way to do it is to use either Scalr (http://code.google.com/p/scalr) or your own auto-deploy tool/app.

This is not supposed to be an exhaustive study or example of how the site would be setup…but I hope that this acts as a starting block.

The AWS ecosystem…barrier to innovation?

June 30, 2008 – 5:14 pm

Stacey Higginbotham from Gigacom wrote an interesing article about AWS. I found the article opened up an interesting discussion around the future of innovation at AWS.

Stacy says:

Werner Vogels, CTO at Amazon said that they built AWS for the company’s internal developers, and as such, didn’t feel the need to wrap services such as dashboards and testing offerings around it.

She goes on to say:

Companies such as RightScale, Hyperic and Soasta depend on both the success of AWS and its shortcomings — the solutions to which they propose to offer. So I sat down with the online retailer’s CTO, Werner Vogels, to see how Amazon viewed this ecosystem. My takeaway? I think most of the these firms are safe.

The ecosystem listed above is very big and leads to a large portion of the fees that Amazon raises for AWS. These solution providers help may large customers to use AWS in a very structured and safe way.

But, what happens if the thousands of small developers and start-up companies who use AWS want a service or feature that is already provided as a premium service by one of the companies listed above? Would Amazon release a service that might see one of the solution providers loose market share? Does Amazon need their custom more than that of the thousands of small developers?

My gut feeling is that AWS would develop services for their clients…and that this development roadmap is dependent upon who shouts loudest. Lets see how things work out over the next 12 moths.

More at:
http://gigaom.com/2008/06/27/hey-startups-amazon-gets-it

Speed of thought…Cloud Computing helps lower the time to market.

June 22, 2008 – 6:35 pm

My day job is managing the worldwide network of spam filtering servers used to provide the EmailCloud service. I have been managing email servers for almost ten years and have quite a bit of experience in the area. Recently I have been using several cloud computing providers to host parts of the network. This has helped me to add scalability, fail over and add geographical load balancing. These are great things, but, one of the most exciting aspects of this new technology is the speed that it allows me to design, prototype, test and deploy new technology.

In the past the process was quite a bit more time consuming. The steps were something like  this:

  1. Find some hardware.  I am lucky enough to have quite a bit of test hardware  in the office…we have  a suite of around five servers that are used for testing. The problem is that they are regularly dismantled and the parts used in lots of ways. Finding hardware is easy…but it takes time to build it.
  2. Install an OS. For the testing to be perfect it is a good idea to use the same OS the deployment environment.
  3. Replicate the existing production environment. This step can take ages…installing all the correct OS modules, perl modules and application software.
  4. Write your code and test it. 
  5. Deploy….
  6. tidy up and put the server back on the shelf.

The whole process can take days of work…but due to the demands of small business it can take weeks to get it done….breaking the line of thought.

Using the AWS and S3 service I have been able to lower time from conception to deployment from months to perhaps hours. Now, firing up an instance and testing some crazy idea only takes minutes and costs peanuts. Once tested it can be built into a custom image and then fired up in bulk for deployment….moving the IP addresses from an old bank of now obsolete servers is the last step to move traffic across before shutting down the old servers.

Anybody for lunch???

June 17, 2008 – 9:09 pm

I have been talking to several people (Alex Kavanagh, Codeworks Connect, members of the AWS user group and the Newcastle Open Source Network) over the past few weeks about trying to build some awareness of Linux, open source software and my favorite topic, cloud computing.

We have been playing with a few ideas, namely:

  1. A version of GoOpen for the North East
  2. A FOSSCamp event on the theme of the very popular BarCamp concept
  3. A ‘hackathon’ or ‘mashup’ type event

Some of us are meeting up for a sandwich at 13:00 on Thursday 26th June at Panis cafe in Newcastle-upon-Tyne.

I hope that we can get a few interested people together to throw around a few ideas. The whole concept is in a very early stage so we would like to invite ANY interesed parties to attend.

If you cant attend please feel free to add your comments to this blog entry and I will raise your comments at the meeting.

zoomii.com, a cool user interface to Amazon.com

June 17, 2008 – 8:26 pm

I found out about zoomi books on the AWS Blog.

I really like the new user interface…check it out for yourself. Zoom in and out, pan around, and try clicking on the arrows in the headers of each book shelf. Check out the attention to detail as the site even displays book images in a manner that shows their size in relation to the books next to them!

When I saw this site it reminded me of the interface of the iPhone. While Zoomii is not as slick as an iPhone interface it is rather similar in the intuitive way it works.

The writer of the site is a guy called Chris Thiessen. In an interview with Mike from AWS he said:

“I’m pretty sure I wouldn’t even have tried to build Zoomii without Amazon EC2 and Amazon S3; it would have looked too expensive, too daunting. And, of course, Zoomii couldn’t exist without access to a dataset like that. It looks like Amazon is growing a good business with its web services, but it’s providing far more value than it captures–you changed the equation for a lot startups and other projects.”

The site is well worth the visit.

The various level of cloud computing offerings

June 7, 2008 – 6:50 pm

The guys at Rightscale came up with these really easy ways to define the various level of cloud computing offerings; I have slightly rephrased their explanations:

  • Applications in the cloud: In my opinion this is not ‘cloud computing’…it is simply SaaS, Software as a Service, looking to join the ‘cloud’ craze. In this area we will find sites like gmail, yahoo mail, Hotmail, the various search engines, wikipedia, encyclopedia britannica, etc. Basically put, these are services / websites that people can use (either commercially or free) without any concern about where, how, by whom the compute cycles and storage bits are provided.
  • Platforms in the cloud: Mosso, Google App Engine, and Force.com have all released services in this area. Developers write their application to a more or less open specification and then upload their code into the cloud where the app is run magically somewhere, typically being able to scale up automagically as usage for the app grows.
  • Infrastructure in the cloud: This is where AWS sits. Developers and system administrators obtain general compute, storage, queueing, and other resources and run their applications with the fewest limitations. This is the most powerful type of cloud in that virtually any application and any configuration that is fit for the internet can be mapped to this type of service.

Looking at these different types of clouds it’s pretty clear that they are geared toward different purposes and that they all have a reason for being.

More here:
http://blog.rightscale.com/2008/05/26/define-cloud-computing/