Engineering, Product

The AppD Approach: Composing Docker Containers for Monitoring

Since its introduction four years ago, Docker has vastly changed how modern applications and services are built. But while the benefits of microservices are well documented, the bad habits aren’t. Case in point: As people began porting more of their monolithic applications to containers, Dockerfiles ended up becoming bloated, defeating the original purpose of containers. […]

Culture, Engineering

Hackathoning with IoT, Blockchain, and AppDynamics

Early in the new year, AppDynamics hosted a hackathon to give employees a chance to explore technologies they were curious about, have fun, and build cross-functional relationships. I teamed up with a group of women who were interested in researching blockchain. Other members of the team included Balwinder Kaur, Nicole Hu, Audrey Nahrvar, Jeanie Oh, […]

Engineering

Tales from the Field: Spectre, Meltdown, and Patching Performance

By now you’ve certainly heard of – or perhaps been impacted by – Meltdown and Spectre, two newly discovered vulnerabilities that affected nearly every modern processor. If not, you might want to take a moment and visit Meltdownattack.com for a good overview, and Ars Technica for some good examples of how the vulnerability affects processors. […]

Engineering, Product

Tales from the Field: Debugging Applications in Production with Information Points

Production debugging is one of the most difficult parts of the job for any software engineer and one of the most underrated problems faced by IT. Developers usually rely on logs to troubleshoot production issues. They go through hundreds of lines of logs, sorting through complex logic as their stress levels rise, acutely aware that […]

Engineering, Product

The AppD Approach: Using Flame Graphs to Debug Node.js Apps

In my day job, I work to help people understand performance and reliability issues in distributed applications across a number of different technologies including Java, .NET, and Node.js. A few years ago, I started to see a rise in the adoption of Node.js, with some large organizations like PayPal making a major shift to the […]

Engineering, Product

Tales from the Field: Migrating from Log4J to Log4J2

The AppDynamics Java agent, like many Java applications, uses logging extensively. We have used Log4J as our logging framework for many years. And while the latest release of Log4J was in 2012 – and the Apache Foundation announced end-of-life for Log4J in August 2015 – we didn’t upgrade to Log4J2 because of the need to […]

Engineering, Product

The AppD Approach: Java 9 Support

We are excited to announce full support for Java 9 as part of our Winter ‘17 product release. Java 9 introduces some interesting features such as incubator support for HTTP/2 and making the G1 Garbage Collector (GC) the default GC for the Java virtual machine (JVM). But the most fundamental change that impacted all Java […]

Engineering, Product

Keep Your Internal Websites Running Smoothly with Private Synthetic Agents

AppDynamics’ 2017 App Attention Index found that 32 percent of consumers have taken their online business elsewhere due to a poor digital experience. But what do you do when you’re an employee and your company’s internal applications perform poorly – and you can’t take your business elsewhere? We’ve all been there: we end up unhappy […]

Engineering, Product

Cross-Controller Federation: Ensuring Application Visibility and Correlation

Over the last few years, we have seen an evolution in application topologies. For example, when AppDynamics first started monitoring applications 10 years ago, a business application was relatively self-contained, with the corresponding tiers and nodes representing the majority of the application’s business logic. As time passed, we saw more distribution of functionality, where an […]

Engineering, Product

AppD on AppD: Scaling Our Custom Dashboards Platform

This blog post is a developer’s perspective on how using our own AppDynamics software has helped us find and fix performance-related issues – and how other developers can do the same.  One of the most challenging aspects of developing cloud-based platforms is scalability. As we innovate and build new features, it is essential for developers […]