Your monitoring solution can be pretty useless if you can’t integrate it into your workflow in a meaningful way. To keep end users happy and to prevent performance slowdowns from reaching production, you’ll need to evolve the way you think about performance regressions. Just like functional regressions, they’re bugs that you need to identify early – before they affect end users and become costlier to fix.
Continuous Integration and Deployment Systems
Continuous Integration (CI) and Continuous Deployment (CD) is the glue that holds everything together. If you’re implementing CI and CD to automate your test and build processes, integrating your monitoring solution into them just makes sense. Accordingly, you’ll want to integrate your monitoring solution into three major interaction points in your process flow:
1. Build System
With CI and CD, you may be releasing code changes on a daily basis, and the faster you can provide feedback to your developers, the less chance you have of any performance degrading issues slipping through. Your build systems are a natural integration point to run tests and validate your internal performance best practices. The more you can automate – the better.
Check to see if you can use Rigor’s API to kick off an optimization scan when any code change is made to analyze how that build improved or regressed performance. Test your build as soon as changes are deployed into your staging environment. Remember, you want to test your site from the end user perspective, so this type of testing will follow unit testing for functionality. If your build passes the parameters you’ve set for internal performance best practices, you’re ready for QA and deployment into production. After you’ve gone live, use Rigor to monitor your production environment to be immediately alerted of any performance issues that may crop up as real users begin to use your application.
2. Bug Tracking and Task Management
Again, you’ll want to reconfigure your definition of performance issues to call them what they are…bugs. Performance issues don’t need to be treated as special, isolated events, disconnected and separate inside your monitoring solution. Tasks have defining characteristics (e.g., severity, priority, information) that map well to performance alerts. For example, a performance issue causing your site to be offline has a severity of critical, whereas having too many images would be considered medium severity and priority. Integrate Rigor to pull actionable alerts into the tracking systems and task managers you already use such as Trello, JIRA, GitHub, or other IT ticketing and help desk systems. Triage issues directly into these systems to make sure you’re able to prioritize your performance bugs alongside functionality defects.
Notifications are only helpful when you get them where you’ll see them and when they’re targeted so you don’t ignore them. With the majority of people now spending most of their times in chat systems, like Hipchat and Slack, email is no longer the best way to receive notifications. Integrating with chat systems has the added benefit of the inherent one-to-many system, since multiple people are in a chat room or channel at once. This can help prevent partitioning of alerts and information, helping to ensure that the right people get the message quickly. You can also leverage the alerting, searching, and archiving native to the chat solution to safeguard against lost notifications. Automate reporting processes by leveraging chat bots to log performance tickets, and to allow your team to receive and to respond to operational alerts.
Interested in monitoring your sites, apps, and APIs for performance issues?