Not all problems are worth solving.
I recently moved several websites1 to a new server. Not just a new server, but a new server using different technology, in a different location, and with different software.
Lots of different… which implies lots of mistakes, lots of fixing things, and lots of learning.
One of my takeaways isn’t really new to me, but it’s something I think is easy for many people to overlook.
Sometimes, ya just gotta start over.
Become a Patron of Ask Leo! and go ad-free!
In setting up a server, I chose to uninstall a piece of software that wasn’t necessary — or so I thought. I spent a little time investigating how to get what I needed re-installed, but after some time, I realized it would be faster to simply start over with a clean slate. As daunting as it feels, sometimes starting over is faster in the long run, and often more likely to succeed.
Ignore the geek
This is another story where the details are deeply geeky.
Ignore the details. They’re present only to give this lesson a little structure.
Don’t get lost in the details. The story still applies to you.
Amazon Web Services
By now, I’m sure you realize that Amazon is more than a bookstore. Most interesting from our perspective is that it’s a technology heavyweight. An incredible number of websites and services live on the computing equipment — the “cloud” — that Amazon sells to companies to use.
AWS — Amazon Web Services — is a wonderfully rich set of technology that can do an amazing amount of stuff. Their model is “pay as you go” rather than a monthly commitment, so it’s a perfect environment for testing, proofs of concept, and for services whose needs are constantly changing.
It’s also incredibly geeky. Seriously geeky. It requires a commitment to get your brain around how the system works.
If you’ve had experience setting up a website at a shared hosting company, you’re nowhere near ready enough. Have you deployed a virtual private or dedicated server? You’re getting closer.
I wanted to learn.
Setting up a server
Skipping over all the initial head-scratching getting my first server up (which now hosts things like my personal blog, NotAllNewIsBad.com, and other sites), it was in setting up my second server when I ran into difficulty.
I set up a site. It worked great.
I set up a second site. It worked great as well.
The third site? It worked well, but unlike the first two, it also needed to send email. And email failed: it could not, would not, send email. No matter how hard I tried, no matter what research I did, I couldn’t coax it to do so.
I did have a clue, though.
Email, malware, and spam
The default configuration for the server — an Ubuntu Linux-based machine — included email-processing software, but also included an anti-malware scanner and an anti-spam scanner.2
My experience on the first server was that the anti-malware scanner was a memory hog that caused the machine to crash periodically. I disabled it on that server and uninstalled it on the new one. (Since I process all my incoming email with Gmail, these server tools were redundant anyway.)
The uninstall turned out to be a mistake.
The problem was that even though the scanner is used on incoming email, uninstalling it also removed a component used when sending email.
OK. Fair enough. So we just reinstall it, right?
Figuring out that it was a side-effect of the uninstall that was at fault was a time-consuming bit of research. Now I had to figure out either:
- How to reinstall a component I didn’t really need, hoping that the required component I did need would return
- How to reinstall just the component I needed
To be clear: I have no doubt whatsoever that both are possible.
What I didn’t have was patience. After searching for more how-to’s and trying to filter the relevant from the useless, I threw my hands up.
I knew of one probably-faster solution that was guaranteed to work.
Server number three is born
I started over with a new server.
This time I did not uninstall the scanner. I left it in place and disabled it instead, as I had on the first server.
I set up the third site (something I was getting really good at, with so much practice), and sure enough, email worked without a hitch.
I moved the first two sites to the third server (again, something that became so much easier with each round of practice), and I finally reached my destination: all three sites on the server, all working.
I turned off the second server with the uninstalled components.
The lesson learned (or reminded)
Problem-solving can be difficult, time-consuming, and frustrating. I hear it from my readers, but I also experience it myself. I work with technology, after all.
There are also few guarantees that the process will be successful. I’ve certainly spent many hours tracking down a problem, only to give up in tired frustration.
Starting over seems more daunting, but often it isn’t.
We know that starting over will take some time. It’s difficult to justify when a problem’s solution should be quick and easy.
Except, of course, when partway down the path to a solution we realize it’ll be neither quick nor easy.
In my case, that meant building out a new server with a certain setting left untouched. In your case, it might mean reinstalling an application, or even reformatting and reinstalling Windows itself.
It can sound really daunting, I get that, I truly do. It can be a lot of work.
But sometimes it really is a faster solution with a much higher chance of success in the long run.
Depending on the problem you’re faced with, keep it in mind.
Subscribe to Confident Computing! Less frustration and more confidence, solutions, answers, and tips in your inbox every week.
I'll see you there!