Anyone writing code has probably seen a bunch of references to Docker by now. It’s like this new toy that’s all the rage, but for people like me — where picking up new things takes a crap-load more work than it used to — the general reaction is “I’ll learn that when it’s unavoidable.” Alas, a few weeks back it became unavoidable, and I’m here to report back.
If you’re even mildly inquisitive, a quick scan of Docker says a lot about containers and it’s pretty obvious that a container is some kind of virtual environment, but there’s not much that tells you why you should give a damn. I’m going to try to fix that. I’m not going to describe how to use Docker here, just what it’s for. There’s lots of great resources on making use of it elsewhere.
If you got into development in a time when your workplace had a nice air-conditioned room with raised floors and racks of servers and keyboard/console switches, then this post is for you.
The TL:DR on this is the learning curve here is a lot less than it seems at first, and the flexibility it gives you to set up and change configurations is truly powerful. Invest a few days in learning the basics and you can build, rebuild, and reconfigure virtual server rooms that significantly reduce the amount of time needed to maintain your own local environment. As a common example, if you’ve ever sworn at LAMP/ XAMP / MAMP configurations only to start from scratch or if you’ve tried to get two versions of just about anything running on the same system, then Docker definitely is for you.
[Ed. Note: this was originally published on a now-defunct site in 2013. Republished (and back-dated) here because seven years later people are still running old versions of Joomla 1.5! Also, Joomla is still a far better CMS than WP. WordPress is like the Microsoft of CMS systems… everyone is using it, but not because it’s the best solution.]
According to W3Techs, as of the beginning of July 2013, 63% of all Joomla sites are running version 1.x. Of these, some 92% are running version 1.5. That works out to a rather large 58% of all Joomla sites running 1.5! The other 5% are mostly version 1.6 and 1.7. [Aside: if your site is one of those 5% please just upgrade now. It’s not going to be that painful and you are a sitting duck for hackers. By “now” I mean stop reading this and go upgrade. Seriously.]
So why is the number so high? There are usually a long list of factors, and most of them are valid. Here are the ones I hear regularly:
Simply porting the site is going to be a lot of work.
We just did our site a few years ago and don’t have the budget for it.
Things we rely upon didn’t make it to 2.5.
We hate change.
The site is outdated; if we’re going to update it we want to redesign it and that’s a big job.
There’s no reason to upgrade (AKA “if it ain’t broke, don’t fix it”).
You’re only telling me I need to upgrade because you want more business.
Every web site is different, so each of the reasons above can be more or less relevant depending on circumstances. At one end of the spectrum is the hobby site that generates no revenue, and doesn’t have much traffic. A site that could be off line for a few weeks or months and not suffer. I’m going to exclude them from this discussion.
For everyone else, the question to ask is “what’s the cost of having my site suddenly go to an ‘under construction’ page?” What’s the monetary value? What’s the value of lost reputation? Take a serious look at your situation and try to come up with a reasonable number. Compare this with the cost of upgrading your site. If the numbers are close, it’s probably a good idea to start budgeting. If the cost is significantly higher than upgrading, find the budget now because it’s time to start planning!
Here’s the key issue: the technologies that Joomla uses, most significantly PHP, are also changing over time. This chart illustrates the problem for Joomla 1.5:
Runs Joomla 1.5?
Unsupported, past end-of-life, no updates.
End-of-Life cycle started March 2013, critical updates only.
Supported (available as of June 2013).
To put it clearly: there is no currently supported version of PHP that will run Joomla 1.5! While that shouldn’t be panic-inducing, it is not something to be ignored. There’s a lot of code out there (not just Joomla) that will have problems running under PHP 5.4, and lots of hosting companies will continue to support it, including Abivia. But – and this is a big one – sooner or later your host is going to send out a notice saying that they’re moving to PHP 5.4 or 5.5. Depending on the host, you’re likely to get anywhere between a week to 90 days notice. Even at 90 days, that’s a pretty tight timeline for a mid-range site, particularly if you want to throw in a redesign at the same time.
This problem is made particularly challenging by the fact that the PHP folks chose to stick with the same major version number, even though they made some major changes to the language. There are some hosts who are just now retiring PHP 4. This was made possible because hosts could run PHP 4 in parallel with PHP 5. By not making recent versions PHP 6 and PHP 7, this mechanism is no longer available. If a host wants to support 5.4, they have to drop support for 5.3 at the same time.
So put your finger on the calendar a month from today, whatever day you happen to be reading this. Imagine that at the same moment you’re doing that, you get a notice from your host saying “PHP 5.3 will not longer supported after…” and substitute the date under your finger. If that makes you uncomfortable, then it’s time to start planning your upgrade!