This chapter describes the structure of appliances and assemblies in Oracle Virtual Assembly Builder, and contains the following sections:
An appliance is a set of self-contained virtual disk images with all the software to run a single instance of a single component. An appliance includes appliance configuration, appliance binaries, and an operating system (Figure 4-1).
Appliance configuration is captured during introspection of the appliance, and includes introspection properties, system and user properties, file sets, and optionally, customized scripts and properties files.
Appliance binaries are software binaries included in the appliance. These include both the container or product binaries as well as the configured customer application binaries.
A customer provides the operating system base image for the appliance, which may be based on a Logical Volume Manager (LVM) template. For Exalogic, you should use only the base template that is supported for the environment. Oracle Virtual Assembly Builder has requirements for the base image which are documented in the installation guide. Oracle Virtual Assembly Builder publishes several sample base images.
Appliances can be grouped, and their relationships defined into artifacts called software assemblies which provide a blueprint describing a complete multi-tier application topology.
Assemblies include appliances, as well as references to external systems which represent infrastructure such as databases, servers or security providers that cannot or should not be included in an assembly.
This section describes structures introduced for Oracle VM 3.0 deployments:
The following alphabetical list of terms are defined:
anti-affinity: placing multiple instances of a particular appliance across different physical hosts in a target, with even distribution of instances across physical machines.
NIC: network interface. A NIC may only be connected to one Vnet.
shared file sets: file sets shared with individual appliances within assemblies.
Vnet: virtual network. One or more NICs or vNICs connect to the Vnet.
vNIC: virtual network interface. A vNIC may only be connected to one Vnet.
zero-count appliance: an appliance initially deployed with zero appliance instances.
Creating a new assembly automatically creates one Vnet for that assembly. That Vnet is the default virtual network for the assembly and represents an actual network in the deployment environment. You can create additional Vnets (if you have additional networks in your deployment environment), or delete ones that you have created. You can bind network interfaces on appliances to a Vnet during assembly editing.
If supported by the underlying infrastructure platform, you can specify that file sets be shared with individual appliances within assemblies.
You can initially deploy an appliance with zero appliance instances. However, in subsequent scaling operations you could add appliance instances to those appliances that are part of the assembly configuration but were initially "deployed" with a zero-instance count. Only appliances that no other appliance in the assembly references can have a zero-instance count. This means no other appliance depends on it or connects to any of its inputs.
anti-affinity-min-servers property is set to a value other than 0, anti-affinity is enabled for the appliance; otherwise, anti-affinity is disabled. When anti-affinity is enabled, the instances of the appliance are placed on separate nodes, up to the number of nodes available.
If the number of instances is equal to, or less than, the number of nodes, each instance is placed on a separate node.
If the number of instances is more than the number of nodes, a failure occurs.