Thursday, June 18, 2009

The Cloud

The Cloud seems to be the new catch phrase circling the web at the moment.. and while there have been and are other terms such as Web 2.0 and Social Media/Networking the cloud is something a little different than just a term to describe a style or type of site.

To understand what The Cloud is, and why it is changing the internet around us, we need to look back at the way websites were developed, or more specifically, how they were hosted prior to The Cloud. Before The Cloud building and launching your web site was only half the battle. If you were lucky and your web site was successful you then needed to continually make sure you had enough servers and capacity to deal with the increase that comes with success and growth.

Before The Cloud there were lots of options for managing servers for web sites such as buying and manage them yourself, leasing them and paying others to manage or any other combination of these models. At the end of the day, regardless of the approach the one thing that was always the same was the need to have physical machines which took time to acquire, setup, deploy and mange, and lets not talk about what happens when physical machines fail.

So how does The Cloud change this? It makes the servers used in hosting and maintaing web sites a commodity, a commodity that can be turned on and off as needed almost instantly with only incremental cost increases. The Cloud really describers large numbers of servers that are grouped together in such a way so as their resources (processing, memory and storage) can be divided up and sold, meaning customers only pay for what they use and can increase their usage of resources almost instantly. Therefore as demand grows you can grow your infrastructure right along side, without all the old issues.

The leading internet retailer Amazon is also the current leading provider of cloud based computing (yes that is right, you can buy shoes and 300 gigabytes of web storage from the same place). Amazon provides a range of cloud services include storage, machine resources (cpu, memory) and content delivery.

So what does all this have to do with the new campaignlogic ? Well we have been using Amazon and their cloud services for things like image hosting and content delivery within the current campaignlogic system for almost 18 months. The new campaignlogic is being built to be placed completely in The Cloud from the first day it goes live. So what does that mean for our users? Well there are going to be a lot of benefits, here are a few of the big ones:

  • Speed. Not only can we push a lot of hardware at the new campaignlogic, we can push more hardware at it very quickly as usage grows, even to the point of creating new mail servers on demand to manage the sending of big campaigns for users.
  • Increased functionality. By having almost unlimited servers and resources at our disposal we can develop functionality to perform tasks that would otherwise be prohibitive.
  • Reliability. While no one likes to talk about outages and when things go wrong, it is part of managing web sites. By utilizing The Cloud, we can minimise the chance of an outage, and the time required to recover should one occur.

The Cloud has also changed the way we have approached the development of the new campaignlogic when it comes to things like integration and the use of third party technologies, which I will write more about in a future update.

Monday, June 1, 2009

Speed...

One of the key focuses for the new campaignlogic is speed. Make pages load quicker, get things to process faster and reduce required steps. Why? So you can get done what you need to faster.

We have identified two key areas that we think can make big strides:
  • Importing lists
  • Adding groups to campaigns
If you are used to sending campaigns to less than 1,000 people, then you probably won't notice what all the fuss is about. But if you are working with larger lists, you have probably noticed that these steps can take a while.

One of the reasons we have been able to make such inroads in these areas is the improved integration of XML with database storage engines. I will save you the boring technical details of how we are using XML and databases, however we have completed building the importing of lists and adding groups to campaigns in the new campaignlogic, so I can share some of the preliminary speed benchmarks.

In the current campaignlogic, importing a list of approximately 40,000 contacts can take up to 5 minutes depending on the duplicate actions you select and the number of contacts that already exist. In the new campaignlogic, this has been benchmarked at taking less than 1 minute.

When it comes to adding contacts to a campaign, something you do for every campaign, we have made even greater improvements. Adding 40,000 contacts to a campaign currently can take a few minutes to process. In the new campaignlogic, you can add 500,000 contacts to a campaign in 15 seconds! 40,000 contacts can be added in under 2 seconds.

These times are still preliminary, and we expect to achieve even a bit more speed once we move to a live production environment.

Of course not everything is about speed. One thing we are not speeding through is the development of the new campaignlogic: every part of the process is being considered, discussed, built, tested and in some cases rebuilt after testing.

While the purpose of this blog is all about the new campaignlogic we have not forgotten the current campaignlogic.. we are still making updates and enhancements to the current campaignlogic based on user requests and feedback.