Debian 9 OS was released a few months back, and we had been working on understanding the changes in the OS, including the various services, applications it had. We now have a good idea on what needs to be done to shift most of our projects to the new OS. We have also prepared a basic FAQ to help our clients understand this upgrade. In the next few weeks we are contacting all our clients who are currently hosting with us, and informing them of the costs involved including the timeline. Feel free to contact us at email@example.com for more details.
Q. Why this server upgrade is required?
Most of our servers current runs Debian 7 which has support till May 2018 (as per LTS (long term support) after which we will not get security updates anymore. This makes our server vulnerable and hence we are in the process to replace the servers with new servers with the upgraded OS. This is similar to how you would replace windows XP/7 with new version of windows. Along with the OS, its services, programming languages etc like Apache 2, PHP and MySQL versions also get updated.
Q. What are the advantage of Debian 9?
- More secure environment, and its software like PHP, Apache etc are all upgraded to the latest
- MariaDB instead of MySQL, see advantages (https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-features/)
- PHP7 has a number of improvements (aside from the obvious security) including higher performance and lesser memory use. https://www.eduonix.com/blog/web-programming-tutorials/10-reasons-why-you-should-upgrade-to-php7/
- Security updates officially supported till 2020, and with long term support this extends to June 2022 (which means the server is supported for 5 years)
Q. If this is an OS upgrade why do we need new hardware?
We buy the new hardware for 2 reasons
- First this ensures minimal downtime, and a possibility for us to revert back to the old setup if required.
- 2ndly the current servers are old and likely for the same monthly cost we will get better hardware.
Q. If this is an OS upgrade why do we need to update the website/service/project/code/database?
When you download some programs you need to choose at times if it's meant to run on windows 7 or 10 or XP. Similarly our database and code has been setup and developed keeping a specific version in mind, and we don't know in future, which command or which block of code may no longer work with the new updated OS and its updated software. We currently use PHP 5.4 whereas the new OS will have PHP 7 which is a major release and has quite a few changes e.g. some key functions don't work anymore and we need to replace them with alternatives, and test the system. Below are few examples
- Native driver of MySQL has been deprecated, MySQLi is to be used now.
- Eregi has been depreciated, preg_match will be used instead
- Methods with the same name as their class will not be constructors in a future version of PHP; constructors with same class name has been replaced with __construct()
- Existing mail class does not work on updated PHP giving a broken email, and will be replaced by third party php_mailer class
Q. PHP 5.4 to 7 - what happened to PHP 6? Did we forget to update it to this?
PHP 6 was never released officially. While PHP 6 was being developed there were a lot of documentation on PHP 6 that was released to the public. What the team finally released was different from the PHP6 documentation released earlier so to avoid confusion PHP 7 version was used.