Docker has extended its strategic collaboration with Microsoft to simplify code to cloud application development for developers and development teams by more closely integrating with Azure Container Instances (ACI).
Ensuring application performance is not just about IT operations. Prior to app rollout, the role of development and DevOps teams, and even IT Operations, in preventing application performance problems cannot be underestimated.
But how do these diverse teams accomplish this goal? How do they prevent – or even identify – application performance issues before the app is even in production? With these questions in mind, 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 extensive list includes processes, approaches and tools to consider.
As often happens with these types of lists, many of the recommendations overlap and potentially fit into multiple categories. But the purpose of the list is not necessarily to define and categorize these recommendations, but rather to expose you to a wide range of valuable ideas from many of the top experts in application performance.
Many of the suggestions on the list involve tools and processes, but before considering these many options, Mark Swanholm, Chief Strategy Officer, Performance Tuning Corporation advises: “The best APM tool to use before rollout to deliver superior application performance will always be an open, critical mind. Unless you take a scientific, evidenced based approach across your entire stack the complexity of today's environments will surprise you with issues you didn't consider. Specialists will deliver great data structures, efficient web services and well-tuned servers – but it takes a well thought out plan to bring these together into a high-performance application.”
APMdigest presents the 18 recommendations in three parts, with six categories presented each day. The first six recommendations presented here start out with development's performance basics including DevOps and APM.
Get your Ops Team involved. Development and Operations view APM in a slightly different light, largely because it is a concept that consists of multiple complementary approaches for addressing issues surrounding application performance. Understanding the different requirements for Dev and Ops is important to ensure app performance before a rollout. Once the requirements are defined from both teams, build an application performance baseline before the day of go- live. This will take an understanding of the application and knowledge of how the metrics are being collected to be succinct.
Director of Enterprise Application Services at the Auto Club Group and Founder of the APM Strategies Group on LinkedIn.
The DevOps continuous delivery pipeline is ideal for baking in performance testing before application rollout. This pipeline combines automated and manual stages, and there are tools for both automated and manual performance testing – Ovum recommends a combination of both approaches for a comprehensive testing regime.
Principal Analyst, Ovum
Operations needs to be a part of the discussion early in the lifecycle. Operations needs to be part of the planning sessions where development discusses the backlog and what needs to be developed next. Operational concerns need to be put in as user stories, or operational stories, demanding the attention of those development teams. At the end of the day DevOps is about changing the culture. Building a culture of trust and openness and collaboration.
Research VP, IT Operations, Gartner
Without a doubt, visibility is one of the most important things needed to help development, IT operations and DevOps teams ensure optimal application performance before an app goes into production. The days of building apps and throwing them to operations to extract performance that meets business requirements using code that someone else wrote are long gone. Developers must work with IT operations to get maximum performance, but this joint effort requires a single version of truth—a shared view into how an application performs and what the impact is of each element of the application stack. This visibility during development allows developers to see the performance impact of their changes in almost real-time, plus it helps eliminate finger-pointing when something goes wrong.
VP, Product Marketing and Strategy, SolarWinds
2. APPLICATION PERFORMANCE MANAGEMENT (APM)
Left shift APM for top application performance: Software is core to business success meaning that a fast app release cadence is a must for all businesses. The result is that the boundaries between what is a test, pre-production and production environment are starting to become blurred. This means that APM solutions should be used earlier in the software development lifecycle to ensure top application performance. Features such as code level analysis and end-user experience monitoring should be utilized in test environments to ensure that performance gremlins are caught before they reach production and real customers.
Product Marketing Strategist, AppDynamics
Former Analyst, Infrastructure and Operations, Forrester Research
Benjamin Franklin’s famous quote “an ounce of prevention is worth a pound of cure” neatly summarizes why savvy enterprises leverage APM in preproduction. When operations shares real-user monitoring insights with development, apps can be future-proofed to conquer the stresses of production deployment. The successful use of APM in pre-production hinges on whether it is Easy, Proactive, Intelligent and Collaborative or E.P.I.C. This easily remembered checklist helps IT Ops validate whether their APM methods are DevOps ready.
VP, DevOps Marketing, CA Technologies
Recent Quocirca research shows how organizations that have the challenge of dealing with large volumes of consumers face up to the application performance challenge better than their non-consumer-facing counterparts. They set aside more budget to invest the tools for application performance monitoring. They ensure they can take a more granular approach to monitoring, taking account of the connect speeds, browsers, devices and location of their users. Consumers of fickle and capricious, you have to get application delivery right from the start and these are some of the steps consumer-facing organizations take to ensure that.
Analyst and Director, Quocirca
Based on the APM product reviews from real users on IT Central Station, here are the top 3 ways people use APM before rollout: troubleshooting of slow performance in test environments, debugging with deep dive diagnostics for collaboration with dev teams, and capacity planning.
Founder and CEO, IT Central Station
3. MOBILE APM
Developers should ensure their pre-rollout checklist includes an enterprise-class mobile APM solution that can report on the business impact of mobile app performance, not only for simple consumer app transactions that can be defined by association to a destination URL or tagging the app, but also for more complex business activities executed by the enterprise workforce.
Chief Product Evangelist, Aternity
4. APM + UNIFIED MONITORING
Ensuring application performance is a never ending task that involves multiple products, features and best practices. There is no one process, feature, or product that does everything. A good place to start is pre-production and production monitoring with both an APM tool and a Unified Monitoring tool. The APM tool will trace/instrument your application and application server activity and often the end user experience via synthetic transactions. The development team and DevOps folks need this. The unified monitoring tool will monitor the supporting infrastructure. The IT Ops team needs this. DevOps likes it too because it helps make IT Ops more effective, which in turn helps assure application delivery.
Director, Product Marketing, Zenoss
5. END-USER EXPERIENCE
Optimizing digital performance must begin and end with the end users perspective. IT and production teams need to understand every users experience at every digital touch point – web, mobile web and mobile app. Naturally, load testing prior to rollout is vital, but just testing from inside the application is no longer enough. To ensure app performance you need a comprehensive approach that unifies development, test and operation teams and leverages both synthetic and real user monitoring of every transaction (sampling wont cut it). Only then will you get real insight into what your users actually experience. This unified approach not only eliminates issues ahead of time, it ensures rapid time to market, enables immediate root-cause identification of any problems and immediate resolution. It also speeds the addition of new features and functions, and ensures the best possible performance.
Field Technical Evangelist Director, Dynatrace
Development, IT operations and DevOps teams are all ultimately trying to serve the customer. That means paying attention to the end-user experience. Performance monitoring tooling should be part of the entire software development lifecycle. If changes can be recognized at the development or staging level, intervention will be cheapest. But ultimately there is no substitute for a development cycle that involves small, incremental updates to production and extensive full-stack monitoring for regressions in releases.
Product Director, Application Performance, AppNeta
6. PERFORMANCE BASELINES
It is critical to have performance baselines from all applications to identify any weaknesses in the application before it goes into production. It is also important to develop metrics on the expected end user experience and make sure to measure real time performance against the metrics throughout the lifecycle of the application to ensure that user performance problems are identified early and remediated quickly.
President of the Performance and Availability Business at BMC Software
Identify and develop typical usage (or expected usage) scenarios of the web/mobile/api app under consideration. Stress test the app and the production infrastructure to identify and eliminate bottlenecks and create a baseline of expected performance. Create SLAs and watermarks for performance and availability from the end user perspective and the back end tiers.
VP of Product, AlertSite UXM, SmartBear
There is one simple, tried-and-true, yet often overlooked process that is key for ensuring top application performance even before an app goes into production. And in most cases this process can be easily implemented with the systems and tools you already have in place. Performance base lines, both from an application and a network perspective, are absolutely essential in understanding how your current applications are performing, as well as in predicting how new applications will perform. This might seem obvious, but based on experience with customer engagements it is astounding how often simple questions about current performance cannot be answered because no one is tasked with running and recording periodic base lines. Performing base line measurements should be an established and high-priority objective for any IT department. Lacking a well-established process for running and recording both application and network performance baselines leaves IT departments blind. Ensuring top application performance before going into production will be the least of your worries without a proper process for performance base lines.
Director of Product Management, WildPackets