Five tips to keep apps from failing

29.06.2012
This vendor-written tech primer has been edited by Network World to eliminate product promotion, but readers should note it will likely favor the submitter's approach.

No business today that depends on online customers and processes to keep the lights on can afford an application meltdown. When an application critical to core business processes or revenues, such as a company's Web , is down for even an hour it can cost hundreds of thousands of dollars.

IT departments need foolproof ways to prevent application issues from becoming major failures. Having a plan in place for is essential, too. But these are worst-case scenarios, and while important, application providers should spend equal time and resources developing a plan to ensure that systems perform as expected during normal business operations. Such a plan needs to account for expected spikes in demand, such as finance closing its books at quarter's end or marketing launching a product -- as well as the unexpected events that can place unusual burdens on application, database and server loads.

TREND:

Here are the most effective prevention tips to keep critical enterprise in top shape.

1. Define the business value of performance and develop an application performance management plan with owners.

Assign a team of IT and business stakeholders from functional areas to define business priorities and metrics and to develop (KPIs) and service level agreements (SLAs) for all applications, sites and technology tiers. This entails setting thresholds and metrics for intervention, setting up alerts and continuously monitoring the entire infrastructure from user/transaction to disk.

These tools and processes can give IT managers parameters for determining when storage or server capacity will be at risk, so that they can make adjustments quickly before response times suffer. Planning entails determining archiving priorities; unused or infrequently used applications and data should not be consuming expensive infrastructure resources. The plan should entail mapping of the most high-performing components to the applications that require top-level response. As always, balancing performance with cost and business needs is foundational, so costs are allocated according to the application's impact on revenues and customer satisfaction.

2. Create an application profile.

Understanding how applications behave and documenting that behavior into a profile helps determine the application's thresholds and when intervention is required. How an organization defines application failure in its core systems will differ, so it's critical to customize these profiles to the needs of customers, any industry or regulatory requirements and other parameters defined by the business units. Companies need monitoring solutions that keep tabs on the average response times for a particular application, including documenting the baseline performance and the application performance during its peaks and troughs.

3. Performance test and create baselines.

Performance testing is a critical step in application performance planning, but sometimes it's overlooked in the rush to go live with a new application or service. If IT skips the performance test, which ensures that the application meets basic SLAs before releasing to users, there's no way of knowing if the application will survive once demand grows or usage behavior changes. Perhaps the application works just fine with 200 users, but what about when there are 500 users? Automation tools can simulate many use case scenarios quickly. Performance testing can also deliver a baseline metric for application performance, which indicates the normal average response times. Baselines are extremely valuable because it allows IT to compare performance metrics over time to see how the application behavior is changing and when service levels are out of whack. Redefining the baseline is often necessary to adjust to new application features, a significant increase in users, or business shifts including changing customer requirements.

4. Monitor performance in production.

Performance is never a constant. Usage patterns and the total application environment will change without notice. Active monitoring of end-to-end application performance in production means that issues affecting customers and causing SLA breaches can set off alerts so that IT employees can fix them quickly. The ability to determine the exact point of and reason for poor performance ("root cause") in the complete application flow is vital in order to respond quickly. An ultimate goal is to respond automatically to performance issues through adding capacity or making configuration changes.

5. Encourage collaboration between application and infrastructure teams.

Application and infrastructure managers aren't always on the same page. Developers are focused on new features and improving user experience while the operations team is thinking about provisioning servers and optimizing storage devices and network architecture. Yet bringing these two groups together can head off a lot of application problems. Developers should apprise the operations team of any upcoming changes in the application. Meantime, operations can inform the applications team when they are seeing spikes in transaction loads that may require tweaks to the code, so the app can run more efficiently and consume less resources. Collaborating with the customer support team is also helpful. Those individuals are on the frontline of user issues as they occur, and may be able to spot trends indicating a widespread problem in the works. Collaboration can happen in many forms -- real-time automated alerts, a shared dashboard for the entire infrastructure, weekly meetings and online discussion boards.

Follow these tips and you'll help ensure your critical enterprise applications stay in top shape.

Sherman Wood is VP of products at Precise.

in Network World's Software section.