projectkudu/kudu

Add support for better compression formats in zipdeploy API

Closed this issue · 1 comments

Current zipdeploy API uses ZIP archives which are far from optimal or modern compression. In particular, ZIP files compress files individually. Using a more modern format which allows for compressing multiple files together ('solid archiving' or 'deduping') allows for massive space/network traffic savings. For example, a webjob heavy deployment of mine could reduce artifact size from >220M to <9M if 7z is used instead of zip **.

This is in line with ecosystem support and recent developments:

  • Azure Devops already supports compressing to 7zip:

https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/archive-files-v2?view=azure-pipelines#inputs

  • Windows 11 update adds support for other formats (like 7zip and rar) besides zip via libarchive.

https://blogs.windows.com/windowsdeveloper/2023/05/23/bringing-the-power-of-ai-to-windows-11-unlocking-a-new-era-of-productivity-for-customers-and-developers-with-windows-copilot-and-dev-home/

** Comparing default Azure devops artefact to 7-zip compression with maximal settings. 7zip beats zip however on every setting. RAR maximal settings is about 8M too.

Hi

If the problem persists and is related to running it on Azure App Service, please open a support incident in Azure:
https://learn.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request

This way we can better track and assist you on this case

Thanks,

Joaquin Vano
Azure App Service