Myles Trachtenberg needs infrastructure. His job managing $400,000 worth of daily orders depends on it.
Trachtenberg is the CTO of Fresh Direct, a metropolitan New York area online grocer and catering service that depends almost entirely on the Web for orders. Only one percent of the company’s business comes in via the phone.
And, because the company offers prepared meals, it has a just-in-time back end system that relies on its home-grown CRM system to function smoothly. And smoothly it has to function in order to keep its customers coming back. Fresh meals showing up hours late and cold because of a system failure is sure way to loose business.
Trachtenberg walked this razor’s edge up until about six months ago, when he changed out his Solaris operating infrastructure for one based on blade servers and VMware’s ESX server technology. Since then his life has become much less eventful.
“In the past if I wanted to bring up an environment under my old architecture, it would take a huge amount of time to physically partition devices, configure them, set them up and roll them out,” he said.
Today, that whole process is simplified considerably by ESX and its ability to decouple the application layer from the infrastructure it runs on. Also, since abandoning Solaris, Trachtenberg can utilize much cheaper Intel boxes and Linux. He also needs fewer boxes to support the same number of orders.
“I like to think of my infrastructure as a virtual framework,” he said.
What once took three or four servers now takes just one. Granted it has to have a lot of memory available but VMware’s solution allows for on-the-fly resource allocation between virtual machines, i.e. instances of an application.
This means Trachtenberg can do a lot more with a lot less and still maintain the company’s 24/7 presence even while, for example, upgrades are taking over for older instances of an application.
“The way the architecture is designed I never have any downtime windows on my infrastructure,” he said. “The storefront is open 24/7, 365. So, what does that mean to me? I have to be able to do a rolling release and we’ve designed the system so that I can move into production and have folks operating on two separate code bases concurrently. And, as sessions are closed off the old release, new sessions are opening up on a new instance of the system operating on the same back-end database.”
The one area where VMware doesn’t do so well, said Michael Bedford, senior systems architect for the California branch of the $180 billion Federal Home Bank, is when an application is very processor intensive.
Things like database servers or the heavy functionality of an ERP solution are not worth putting on a VMware enabled server since the real ROI comes from being able to port a bunch of light-weight applications onto one server. Combined with VMware’s Vmotion technology, which is basically a resource allocation tool, this also serves to simplify the management of your infrastructure.
“With WM we’re able to at least consolidate the hardware back-end although they’re still all in their unique operating systems,” said Bedford. “This provides us with the ability to say we don’t need to go buy machines for Linux or another machines for Windows based apps. We’re able to just provision it, literally, in 10 minutes.”
For example, Bedford currently has one, four-way server running 20 virtual machines on either a Linux or Microsoft operating system. To run the same amount of functionality without VMware, Bedford said he would have had to provision a separate box for each application; not to mention a separate network port and SAN connection.
“That’s were the key comes in — if you’re not smart about understanding what is a candidate for virtual machines and what is not, you can really get yourself in a mess,” he said. “You can really maximize your investment buy getting more (applications) into a smaller footprint and that’s where you see ROI come into play.”
Perhaps the feature Bedford and Trachtenberg like best is the VMware’s Vmotion technology that basically acts as a real-time, virtual load balancer between boxes. This gives both managers the ability to allocate resources as they are needed and, if a one box goes down, simply port the applications on that box over to another, on-the-fly, without loosing any in-process transactions.
Without the application decoupled from the hardware this would not be possible.
“We’re able to off-load the virtual machines while their running … without any user interruption,” said Bedford. “And that’s something that’s pretty much unheard of outside of this technology.”