APMdigest asked experts from across Application Performance Management (APM) and related markets for their recommendations on the best ways to ensure application performance before app rollout. This final set of six recommendations covers topics including the development environment and deployment.
13. REPLICATION OF REAL-WORLD PRODUCTION CONDITIONS
Understand the logical complexity of your application, especially round trips at various levels of abstraction. Test the most logically complex components with production-like latency, reasonably complex inputs, and realistic load. Ideally, use the same profiling tool you would use in production, and make sure it can find meaningful problem correlations at scale. A top methods list will only show you where your time went processing your synthetic load.
Manager, Software Development & Architecture, Dell Software
Networked delivered applications are pervasive in todays businesses and its essential that we give developers and testers environments that that are "fit for the purpose" i.e. they accurately reflect the network an application is expected to run in - this ensures a much more robust application is produced and can substantially shorten the delivery time. Developers and testers can utilize industry standard tools such as Network Emulators which replicate the target networks and network conditions, eliminating any unwanted surprises when a new application is rolled out into the production environment.
Pre-sales Technologist, iTrinegy
14. CONTAINER TOOLS
Container tools provide the easiest, most effective and secure approach for ensuring application performance prior to rollout – not to mention, most affordable. An added level of virtualization that conveniently packages everything together, containers enable DevOps to decouple applications from underlying hardware and IT infrastructure, which among other things, make apps highly portable, as well as easier to share, test, deploy, fine-tune for performance and manage.
CEO and Co-Founder, DH2i
15. BI-MODAL IT
Operations teams should adopt a bi-modal IT structure to optimize application release cycles and updates. A bi-modal structure focuses on increasing the application performance, speed and agility of operations, allowing for scaling applications and businesses without creating a shadow IT environment. By utilizing containerization to provide independent work spaces, applications can be optimized to increase performance. A bi-modal IT structure allows for a smooth development and deployment process from the onset.
Founder of Modulus, a Progress company
16. COLLABORATION AND COMMUNICATIONS INFRASTRUCTURE
Investing time into developing a coherent Collaboration and Communications Infrastructure (CCI) plan that outlines a set of procedures and policies for IT and end-users to follow is vital to ensuring top service performance. Having a CCI strategy in place will enhance enterprise IT collaboration capabilities and help assure the performance and availability of collaboration and communications services in the production environment.
Director of Solutions Marketing, NetScout Systems
17. APPLICATION DIAGNOSTICS
Developers must go beyond instrumenting their apps to provide diagnostics like crash reporting, service monitoring, and transaction trace.
Chief Product Evangelist, Aternity
18. INCREMENTAL DEPLOYMENT
Successful rollouts are all about manageability. First, deploy in phases (vs. a big bang approach), so you can learn as you go and change course as needed, including rolling back. Next, and complementary to the phased rollout, have key performance metrics from production environment against which you can compare in the pre-production environment and during each step of the deployment. For todays complex application systems, this is best accomplished with cross-tier transaction response times. The ability to compare application performance snapshots before and after deployment is also extremelly helpful.
Director, APM Product Marketing, AppDynamics
Consider deploying the application to a limited number of test users in each site to get some preliminary testing done. Set expectations for how the application should perform and give users adequate time to acclimate and validate the new application as part of their workflow. How are users receiving the new application? What is the user experience like? Are there any issues that need to be resolved immediately?
CTO, Fluke Networks