Business application updates don't just happen. Application development requires careful planning and preparation.
Once you’ve virtualized, you’ll probably find that your apps require more frequent updates, because multiple workloads running on a single physical server can consume lots of resources and weaken business application performance.
But beyond the requisite re-coding and streamlining goals that are set for business applications, an organization needs to weigh the options for successful business application development. The first option for administrators to consider is a shift away from internal application development to canned—third-party, commercially developed— business applications.
Stepping away from internal application development
Most organizations will at least consider purchasing third-party business applications to replace their custom software. The challenge when considering application updates is usually not a matter of finding third-party candidates but rather weighing the relative cost of customization and maintenance against your in-house application development costs.
“You may find the greatest third-party application in the world, but if you spend $250,000 installing it plus another $100,000 each year updating, maintaining and customizing it, are you really saving?” asked Chris Steffen, principal technical architect with Kroll Factual Data in Loveland, Colo.
Consequently, administrators should follow the costs of canned business applications carefully and know when to recognize the move to third-party applications as a bad deal for their application development project.
“If you buy a canned application and you see [costs] shifting the wrong way and costing you a lot of money—pull the plug—be smart, cut your losses and switch quickly,” said Bill Kleyman, director of technology at World Wide Fittings Inc., a manufacturer and distributor of steel hydraulic tube and fittings in Niles, Ill.
Choosing the right guys for application development
The second principal consideration for business application development is the choice of outside consultants or in-house staff developers.
The question, say experts, is much more an issue of staff time and talent rather than money. The decision to keep a business application development project in-house can be easy when the staff is well versed in necessary programming languages, has a clear understanding of the environment and has the time to develop and implement business application updates.
The use of outside developers for application development may make more sense when the current in-house staff is already engaged with other projects or lacks the skills to make the best application updates possible. For instance, a staff may be versed in C++, ASP and Java, but an application that requires Ajax programming might justify outside application development talent.
Any application development effort requires a clear set of goals and specifications that define application updates’ needs.
“Coding is the easy part,” Steffen said. “The hard part is setting your standards, specifications, and getting it tested and implemented into production.”
Carefully considered goals also help to avoid what Steffen calls “scope creep,” which is the tendency for organizations to tinker and experiment with business applications beyond the immediate requirements of the application development project.
Generally speaking, virtualization simplifies certain aspects of the application development process, but virtualization itself does not affect that process. In a traditional, nonvirtualized environment, it may have been difficult to allocate the server resources necessary to support a software development effort—it required server hardware and access to backups of production files.
With virtualization, it's a much simpler matter to prepare a new virtual machine (VM) or even produce a copy of an existing VM for developers to work with almost immediately. Unless business application developers are working with virtualization-specific APIs or SDKs, chances are they don't even know—and don't need to know—that they are working inside a VM. Still, it's important for organizations to monitor the VMs created for application development work to manage and mitigate the impact of VM sprawl on the data center.
About the author
Stephen J. Bigelow, a senior technology editor in the Data Center and Virtualization Media Group at TechTarget Inc., has more than 15 years of technical writing experience in the PC/technology industry. He holds a bachelor of science in electrical engineering, along with CompTIA A+, Network+, Security+ and Server+ certifications and has written hundreds of articles and more than 15 feature books on computer troubleshooting, including Bigelow’s PC Hardware Desk Reference and Bigelow’s PC Hardware Annoyances. Contact him at firstname.lastname@example.org.