Nomad_Soul - Fotolia

Developers, budgets benefit from stacking software instances

Running one database per server is fast and easy, but it's expensive. With SQL Server, stacking multiple software instances can lead to serious savings and simpler management.

For users who embrace a private cloud or on-premises infrastructure, running more instances of software on fewer servers saves money. Spinning up instances on virtual machines for application development and testing can be done in minutes. The practice is gaining traction through software containerization.

For IT departments, stacking software instances via containerization yields higher server utilization rates, with minimal idling. The resulting drop in physical server headcount not only reduces capital spending but also simplifies management and administration.

Michael York, a systems engineer at the Asante healthcare and hospital network in Medford, Ore., believes stacking software instances would be done more often if people simply knew the capability existed.

Today, Asante does it by stacking multiple instances of the Microsoft SQL Server database on its servers. It wasn't always that way. When it came to application development, it was fast and easy for developers to set up a scenario of one instance of Microsoft SQL Server per server. "They had no idea that you can stack instances," he said.

A disruption for vendors

Vendors that lived on models exploiting licensing requirements will have to go on a diet.
Judith Hurwitzpresident, Hurwitz & Associates

For vendors, on-premises instance stacking helps users wring more computing power from each dollar spent, albeit at the cost of selling fewer physical server licenses. It is especially favorable for enterprises that choose not to move their databases into the cloud, due to security concerns, lack of cloud expertise, or general cloud leeriness.

"Yes, indeed, containerization will present disruption to software vendors selling licensed intellectual property, much like virtualization did in the past," said Al Hilwa, program director of software development research at IDC. "I expect most software vendors will adjust their licensing models accordingly."

Hilwa said vendors that offer their technologies in the cloud through a multi-tenant arrangement are more likely to weather this transition because they are in a better position. They can harness what Hilwa characterized as a "container-dividend" financially as they run more workloads on a given set of resources. "They may have to pass some of these benefits on to IT buyers in a competitive space," he said.

Stacking SQL Server

Microsoft's venerable SQL Server database serves as a prime example of how stacking software instances via containerization adds up to savings.

According to Microsoft TechNet, the maximum number of SQL Server 2016 instances allowed per standalone server is 50. Other limits remain in place, including 32,767 databases per SQL Server instance and a maximum database size of 524,272 TB. In a presentation, Kevin Cox of Microsoft's SQL Server customer advisory team noted the existence of a single database of 100 TB, though databases approaching that magnitude are rare.

Don Boxley Jr., CEO of HD2i, a maker of software containerization software based in Fort Collins, Colo., walked me through the math. He started with a scenario of 50 instances running on 50 servers each at 10% CPU utilization. That's 90% unused, not unusual, he said. It you want a CPU utilization buffer of 30%, you can stack seven instances per server. That slashes servers from 50 to eight, an 84% reduction. Figure in the reduced number of SQL Server licenses and Software Assurance fees, and the savings over three years can exceed $2 million. Each case is unique, of course.

York said that through the stacking of SQL Server instances, Asante saved $200,000 in licensing and assurance fees in 2015 alone.

Tammy Lawson, a database administrator at Sonoco, a global manufacturer of consumer-goods packaging, said that if each of the 61 SQL instances in operation was on its own server, the SQL Standard license for each server would be approximately $16,000, a total of $976,000. Buying SQL Server for four cluster nodes ran about $65,000 plus the cost of cluster-management software from DH2i, "came nowhere close to this number," she said. "[It is a] big savings in the licensing department."

A changing app development model

Judith Hurwitz, president of Hurwitz & Associates, a cloud consultancy based in Needham, Mass., views these capabilities as key to changing the dynamics of software development and deployment. The old model required that database licenses be paired with and dedicated to a specific application or process. "This model was not designed because of the desire of vendors to make more cash, but because this was the most obvious way to link database services to a specific application or workload," she said. This movement to a modular, services-based approach is inevitable. "Vendors that lived on models exploiting licensing requirements will have to go on a diet."

Next Steps

SQL Server gets software for container management

Cut licensing fees with container management

What's better: multiple SQL Server instances or multiple databases?

Dig Deeper on Cloud application development