During the annual Edge Conference in Las Vegas, Akamai introduced the latest version of Ion.
Akamai Ion can help you deliver rich, personalized experiences to your users faster and more easily than ever before, using Akamai's machine learning engine to determine optimizations from real user behavior. This effortless browser performance feature is called Adaptive Acceleration, and with this release it just got better. It now comes with an even smarter learning engine, and a new feature called Resource Optimizer, all to make going faster even easier. We are also introducing Script Management, available in the beta channel.
What is the strategy behind Adaptive Acceleration?
How are we doing this?
Adaptive Acceleration enables effortless performance, using machine learning to determine optimizations from real-user behavior.
How do I enable it?
This is a simple on/off configuration. As Adaptive Acceleration gets great new features graduating out of the beta channel, these will be added to the existing behavior.
Which products include it?
Adaptive Acceleration is available in all Ion versions: Standard, Premier, and Media Advanced.
The heart and core of Adaptive Acceleration is the learning engine. This radical new approach enables the system to understand how a site is composed, largely replicating what a performance engineer would do looking at a waterfall.
How does it work?
The learning engine uses real-user data to automatically apply optimizations. Using our built-in Real-User Monitoring (RUM) data, the system uses both Navigation Timing and Resource Timing beacons to understand all of the resources, when they were needed, and by which user-agent.
This approach looks at your site several times a day, to adapt to changes in the site or user behavior. Using RUM data also circumvents issues for other analysis techniques like logins or cookies, which can block analysis and create false conclusions.
With the latest release is the ability to understand the critical path, and separate analysis by user-agent:
- By understanding the critical path resources, the engine can focus on the key resources needed to render faster by excluding things that are not critical. For example, we can ignore print style sheets.
- The second area is analysis by user-agent; this allows the learning engine to look at how a site behaves for mobile and desktop variants of the same site.
Ultimately this means different optimizations can be applied for these different users.
Automatic Push and Preconnect
Available with our first release of Adaptive Acceleration, this enabled users to time travel - since the learning knows what will be needed on the page, we can proactively apply optimizations.
The first optimization is to push resources we know will be needed to render the page, and secondly create connections to 3rd parties we know will be required. All of this leveraged time where the browser and network were normally idle, to improve start render and the overall web experience.
What is Automatic Push?
What is Automatic Preconnect?
Script Management, now available in the beta channel, leverages the learning engine to understand all of the scripts on the site. This includes key insights into their impact on web performance, and simple tools to take actions to mitigate their impact.
Just enabling Script Management will also automatically protect your pages from unresponsive 3rd parties, what's typically called single point of failure (SPOF). When 3rd parties are not responsive, Adaptive Acceleration will automatically defer the script, allowing the page to continue loading.
Which products is this available?
Adaptive Acceleration is available with Ion, Ion Premier, and Ion Media Advanced today.
What else do I need enabled for Adaptive Acceleration?
Secure Delivery, and turning on RUM for the learning engine. You'll also need the Beta Channel for Script Management.
Anything specific for Automatic Push and Preconnect?
You will need HTTP/2 enabled for Push.
Anything specific for Resource Optimizer?
TTL for static resources greater than 1 hour.
Anything specific for Script Management?
Add the Beta Channel via the marketplace, or contact your partner/sales rep.
How do I see what Adaptive Acceleration is doing on my site?
You can use the Adaptive Acceleration reports found under the Monitor Menu. Simply navigate to the property you want to monitor and then select Monitor->Adaptive Acceleration
I'm not seeing what I expect to be pushed or preconnected?
Go to the Push and Preconnect report under the Monitor menu; this will show you all of the optimizations applied across the configuration. For a deeper understanding from the learning engine, select the "Warnings" screen in the upper-right corner; this provides key insights into the top 3 issues as follows
1. Origin blocked requests: The final step to ensure a resource should be pushed, is to request it from Adaptive Acceleration to ensure these are reachable without cookie or login. This ensures we aren't pushing private data. Other mechanisms can interfere here, like geo-redirects or origin firewalls.
2. Certificate issues across sharded domains: HTTP/2 Push does not support pushes from different domains, unless the base page is authoritative for that domain. This means the certificate must list the resource domain on the SAN, or resolves to the same slot and IP.
3. Not enough beacons: Since the learning engine depends on beacons, insufficient beacons means decisions cannot be made. You can use the RUM tools to determine how many beacons are being collected by page. You will need roughly 100 per day.
I'm not seeing brotli resources after enabling resource optimizer on my site?
Brotli is only supported by the latest browser over https. If you are using a supporting browser, check your configuration for warnings; there are features which will disable Brotli. Lastly, verify that these are resources which are cached for more than 1 hour.
How do I know I am getting zopfli resources?
A zopfli compressed file is a gzip file that is on average 5% smaller than the gzip file; compare the size of the original with the optimized version served on the site.
I'm not seeing any scripts listed in the Script Management? I'm not seeing scripts on a specific page?
Script Management depends on RUM data to create the insights. Please make sure RUM is enabled and check that you have data for the last 12 hours in the RUM reports.
How do I know if Script Management is working for my site?
Script Management uses Service Worker technology on the client side. In order to function properly, the script management service worker has to be properly loaded and installed by the browser. Currently, the Script Management Service Worker does not install when a page has an existing Service Worker installed.
Feel free to post to the community, reach out to your Akamai team, or email A2firstname.lastname@example.org