Layers
v1.0 · in consultationDeployment & Runtime (RUN)
Layer RUN of Public Framework Modelling Language 1.0 answers the question “Where and how does it run?”. This page describes the layer's concepts, how they relate, and its 16 element types.
Describes specification v1.0
What the layer describes
The RUN layer answers the question “Where and how does the software run?”. It describes execution: topology, configuration, storage and resource allocation. Physical equipment (PhysicalEquipment) and its placement belong to HST.
Concepts and how they relate
An environment (Environment) belongs to the location family. For that reason it may compose any element, for example its clusters (Cluster) and nodes (Node). The relationship is “composes” (composition). In turn, a cluster may compose its namespaces (Namespace), because both belong to the structure family.
A workload (Workload) realises an application container (ApplicationContainer) from APP through the “realises” relationship (realisation). A deployment (Deployment) records the installation of a release (Release) in a runtime context. Releases, artifacts (Artifact), workloads and deployments are deployed to an environment, a cluster, a node or a namespace. The relationship is “is deployed to” (deployedTo).
Where needed, a workload accesses a storage resource (StorageResource), a configuration set (ConfigurationSet) or a secret (Secret) through the “accesses” relationship (access). A network (Network) belongs to the location family and may compose its subnets (Subnet) and network zones (NetworkZone).
Where needed, clusters, nodes and managed services (ManagedService) are hosted by another element, through the “is hosted by” relationship (hostedBy). The target is a data centre (DataCentre), a cloud region (CloudRegion) or a hosting provider (HostingProvider). In this way a node links to its host without repeating rack placement properties.
Element types
The layer has 16 element types, in these families: structure (5), service (1), behaviour (1), access (1), information (3), store (1), location (4). Each type's own fields are listed under its definition; the fields common to every element are described under the core concepts.
EnvironmentEnvironment · location familyA named operating environment for deployed software.
Key attributes:kinddataClassificationregionhorizonProfiledeclaredKindpurposeClusterCluster · structure familyA group of runtime resources operated together.
Key attributes:platformversionregionhorizonProfilekindexternalReferencenodesenvironmentscontrolSoftwareNodeNode · structure familyA runtime execution node, distinct from its physical equipment.
Key attributes:kindoperatingSystemcpumemoryregionhorizonProfilecomputeKindhostnameexternalReferenceruntimeSoftwarehostedByenvironmentssubnetsphysicalEquipmentNamespaceNamespace · structure familyA logical runtime scope used to organise or isolate workloads and resources.
Key attributes:regionhorizonProfilekindidentifierclusterenvironmentparentScopeWorkloadWorkload · structure familyA runtime unit of application execution.
Key attributes:kindreplicascpuLimitmemoryLimitregionhorizonProfileenvironmentinstanceKindexternalRuntimeIdinstantiatesrunsOnscopepersistsDeploymentDeployment · behaviour familyA record of placing a software version into a runtime context.
Key attributes:deployedOnstrategystatusregionhorizonProfilereleasedefinitionenvironmenttargetdeploymentStrategyinstancesconfigurationsdesiredReplicasobservedReplicasreplicaObservedAtcapturedReleaseIdEndpointEndpoint · access familyAn address or access point through which a runtime service is reached.
Key attributes:addressprotocolexposureNetworkZoneNetwork zone · location familyA runtime network segment with a defined trust or access boundary.
Key attributes:trustLevelregionhorizonProfilezoneKindpurposeenvironmentsNetworkNetwork · location familyA network that connects runtime resources.
Key attributes:cidrManagedServiceManaged service · service familyA runtime capability operated as a managed service.
Key attributes:kindtierConfigurationSetConfiguration set · information familyA group of configuration values used by a runtime deployment.
Key attributes:sourceregionhorizonProfileofversionconfigHashdefinitionSecretSecret · information familyA model record describing a sensitive runtime credential or value.
Key attributes:storerotationPeriodConfigTableConfig table · information familyStructured runtime configuration represented as rows and values.
Key attributes:NetworkDeviceNetwork device · structure familyA network device represented in the runtime topology.
Key attributes:regionhorizonProfiledeviceKindimplementationKindexternalReferenceproducthostedByenvironmentszonesphysicalEquipmentStorageResourceStorage resource · store familyA deployed storage resource used by runtime workloads.
Key attributes:regionhorizonProfilestorageKindresourceIdentifierexternalReferenceenvironmentsallocatedFromSubnetSubnet · location familyA network subdivision used to organise runtime addresses.
Key attributes:regionhorizonProfileprefixzoneroutingDomainvlanIdaddressFamily
In the “Family support benefit” example
Figure 4.7 (page 34) shows the RUN layer in the example. The release “Benefits platform release 1.0”, from DEL, is deployed to the environment “Production environment”. The deployment “Benefits production deployment” records this installation and is deployed to the same environment.
The node “Benefits runtime node” is hosted by the data centre “Primary data centre”, from HST.
In its fields, the deployment names the release, the environment and the node it runs on; these links are not shown in the figure.
