2015년 8월 27일
In a world where customers expect applications to work perfectly every minute of every day, being proactive about monitoring the performance of your applications is critical.
"There are many studies that show that even millisecond delays can impact user satisfaction," says Matt Watson, CEO and founder of Stackify. "Users are used to sites like Google, Facebook, etc. that are lightning fast, and they have very little patience for slow applications or websites."
Stackify helps software developers - who oftentimes don't know what they don't know when it comes to ongoing app performance - monitor and troubleshoot problems with their applications, allowing them to resolve application issues before they affect the business to ensure a better end user experience.
Here, Matt answers a few questions for us about best practices for application management and the future of the industry. Read on:
What services do you offer? Who should be using them?
We offer three different stand-alone products, but used together they provide developers with all the tools they need to easily troubleshoot their applications.
The products are fully integrated:
- APM+(application performance management)
- Application & Server Monitoring
- Smart Error & Log management
What sets Stackify apart from other application monitoring services?
Stackify is competing with some small and large companies that mostly offer only one functionality out of the many that we offer within our platform - and typically, at a higher price. Our solution is very unique, as it integrates application and server monitoring with code-level profiling and log and error management. This provides more complete visibility of the application health than other products on the market. But it goes beyond that as it provides the tools to identify the source of application issues and fix them faster, thus directly affecting user satisfaction and the business's bottom line.
What are the biggest problems or frustrations your clients come to you with? How do you help them?
With the move to the cloud and agile development, software developers have more responsibility with application support and troubleshooting. Developers are finding themselves in a position where they are expected to solve application issues fast, but have limited access and tools to do so.
Using Stackify, they get read-only visibility into production servers without the risks associated with direct access, as well as the tools to find the root cause of an issue easily and efficiently, allowing them to fix it faster.
What advice do you find yourself repeating over and over again to clients when it comes to how they manage applications?
Most development teams are always very busy and are typically very reactive when it comes to application problems. We strongly suggest to our clients taking a few hours to evaluate how to be more proactive when it comes to application monitoring. Below are some of biggest tips.
1. Monitor top transactions. Identify and monitor the performance of top web requests/transactions within your application.
2. If it moves, measure it. Create custom app metrics/KPIs within your app that help expose whether everything is functioning properly.
3. Log often, and log meaningfully. We've elaborated on this subject in this article Errors & Logs: putting the data to work.
Most importantly, our advice is to centralize your insights. Remembering that life in the cloud can be both quite distributed and quite transient, it's always good to bring everything - performance, logs, errors, custom metrics, and other telemetry - into a central location for normalization, correlation and continuity. You may need the data, and what it tells you, well beyond the ephemeral lifespan of your cloud resource.
How important is speed when it comes to identifying bugs and errors within an application in today's business environment?
Speed is critical when it comes to detecting and fixing application problems. Finding and fixing them quickly requires good monitoring for exceptions, as well as having access to log files to quickly debug the problems.
In a survey, we found out that integrated tools reduce customer impact by 62 percent. Furthermore, organizations using integrated tools are able to resolve issues a full 80 percent of the time without impacting users, whereas those using standalone tools only do so 48 percent of the time. These numbers have direct implication on user satisfaction and business results, so speed is very important.
How has software monitoring evolved in the past 10 years? What do you think it will look like 10 years down the road?
Traditionally, monitoring has focused on servers and the infrastructure supporting our applications. That has transitioned to focusing more on monitoring the behavior and performance of the application itself. Today's applications are increasingly more difficult to monitor because of all the external dependencies they have to things like SQL databases, NoSQL databases, queues, caches, cloud file storage, and much more. All of these dependencies can potentially cause application slowdowns and even downtime in worst case scenarios. Application Performance Management (APM) products have the unique ability to automatically identify and monitor all of these dependencies. Thus, APM products have become a must have for all development teams for monitoring their applications.
Developers are also more involved in monitoring than ever before, and that is resulting in a new generation of monitoring tools. Developers need access to lots of data to properly support their apps, including basic system health metrics, application metrics, errors, logs and APM performance data. Future monitoring solutions will combine all of this data together and use machine learning to help developers identify application problems faster.
What industry headlines or issues do you think developers and managers should be following closely today? Why are they important?
The industry is rapidly changing when it comes to cloud-based services and new data storage engines. Services like Azure, AWS and others continue to expand their functionality while their costs continue to go down. It is important to keep an eye on how these hosting technologies for future projects could be a good fit for cloud hosting.
Over the past few years, we have seen an onslaught of new data storage engines like redis, mongodb, elastic, hadoop, cassandra and many others. SQL databases are not the best fit for all types of data and all these new technologies can be very beneficial if used for the right use case. But like with any new technologies, I would be careful not to jump on the bandwagon too early or just because it is cool. Make sure it is a smart long-term choice for the business. It can be a huge effort to train your team on how to use a new database, support it, scale it, etc. It's not a decision to be taken lightly.
What trends or innovations are you most excited about for how they'll help both app developers and operations managers?
Platform as a service (PaaS) is the biggest game changer for application development in a long time. In the past, if you wanted to use a caching or queuing service within your apps, you had to figure out how to license it, install it, support it, scale it and make it run highly available (HA). This process can be very time consuming and potentially even expensive to setup two to three servers (for HA) for a new caching or queuing service.
In contrast, developers using Azure, AWS and other PaaS providers can get quick access to a plethora of tools without ever having to worry about installing, supporting or scaling them. For just a few bucks, developers can try out services like redis, SQL database, NoSQL databases and much more without any of the hard work of installing and configuring them. In a lot of ways, this gives developers a huge advantage over their colleagues in large companies where just getting a meeting scheduled to talk about potentially installing something like redis in a test environment could take days or weeks.
For help with Integrating Your Network and Application Management download this free guide from NETSCOUT: Network and Application Performance Monitoring: 네트워크를 제어하십시오.