December 16, 2016
You have probably heard about how awesome HTTPS and HTTP/2 are for your sites going forward.
If you haven't or if you need a reminder, check out this article for an overview of the key benefits.
You've probably already started down this path by installing certificates everywhere and setting up redirect rules to send everybody from HTTP over to HTTPS. Your IT team was all over this and had you covered no problem.
Now, it’s time for HTTP/2! You call up the tech department and ask them if you can have the awesomeness of multiplexing for your Sitecore instances.
“Sorry, no can do”.
What! Why can't I have my super-speed?
While HTTP/2 is supported by the most current browser releases of Edge/Safari, Firefox, and Chrome, the server also needs to support handling HTTP/2.
Sitecore’s software recommendations specify using Windows Server 2012 R2. Some versions will work on older Windows OS versions, but the Sitecore compatibility table does not yet include any server edition past 2012 R2.
Why does the operating system matter? I heard HTTP/2 runs on IIS?
Therein lies the rub. HTTP/2 support has indeed been developed by Microsoft for IIS, but specifically IIS version 10. It is now available on Windows 10 and Windows Server 2016 (not supported by Sitecore).
So even though HTTP/2 is available right now, your current Sitecore installation is most likely on a Windows Server edition that cannot support it.
You will probably note that Windows 10 is supported in the compatibility table, but there are very few organizations who will run production servers on a client OS. Until Server 2016 is supported by Sitecore, most IT departments will simply stop any attempt to upgrade the operating system.
What if I want to be on the bleeding edge?
If you do decide to push forward with HTTP/2 implementation, you’ll want to plan for a few things:
- New infrastructure for production. More than likely, you’ll want to keep your production sites up while you make this operating system upgrade. That means creating a mirrored environment which you will switch over to when you are ready.
- Training for Operational Staff. If your organization doesn’t already support Windows Server 2016, you’ll need your staff brought up to speed and be ready to support the new operating system once it goes live.
- Production application re-configuration. Depending on your configuration, the act of standing up a mirrored environment may actually contain some very complex networking, system configuration, and application configuration to support the mirrored environment. For example, if your CDs are currently configured to punch through to the CM via a firewall exception, you’ll need to mirror these network exceptions for the new servers as well.
- Deployment Pipeline updates. You’ll want to make sure your production deployment process still works with your new operating system. If you are leveraging any software that needs to communicate with the server or be installed on your instances then you’ll need to ensure your deployment software supports pushing to your new servers.
Reviewing the benefits of migrating to HTTPS and HTTP/2
Whether you're keeping HTTPS and/or HTTP/2 in mind for the future or are thinking of making these changes next week, I'd recommend this article for a reminder of how making these changes will improve site performance and speed, server efficiency, SEO search ranking, and security.
Some other related reading:
- Why you should migrate to HTTPS and HTTP/2
- HTTP/2 (High Performance Browser Networking, O’Reilly)
- HTTP/2 FAQ
- HTTP/2 on IIS
- Windows Server 2016 (Wikipedia)
- What’s new in IIS 10 (IIS.net)
- Sitecore Community discussion on HTTP/2 support