Jackie Liu

Brotli Support & Resource Optimizer Enablement on Akamai

Blog Post created by Jackie Liu Employee on Aug 18, 2017

What is Brotli?

Brotli is the name of a Swiss bakery product, a small, often round loaf of bread. However, we are not here to talk about that! Brotli is also a generic-purpose lossless compression algorithm developed by Google in 2015. It compresses data with a combination of the LZ77 algorithm and Huffman coding. Since then, major browsers have widely adopted this compression method, including Google Chrome, Microsoft Edge, Mozilla Firefox, Opera, and Safari.


Benefits of Brotli

Brotli algorithm is similar to Deflate in speed but offers denser compression. Its compression ratio is also considerably better than Gzip. Based on Google's summary in 2016:


  • Brotli outperforms gzip for typical web assets (e.g. CSS, HTML, JS) by 17-25%.
  • Brotli -11 density compared to gzip -9.
  • HTML (multi-language corpus): 25% savings.
  • JS (Alexa Top 10k): 17% savings.
  • Minified JS (Alexa Top 10k) 17% savings.
  • CSS (Alexa Top 10k): 20% savings.

*Alexa Top 10k refers to the top 10,000 sites ranked by one month of traffic according to www.alexa.com.


Brotli Enablement

So, how do we start using this feature? There are two ways to utilize Brotli in Akamai configurations.

  1. Resource Optimizer module: Akamai compresses the content with Brotli encoding on the edge.
  2. Brotli Support module: Akamai passes on and caches already Brotli-compressed content from the origins.


Let's take a look at each one of the modules in detail.


Resource Optimizer

What is it?

Resource Optimizer automates the compression and delivery of cached resources for websites and mobile apps, to decrease bandwidth and improve the web experience. Resource Optimizers uses Brotli and Zopfli compression to shrink resources from 5% to 15% over GZIP and delivers the smallest version depending on browser support.

How to add the module?

The Resource Optimizer module is a part of the Adaptive Acceleration feature in Ion configurations, including Ion Standard, Ion Premier, and Ion Media Advanced. If you are not currently using Ion, you will need to upgrade the configuration to Ion first. You can add this in the Market Place in Luna or reach out to your account team for help.


Brotli Support

What is it?

When enabled, this module allows the configuration to return Brotli-compressed assets from our customers' origins and cache them on edge servers. When both the Brotli Support and LMA modules are enabled, Akamai caches both the GZIP and Brotli versions of the resource.

How to add the module?

Currently, the module is available for all accounts that have added the beta channel to their delivery products. Please reach out to your account team for enablement details.

(Unlike Resource Optimizer, the product type does not have to be ION for Brotli Support Enablement.)