Martin Goodwell

Martin is a member of the Dynatrace Innovation Lab and works as Tech Lead for Azure and Microservices technologies. Before joining Dynatrace, he worked as a Lead Software Developer and Architect on Java web applications for about a decade. Besides that, he is dedicated to software architecture, retro gaming and running.

Martin Goodwell's articles

Easy Azure monitoring with the Dynatrace VM extension

The Azure VM Extension Gallery makes extending your virtual machines with additional functionality a matter of a few clicks. Following is a brief explanation of how to find the required information you’ll need to set up the Dynatrace OneAgent Azure VM extension. Please be aware that Azure VM extensions are available via the new Azure Portal only. Installation Generate PaaS Token The first step is to get your environment ID and generate a PaaS… read more

4 Azure secrets you’ll be glad to know about

While AWS has ruled the cloud computing market since 2006, Microsoft is increasingly gaining traction with its Azure offering. Azure’s key differentiator is not the number of services it offers—it’s the extension concept it offers that makes the difference. Extensions make it easy to add value to your deployments—whether they feature Infrastructure-as-a-Service (i.e., virtual machines) or Platform-as-a-Service (i.e., website-only deployments). Secret #1: Azure Site Extensions Azure Site Extensions allows you… read more

Hystrix and Eureka: the essentials of self-healing microservices

Microservices-based environments are more complex than their monolithic counterparts. To operate microservices environments with the same level of convenience that you’ve come expect from operating self-contained monolithic application environments, you need to have the right tools in place and rely on best practices that will keep your microservices healthy. We’ve noticed an increasing number of microservices environments deployed by our customers, and the trend only seems to be increasing. We… read more

Boost Java application performance (almost) automatically

Is it possible to speed up a complex Java application by more than 10% in a few simple steps without changing code? Yes, if you configure your Java VM correctly. One of the most resource-intensive components of a Java VM is the garbage collector (GC) which automatically reclaims unreferenced objects and makes their memory available for further allocation. With millions of objects to be reclaimed at a time, your application… read more

Why application monitoring works better without alerts

If you've spent any time managing and monitoring software in the cloud, you probably know how annoying alerts can be. I'm here to tell you that alert-less monitoring does exist. One of the most important factors of application monitoring is setting up alerting-thresholds correctly. Unfortunately, if they're not set up correctly, you'll be spammed by countless alert emails. Being the performance hackers we are, we didn't want to wait until someone else found a solution for this problem. We decided to get rid of production alerts and it was one of the best decisions we've made. By the way, we also ditched the need to manually configure thresholds (of course, you're still able to configure them if you want to). No matter whether you're operating an environment in the classical sense or whether you're DevOps, we'd love to hear your thoughts on our approach. read more

How to achieve outstanding performance with MongoDB monitoring

The saying “Databases are easy to get started with but hard to master” is as valid today as it’s ever been. MongoDB monitoring done right is key to success as it allows you to get answers for the most important questions, like load characteristics and distribution. Although MongoDB comes pretty much ready-to-run out-of-the-box, the challenges in mastering MongoDB are no different than that of any other database product. The firsts step… read more

The era of servlet containers is over

In Java Land you have servlet containers like Tomcat and Jetty to serve your web applications. But with recent non-Java approaches like Node.js and Go providing their own built-in servers, you might conclude that built-in servers are the way to go for Java as well. This post explores why servlet containers are built the way they are and why there’s little… read more

How to load-balance microservices at web-scale

There’s no shortage of guides and blog posts available to provide you with best practices in architecting microservices. While all this information is helpful, what doesn’t seem to be available in such a great number are hands-on guidelines regarding how microservices can be scaled. Following a little research and sifting through lots of theoretical discussion, here is how load-balancing microservices is done in practice by the big… read more

How to distribute a database among microservices

In my earlier days as a software developer – long before joining Ruxit as a Developer Advocate – we shared a database between two projects the wrong way. This is about how one bad decision taught us two important lessons. A couple years back I was working as lead developer of a team working on a Java web application for a client. Let’s call this “Project A.” We were building the… read more


Getting into the topic Gene Kim’s blog “IT Revolution” is one of the most popular starting points on the topic. Basic questions of the DevOps world are answered in a short and understandable way within the “Top 11 Things To Know About DevOps”. The oft-cited blogpost DevOps Convergence by John Willis is also a must read if you’d like to know the history of… read more