Success, Complacency, and Musing about Software Tests and Dirty Laundry

Success, Complacency, and Musing about Software Tests and Dirty Laundry

If you were to create a list of the 10 most important inventions in humankind, you’d probably come up with things like:

The printing press

Transistors

Radio

The Internet

These all represented foundational leaps in human evolution, allowing us to do amazing things.

But you know what also deserves to be on this list?

The washing machine.

Bear with me.

Prior to this world-changing invention, cleaning one’s clothes required huge investments of time and effort. And more often than not, women were tasked with this responsibility.

When the washing machine came along, however, all those wasted hours were suddenly freed up. And society benefited from a near doubling of human potential – since women could use this free time for more important things.

Most of us are too young to truly appreciate how revolutionary a shift this was. But something that was time-consuming and arduous could now be done with a few clicks of a button.

We have a tendency to forget about the struggles of yesterday once things become easier or more stable today.

We become complacent.

And this trend isn’t just limited to household chores.

We also see it in other areas – even software testing.

Keep reading.

The Challenges of Maintaining 100% Server Uptime

If you check the Status Update page for our 10 data centers spread around the globe, you’ll notice that the last server update is from December 2015.

That’s almost 2 years ago.

And with a gap like that, you could reasonably believe that Testuff is no longer monitoring its servers. We’ve become lazy. After all, if you visit a defunct open source project, pauses of this length usually indicate that the developer has long since vanished.

But with our servers, this isn’t the case. In fact, the absence of recent status updates is actually a good thing.

We haven’t forgotten anything.

We’re not suddenly lazy or indifferent.

The reason we haven’t updated our server status is because all 10 of our data centers are always up and running.

We’re incredibly proud of this uptime – especially since there was never any guarantee we’d ever reach this point. When Testuff launched 10 years ago, 100% uptime was far from a certainty for any company. But it was particularly challenging for a small startup like ours. And quite naturally, many of our earliest customers had doubts:

They had concerns about availability.

They had questions about reliability.

They had worries about disaster recovery.

And to allay these fears, we often had to provide detailed service level agreements (SLAs) – coupled with monthly and yearly reports.

The Ease of Maintaining 100% Server Uptime

Keep in mind that all this was still in the early days of the cloud. And thus, the above concerns were perfectly understandable. To be honest, we shared many of these concerns as well, given how new and untested cloud infrastructure was at that time.

And trust us when we say that maintenance was a huge headache back then.

We were – in effect – washing our dirty laundry by hand. It was a painful, arduous, and time-consuming process.

But today, these problems no longer exist. In fact, maintaining 100% server uptime is incredibly easy.

This transition wasn’t automatic. It took us awhile to reach this point. But by building redundancies and testing out different approaches, we were able to develop a streamlined formula that offers far more benefits – all for a fraction of the time and effort.

After years of working with carefully-selected hosting providers, we know how to keep our servers running continuously.

Scheduled maintenance is a breeze. There may be backend modifications that require a few minutes of downtime. But the end-user never experiences any disruption whatsoever.

Ongoing maintenance is exactly that – i.e. ongoing. But it’s also completely invisible to our end-users. You’ll never see the hardware and software upgrades we’re implementing behind the scenes. You’ll never know about our switching servers or hosting providers.

Our 24/7 monitoring is also hidden from view – despite the fact that it happens around the clock. The same is true of our hourly data backups. And we also routinely conduct disaster recovery exercises to make sure we can seamlessly transition customers to new servers in case of emergency.

Nowadays, it all seems so easy.

And it is.

But the road that brought us here wasn’t smooth. It took a tremendous amount of time, effort, and resources to develop the template we have today.

However, it was totally worth it.

Because we’re able to guarantee 100% server uptime to our users, our users are able to devote 100% of their attention to software testing.

All of this is so automatic and familiar that even we sometimes forget to celebrate how amazing an achievement this is.

And that is the power of complacency. You get so used to monumental successes and modern conveniences that you gloss over those earlier struggles.

This is as true for washing clothes as it is for testing software.

What about you?

Have you ever obsessed over a seemingly impossible or insurmountable task – only to realize many years later that this task is now super routine?

Or perhaps there are still aspects of Testuff that consume a disproportionate amount of your time and energy. Are there areas we could improve to make your life easier… and more complacent?