How to migrate off PHP 5.3 with Zend Server on AWS

Rogue Wave Software provides long term support and ongoing maintenance for the certified PHP runtime environment distributed with Zend Server.

At this time, customers running Zend Server with PHP 5.3 on AWS (or anywhere else) should be aware that long term support for this PHP version will end March 31, 2017. The “PHP 5.5 – Zend Server Professional Edition (Ubuntu)” previously available on AWS will also end support on this date. As you consider migration options, it’s important to note that PHP 5.4 support will end later this year.

Are you ready to migrate?

For the best performance, we recommend migrating to Zend Server with PHP 7.0. However, for customers who wish to or must stay on PHP 5, rest assured, we’ll offer support for Zend Server with PHP 5.6 through at least the end of 2019. For more information about Zend Server PHP long term support, read here.

This blog will walk through migration options for both stand-alone servers and clusters running using CloudFormation.

Product selection

There are several product options available on AWS for Zend Server 8.5 with PHP 5.6 and Zend Server 9.0 with PHP 7.0 in Developer, Professional, and Enterprise editions running on either Ubuntu or RHEL operating system.

Following is a list of links to Zend Server products on AWS Marketplace:

To run new instances, you must be subscribed to the relevant product on AWS Marketplace. Additionally, for Professional and Enterprise editions there are AWS CloudFormation templates available for download. If you used the CloudFormation template generator on our website, you can use it again to generate a newer template.

Stand-alone server upgrade

Since Zend Server on AWS does not support in-place upgrades, we recommend preparing a new instance for replacement. The following is a generic procedure that may not cover all aspects of an upgrade. It is intended to be a good starting point for writing your own upgrade procedure and demonstrate the recommended way to upgrade Zend Server on AWS.

  • Subscribe to the relevant product on AWS Marketplace.
  • Launch a new instance of the new Zend Server.
  • Prepare, deploy and test existing website(s)/webapp(s) on your new Zend Server cluster.
  • Redirect traffic from the old instance to the new one.
    • If you use Elastic IP, you can switch traffic by reassigning the Elastic IP to the new Zend Server instance.
    • If your instance is behind an Elastic Load Balancer, simply replace the old Zend Server instance with the new one in the Load Balancer configuration.
    • If you update the DNS configuration, then you should update the relevant DNS entries and wait until changes are propagated. (This can take up to 48 hours.)
    • If you have another specific way to redirect traffic, use it.
  • We recommend backing up the old instance just in case. There are numerous methods to backup an AWS instance, but that topic is beyond the scope of this article.
  • Terminate old the instance and retest that everything works as expected.

Zend Server Cluster deployed using CloudFormation template

Cluster upgrades follow the same concept of stand-alone server upgrades: preparing a replacement and replacing the old cluster with a new one. Since cluster deployments, in most of cases, are much more complex than with a stand-alone server, it is important to say that this guide does not attempt to be all-encompassing, but only serve as a baseline. You should use steps below as a base for writing your own cluster upgrade procedure.

  1. Subscribe to the relevant product on AWS Marketplace.
  2. Download the new CloudFormation template, either from AWS Marketplace or our website using CloudFormation template generator.
  3. If you customized your template, port your changes to new template.
  4. Deploy new cluster.
  5. Prepare, deploy and test existing website(s)/webapp(s) on your new Zend Server cluster.
  6. Once ready, update the relevant DNS entries to point to the new Load Balancer. Take into account that DNS changes can take up to 48 hours to propagate.
  7. Once the switch is completed and tested, delete the old CloudFormation stack.

Need migration help?

If you’re unsure about the migration process, what you need to do, or need further assistance to make it happen, contact us to learn more about our PHP migration services. Our experts have years of experience in PHP migration projects to assist you with planning, architecting and delivering a successful application migration.

The following two tabs change content below.

    Dima Zbarski

    Cloud Integration Engineer at Zend Technologies