Windows Azure Package Format
Updated: June 7, 2012
To run an application as a cloud service in Windows Azure, you must package the application files into a .cspkg file. An application package, which is used to run the application as a cloud service, includes the application files and the service model files. Once the package file is created, you can upload the package file and the service configuration file to Windows Azure. In Windows Azure SDK version 1.6 and earlier, the package file format was undocumented. The package also had to be created on a computer running Windows and the Windows Azure SDK, and it was not possible to modify the package after it was created.
The long-term goal for Windows Azure is to enable the creation of a valid package on any operating system without requiring use of the Windows Azure SDK. As a first step towards this goal, Windows Azure SDK 1.7 introduces a new packaging format for Azure applications, and also fully documents this format. The SDK tools are still required to create packages in the new format. Packages in the new format, however, can be modified and repackaged without use of the SDK tools. This new approach uses a standard ZIP format, so a package can be opened on non-Windows operating systems. Enabling package creation without the SDK tools will require further changes to the platform as well as feedback from the community. The Windows Azure team welcomes your feedback and your comments on the new package format. Please submit feedback on the Windows Azure Development Forum.
For more information about the new package format, see OPC Archive Layout, XML Manifest File Format, XML Manifest File Schema, and Windows Azure Conventions.
Use the CSPack Command-Line Tool to package a Windows Azure application in the new package format. You can also use CSPack to convert a package from the previous package format to the new package format without any loss of information. The CSPack tool in Windows Azure SDK 1.7 now also includes two new options: /useCtpPackageFormat and /convertToCtpPackage. For information about creating a package in new format or converting an existing package to the new format, see Use CSPack to create a package in the new format and Convert an existing package to the new format.
The new package format enables developers to open, edit, and repackage a package on any operating system. For example, a CSS developer working in a large team uses a Mac as her primary computer. After deploying an application package to a staging account on Windows Azure, she notices a problem in the CSS layout. She is able to open the package on her Mac using standard unzip utilities, fix the CSS problem in a text editor, repack the package using standard zip utilities, and redeploy the application to the cloud. For more information, see Edit a package in the new format on Linux.
The new package format also allows developers to edit packages without using the Windows Azure SDK tools. For example, a Windows Azure application that has already been deployed connects to an external instance of SQL Server. If all of the application instances must be revised to point to another instance of SQL Server, the package revisions can be performed without using the SDK tools. A non-developer can download the application package from his team’s internal server, unzip the package, and then change the web application’s web.config file to point to the new SQL Server instance. If the application was packaged using Windows Azure SDK 1.6 or earlier, a developer can convert the package from the previous format to the new format using CSPack. After making the changes, he can zip up the package in order to repack it, and then update the application deployed on Windows Azure with this new package.