Network pain affects every IT manager.
- Network hardware like load balancers are expensive.
- Network design is complex, especially sprawling enterprise networks and multi-tenant ISP networks.
- Expertise is required to keep them running.
Any company that can ease this pain is onto a good thing. Virtualizing network technology is a hot cloud topic that companies like Embrane, Nicira and Big Switch Networks are in the middle of. The next piece of virtual networking technology for me to deal with is a load balancer. Here, I talk about load balancing in general, and later I will use the AWS console to add a virtual load balancer to my new pair of Drupal instances.
AWS Create a New Load Balancer console (click to enlarge).
The first piece of networking I set up in the Amazon cloud was the firewall when I created my first EC2 machine. AWS automatically took care of the networking that plumbed the EC2 machine into the network. The second piece I have to deal with is load balancing my pair of EC2 machines. This article describes simple ELB (Elastic Load Balancing) configuration.
Scaling out from one VM to many machines that can work in parallel is not the same as the parallel processing of HPC (High Performance Computing).
Old load balancing and new ELB (Elastic Load Balancing)
The requirement to increase the reliability and capacity of an Internet customer service by spreading traffic between many servers has been around for decades. Many solutions have come and gone: costly custom-made hardware, computers running hacked copies of FreeBSD and sold as appliances, and applications that run on a desktop computer. Every vendor had their own ideas of how to make one: I have had to study several arcane languages of hardware and software load balancers over the years, and each one came with a serious learning curve.
Setting up AWS load balancing means typing a few values into a pretty web UI. I run through the whole procedure - what you type and where you type it - in the next article.
ELB and other cloud load balancers benefit the common man by putting load balancer technology in his grasp. It isn't democratic because the power stays with Amazon Web Services, but it is a vast improvement on commercial offerings so far.
You don't have to use ELB on AWS. For example, the Brit Awards 2012 site is a large Drupal site hosted on the Acquia Managed Cloud, and Acquia use AWS. Acquia Managed Cloud roll their own load balancers from the open source applications Varnish and Nginx. The Brit Awards is like the Grammys with a few more English people, and like many entertainment sites, this one suffers from severe peaks and troughs.
High visibility sites like the Brit Awards experience regular traffic spikes because it rides waves of publicity. Sites like this need to load balance servers so that excited readers can read the gossip instead of a web browser time-out message.
Now that I've explained the benefits of load balancing, I will show you how to load balance two EC2 machines using the AWS console in my next post.
Nick Hardiman builds and maintains the infrastructure required to run Internet services. Nick deals with the lower layers of the Internet - the machines, networks, operating systems, and applications. Nick's job stops there, and he hands over to the designers and developers who build the top layer that customers use.