Continuous innovation and optimization – build better software faster with metric-driven DevOps

Show all categories

Web Service Monitoring 101: Identifying Bad Deployments

Have you ever deployed a change to production and thought “All went well – Systems are operating as expected!” but then you had to deal with users complaining that they keep running into errors? When deployments fail you don’t want your users to be the first to tell you about it: Sit down with the Business and Dev to define how and what to monitor We recently moved… read more

Software Quality Metrics for your Continuous Delivery Pipeline – Part II: Database

No matter how often you deploy your application or how sophisticated your delivery pipeline is, you always need to know the quality status of the software you are building. That can only be done if you measure it; but measure what exactly? In Part I we introduced the Concept of Quality Metrics in CD (Continuous Delivery) by looking at the metric # of Requests per End User Action. In… read more

Don‘t Trust Your Log Files: How and Why to Monitor ALL Exceptions

I would say that only one out of a million exceptions thrown in an application actually makes it to a log file – unless you run your application in verbose logging mode  – Do you agree? No? Here is why I think that is: Because most exceptions are handled by your code or by the frameworks your app uses. Here is a chart from an enterprise application showing that there… read more

How Stable are Your Unit Tests? Best Practices to Raise Test Automation Quality

Most of our 10k+ unit tests are written in Java using JUnit and run with the gradle build automation tool. The more tests we added over time, the more often we ran into the problem that unit test executions became unstable. New tests impacted the execution of existing tests. Our “failed test” metric for tests that ran fine for months started to increase. It was tempting to blame… read more

When it REALLY is the Database to Blame for Bad Performance: A Story about Slow Statements and Resulting Connection Pool Issues

Far too often “the database” is blamed for impacting performance and scalability of applications. In many cases, however, it turns out that it’s not the database itself, but the way the database is accessed by the application. Common problem patterns are requesting too much data, inefficient queries, lack of data caching, and waste connection usage, for example. But, there are cases where the database is to be blamed. This… read more

Hunting an Oracle JDBC Memory Leak Crashing an 80JVM WebSphere Cluster

Are you prematurely restarting JVMs to keep them from running out of memory? Or have you received the recommendation from your application experts to just “increase the Java Heap Space?” The following memory chart shows the memory consumption of 10 JVMs (4.1GB Heap each) per Host on an 8 machine cluster. The JVMs kept running out of memory, crashing with Out Of Memory Exceptions and sometimes even bringing the whole… read more

Continuous Performance Validation in Continuous Integration Environments

Each year, the holiday shopping season brings a surge in awareness for website performance and scalability issues. While these items should obviously take an important spot on your roadmap during the whole year, the interesting question is why familiar performance problems keep impacting customer-facing web sites over and over again. After all, we’re all well aware of the most frequent problem patterns that you might face, ranging from… read more

Talking Performance at W-JAX, International PHP Conference, Agile Testing Days and Confluence and Jira Community Day

It is Fall in Europe and with that, the “hot season” for industry conferences is among us. We are happy to present at several of these conferences in the next couple of weeks talking about the things that we have been blogging about recently. If you happen to be at these conferences you may want to check out our sessions or catch us for a quick chat in the hallway. read more

Best Practices for Performance-focused DevOps

Based on our recent discussions – 80% of the problems that cause War Room scenarios are caused by only about 20% of problem patterns. Most of them are related to performance or architectural issues in the application or in the infrastructure that supports your application. A recent study concluded that 80% of development time is wasted with triaging and fixing problems which sums up to an estimated $60B of annual… read more

Slides from JavaOne Session – Performance-Focused DevOps – available on slideshare

I just uploaded the slides I used at today’s JavaOne session From Chaos to Continuous Web Application Delivery through Performance-Focused DevOps Download the slides from my slideshare account: If you happened to be in the session or if you have feedback on the slides please let me know. We are eager to learn about best practices when it comes to DevOps… read more