Service packages

Service packages contain all of the binaries, scripts, and extra files for the ASC services that are created from registering an application instance.

When you deploy an application instance that has packages, the packages are downloaded to the hosts belonging to the resource group; so all of the files are available when you start the application instance. The package is deployed to hosts in a resource group as follows, based on your application template definition:
  • If a resource group or resource plan (with details of resource groups) is not associated with a resource package and the resource package is not referenced by a service, the package is deployed to all resource groups.
  • If a resource group or resource plan is not associated with a resource package, but the resource package is referenced by a service, the package is deployed to the resource groups that is associated with the service.
  • If a resource group or resource plan is associated with a resource package and the resource package is referenced by a service, the package is deployed to all the resource groups specified by the resource package as well as by the service.

If multiple application instances use the same package on the same consumer with the same resource group or resource plan, and execution user, they all share the same deployment. If you redeploy an application instance that has a shared package, the package is not redeployed. As a best practice, if a package is unique to an application instance, add it separately for each application instance, instead of reusing the same one.

Before you register an application instance, if you want to define packages, you must find or create the following files:
  • Third-party binaries for the system, which are based on network accessibility of the target environment.
  • ASC scripts that contain all of the commands that are defined in the application template.
    Note: To specify the name of the application instance that has service packages, the following environment variable can be referenced in the deployment and undeployment scripts: APP_NAME.
  • The deployment.xml file and corresponding deploy/undeploy.sh files that tell egodeploy how to use the package.
  • If you are creating Dockerized services, you can use packages to deploy the Docker image to your Docker hosts when you deploy the application instance, rather than when you start it. You can either put the Docker image into a package, which depending on the Docker operation you use, loads or imports the image from a .tar file; or you can use a package install script to pull the image from a source, for example the Docker registry. For more information, see Docker overview.

You can view all the packages associated with application instances on the Application Instances > Packages tab on the cluster management console. You can also view details about the packages and update the package contents.