Lifecycle Trends and DevOps

Topics of discussion here include cultural shifts and trends seen across Development, Operations, Test and beyond. Heavily covered topics include DevOps and other supporting principles like continuous delivery, continuous integration and agile and lean development as they influence IT attitudes and ultimately user performance.

Monolith to MicroServices: Key Architectural Metrics to Watch


Through my Share Your PurePath program I can confirm that many software companies are moving towards a more service-oriented approach. Whether you just call them services – or Micro-services doesn’t really matter. If you want to get a quick overview of the concepts I really encourage you to read Benjamin Wootton’s blog and the comments on “Microservices – Not A Free Lunch!” In the data that has been shared with me over the last couple of months I see the same trend, but ... More >

The drastic effects of omitting NODE_ENV in your Express.js applications

Effects of omitting NODE_ENV

Most developers learn best by examples, which naturally tend to simplify matters and omit things that aren’t essential for understanding. This means that the “Hello World” example, when used as starting point for an application, may be not suitable for production scenarios at all. I started using Node.js like that and I have to confess that it took me almost two years to quantify the huge performance impact of omitting a single environment variable. In fact it was just a ... More >

How to get Visibility into Docker Clusters running Kubernetes


Google officially launched today the final version of their cluster manager project Kubernetes, which treats Docker containers as first-class citizens. In this blog post, I will show you how you can monitor the performance of your Kubernetes cluster using the Dynatrace Docker Monitor Plugin, which is available here and on GitHub. Why Docker? Docker has been the buzzword in the IT industry for the last two years now – and while containerization is not at all new, the company ... More >

Mission (im)possible – How to identify objects causing memory leaks


Memory leaks are well-known problem patterns within application development. There are many tools that can show a memory leak is happening, but very few tools are equipped to provide any level of deep insight into the objects consuming a large majority of RAM (check a few tutorials here). In a recent engagement I worked with one of our partners to find the object causing a native memory leak, typically one of the hardest things to diagnose! The analysis was extremely ... More >

Stop Technical Debt: 3 Use Cases – NHibernate, Microservices and Frameworks


Technical Debt is what slows you down in bringing new features to your end users. Why? Because you spend time firefighting and fixing old code instead of innovating. However, rather than getting better and faster in at fixing problems, I suggest we start preventing problems by leveling-up our sense of quality! How? By learning from others to avoid the same mistakes! 3 Use Cases from our Community In this blog I cover three problem patterns reported by our Dynatrace ... More >

Fighting Technical Debt: Memory Leak Detection in Production


Thanks to our friends from Prep Sportswear who let me share their memory leak detection story with you. It is a story about “fighting technical debt” in software that matured over the years with initial developer’s no longer on board to optimize/fix their code mistakes. Check out their online store and browse through their pages – especially cool are the product details pages where they use some really nice server side rendering to show you the final customized product you ... More >

Tibco Business Events Entity Cache Performance Trap


Thanks again for another great story from A. Alam - a performance engineer working for Infosys Ltd. who conducts large scale load tests for a very large enterprise. Mr. Alam and team shared this story from a JMeter load test they ran in their production Tibco Business Events environment. The load test was meant to verify performance of item availability system which manages rest calls and large scale Inventory Changes of ecommerce, mobile apps and retail stores. Using ... More >

The Art of DevOps Part IV – The Operational Battlegrounds


In this 4 part blog series, I am exposing DevOps best practices using a metaphor inspired by the famous 6th century Chinese manuscript: “The Art of War”. It is worth reminding that Sun Tzu, just like me, considered war as a necessary evil, which must be avoided whenever possible. What are we fighting for here? Ultimately, we’re fighting for the absolute best services and features that we can deliver to our customers as quickly as we possibly can, and to eliminate the “War ... More >

Java Performance Impact by Dynamic Class Loading


If you follow my blog posts you know that I am a big fan of metrics as they tell us what’s going on in our application and even with a single integration, unit or manual test we can uncover architectural issues that will not allow your app to scale. Thanks to A. Alam – a performance engineer working for Infosys Ltd. who conducts large scale load tests for a very large enterprise – I am adding a new metric to my list: # of Dynamically Created Classes. During a load test Mr. ... More >

Functional Test (R)Evolution


In the last couple of weeks I had the chance to meet a lot of testers in different cities and at different events. To name a few: TestExpo in Copenhagen, STPCon in San Diego, Grand Rapids Testers and Sydney Testers Meetup. I presented my idea of a performance metrics driven approach to software engineering across the lifecycle. I want testers to level-up their skill set and not only test for functional correctness but look behind the scenes and look at things that might seem ... More >