There has never been a better time to be a developer. A few years ago, if you wanted to use some form of basic caching or queuing you had to convince IT to acquire it, install it, and support it. The last thing they really wanted was more servers and some new application to figure out how to support. So in other words, it was a nightmare and we were handicapped by IT. Today, thanks to cloud hosting solutions, we live in a different world. A world where we can deploy our apps that utilize a complex application stack made up of Redis, queuing, and a myriad of other cloud services without hesitation and without even knowing anything about the servers it all runs on. w00t!
On the flipside, now we are more in charge of ensuring our entire application stack works perfectly at all times. Our applications are now highly connected and dependent on other web services, caching, queuing, and other services. This creates a lot of moving pieces that can cause application performance and behavior problems. This is compounded by cloud hosting that quite often has performance hiccups caused by noisy neighbors, throttling, or their own maintenance. This is a problem that isn’t just a problem for virtual machines. It can impact shared caching, queuing, storage, databases, etc.
Monitoring tools are the eyes and ears of developers and application performance management (APM) is a must have tool for developers. It is essential for monitoring your entire application stack to quickly identify application problems. Problems that could be performance related, due to unexpected errors, or just bugs in your software. Performance monitoring down to the code level is insanely useful when trying to solve any of these types of problems.
More than Monitoring: Benefits of Stackify’s Retrace
Retrace is an APM tool designed specifically for developers. It not only monitors your application’s performance, but it also collects and integrates errors, logs, and metrics so you can find and fix problems as quickly as possible.
- Always on monitoring to troubleshoot production apps
- View app performance down to the code level
- Find slow web requests and database queries
- View all application errors
- Search and visualize application logs
Cloud apps have some specific needs when it comes to APM. Depending on the programming language and cloud hosting provider being used, some APM tools may not be compatible.
Key APM functionality for cloud apps:
- Support deployment to services like Azure Web Apps, AWS Elastic Beanstalk, etc
- Automatic monitoring of cloud services (caching, queuing, storage, etc)
- Support for apps that elastically scale up and down
- Flexible licensing and pricing models that should bill by the hour
Below is an example from Retrace showing the performance breakdown of an app by the various services it uses like Azure Storage, Azure Service Bus, external web services, Redis, and SQL Server. Being able to track the performance of your application stack that way is really valuable and helps identify problems quickly. In this example you can see a spike in Azure storage. Having an APM product is key to identifying when these sort of performance problems arise.
Here is another example where after weeks of no performance problems, sudden database slowness causes extreme site slowness. APM monitoring can help point out these issues immediately.
Being a developer is never easy, but cloud hosting and APM tools have forever changed how developers deploy and monitor their applications. It is easier to sleep at night when you know Microsoft, Amazon, or some other vendor is in charge of all the server infrastructure and you have a good APM tool to help you pinpoint and troubleshoot problems when they do arise.
- The 7 Ps of High Performance Cloud Apps - December 23, 2015
- App Performance: Measuring Perception vs Reality - December 22, 2015
- How to Monitor Noisy Cloud Neighbors & Your Web Apps Using Stackify’s Retrace for APM - December 4, 2015
- What Microsoft Azure Got Right for Developers - December 1, 2015
- Stackify Gets PCMag’s Editors’ Choice Award for APM (Application Performance Management) - November 16, 2015