19th February 2020

AWS Elastic Beanstalk Platform Version Retirement

Updating your AWS Elastic Beanstalk platform versions should happen regularly, but even with regular updates you might occasionally need to migrate away from a retiring platform version.

Cloud development

What is AWS Elastic Beanstalk?

Elastic Beanstalk is Amazon Web Services' web application platform, designed for the deployment and scaling of web applications developed with server-side languages such as Java, PHP and Python.

We use Elastic Beanstalk as part of our AWS development and web application hosting, as it's well-suited for deploying PHP and MySQL web applications in the cloud, especially if they require load-balanced scalable capacity or multi-instance redundancy. Elastic Beanstalk is often our platform of choice when migrating a legacy PHP & MySQL application to the cloud from a more traditional Linux VPS server - we can leverage the service layer of Elastic Beanstalk to provide enhanced stability, scalability and reliability.

Your AWS Elastic Beanstalk Platform Version is Approaching Retirement

Amazon Web Services will send you alerts if it detects that an application hosted on Elastic Beanstalk is running a platform version that is approaching retirement. You may receive an email warning you of the platform retirement around 20 days before the retirement date.

This isn't a whole lot of warning time, so it's worth putting in place processes to make platform updates on a regular basis.

If you don't have in-house capacity for making the required platform updates, we'd also recommend contacting an AWS development agency such as Si Novi as soon as possible to assist with the migration.

Using Managed Updates with your Elastic Beanstalk applications

We use Elastic Beanstalks's own Managed Updates feature to provide regular platform updates for EB-hosted web applications. This automated service allows you to schedule platform updates and EC2 instance replacements on a regular basis. This keeps platform versions up-to-date and running the latest software. However it only permits minor and patch or patch-only updates.

Minor version updates include support for new Elastic Beanstalk features, while Patch version updates provide bug fixes and performance improvements, and can include minor changes to the EC2 instance software, scripts, and configuration settings.

The limitation of Managed Updates is that you can't apply major version updates, becasue a major version update might introduce changes that are backwardly incompatible, and therefore might inadvertently break your application.

This is the main reason why AWS issues notifications about Elastic Beanstalk platform version retirement - because a major platform update must be performed manually.

Screenshot of AWS Elastic Beanstalk console, chosing platform version

How to update your Elastic Beanstalk platform version before retirement

As experienced AWS developers with a range of web applications hosted on Elastic Beanstalk, we're accustomed to making Elastic Beanstalk platform updates.

Unfortunately updating retired Elastic Beanstalk platform versions isn't as easy as clicking a button. A new Elastic Beanstalk Environment must be provisioned using the new platform version, and the web application deployed to it.

At this point it's important to test the web application within the new EB environment to make sure it's operating normally and there are no incompatiblilies. For example, this could be an issue with newer PHP versions, where updating the EB platform version also requires an update to the PHP software version. PHP 7.1 has recently become end-of-life, and this has meant the retirement of Elastic Beanstalk platform versions running PHP 7.1. We like to regularly maintain web applications, updating PHP to latest versions so we're familiar with the typical updates required to make an application compatible with later version of PHP.

Once any required PHP or other application updates have been made, and it has been confirmed that the web application is running normally in the new Elastic Beanstalk environment (and on the new platform version), traffic can be diverted to the new server. This is usually achieved with a Blue/Green switch approach using DNS changes to point web traffic to the new EB environment. Done properly, your users should not experience any downtime.

What happens if I ignore my Elastic Beanstalk platform version retirement?

At first, not a lot. AWS say that once an Elastic Beanstalk platform version is retired, they will no longer issue patches or security fixes for these retired platform versions. This means that your EB environment and the web application hosted on it will continue to operate for some time following the retirement - but possibly at increased risk of reliability or security issues.

Eventually however, AWS may withdraw the platform version entirely which may have a severe impact on your application.

We'd always recommend working with AWS architects and developers such as ourselves to make the platform updates in plenty of time to ensure the continued operation of your web applications.

AWS development services

At Si Novi we develop bespoke web-based software, using using AWS components and web hosting. Our cloud development services include:

  • Serverless application development: Developing cloud-native serverless applications for cost-effective and highly scalable microservices, with AWS services like Lambda, DynamoDB and S3.
  • Cloud hosting for web and mobile applications: We deploy the majority of our workloads on the AWS Cloud, bringing scalability, security and reliability to our client's web-based software. Talk to us about the migration of web applications to the cloud
  • API development: Creating bespoke APIs using AWS API Gateway, Cloudfront and Lambda, and consuming existing API's with ELT processes to create data services.

Read more about the AWS Elastic Beanstalk: https://aws.amazon.com/elasticbeanstalk

Do you have any thoughts on this article? Get in touch: hello@sinovi.uk

about the author

James Galley

With over 10 years experience in the digital industry, building web applications and websites for businesses large and small - James knows how to produce web applications the right way. Recent projects include PHP web application security audits, legacy PHP application migration to the cloud, static site deployment and Node.js serverless applications.

contact us

We're here to help

Talk to us today about AWS cloud development. We operate as an outsourced technology partner for businesses - building and maintaining web and mobile applications with trusted web technologies such as PHP, MySQL, JavaScript, Node.js and React deployed into the AWS cloud.

Discuss your next project