- Silicon Valley's 19 Coolest Places to Work
- Is Windows 8 Development Worth the Trouble?
- 8 Books Every IT Leader Should Read This Year
- 10 Hot Hadoop Startups to Watch
Network World - One of the tricky parts about building and launching a Web Application is hosting. It is one thing to test out your creation with 200 or 300 users, but if you turn it loose and suddenly find yourself with a runaway hit and are adding 1,000 or even 100,000 users per hour what are you going to do?
There are two parts to your solution – how your application is built (apparently this is at the heart of Twitter’s current problems) and how much horsepower is behind it.
While I don’t have a general solution for your architecture problems (although I am available, on consulting, to help you find specific solutions) I do have an answer for your horsepower problems: Cloud computing (also called grid and utility computing).
There are now a number of hosting providers that offer cloud-type delivery platforms that can be expanded and contracted on demand rather than the traditional method of adding horsepower which required you to make a support request and then wait until a technician could get around to provisioning or de-provisioning your services.
A new entrant in this market is GoGrid, currently in its Public Beta phase. I’ve tested the service and what GoGrid claims is true – you can provision a server in less than five minutes. A few minutes more and you can have more servers as well as load balancers and databases.
Of course after you’ve provisioned a server in five minutes you’ll have to set it up, which will take you some amount of time including the time required to read the documentation. With GoGrid if you don’t read the documentation you’ll find yourself in situations such as at the Windows Firewall configuration page trying to figure out which connection is for the Internet (three network connections are configured by default and apart from a numeric suffix are all named identically).
GoGrid’s Web-based user interface is relatively simple: You start on the Grid page, which shows a menu on the left side containing a Billing Summary Widget and a Network widget. The main panel has a large plus sign on the left – click on it and you can select to add a load balancer, a Web and Application server, or a database.
The current system gets a little ‘clunky’ here: To configure the component you are adding you need to provide an Internet address and an internal IP address. These are listed in the Network widget, but that gets grayed out when you are setting up a component. If you click on the widget so that you can view the available addresses (the widget’s real estate isn’t big enough to show all of the addresses at the same time) then configuring the component is abandoned. This should be fixed in a release coming out this week.
As you add components to your grid they are shown as icons with load balancers in one column, Web/App servers in the next, and database servers in the last. A weakness in the system design is that once you’ve configured a server you can’t go back and reconfigure it.
This leads to another weakness: The display doesn’t show you which component is connected to which component and as you can’t open the configuration of a component you’d have to use RDP or SSH to visit the servers to figure out how the set up is interconnected. Of course you can’t do that with the load balancers as they have no user interface so all you can do is delete and recreate them if you need to make changes.