Today’s lesson in Applied Cosmology: dimensions and degrees of freedom In physics, Minkowski spacetime has 4 dimensions (3 spatial dimensions and 1 time dimension), expressed as X⁴. In curved spacetime, the number of degrees of freedom for X⁴ is the number of parameters to specify this model: fourteen (14).
- 4 coordinates for identifying a point in spacetime (x, y, z, t)
- 3 rulers in the space dimensions to measure distance
- 1 clock in the time dimension to measure duration
- 3 protractors (x-y, y-z, z-x) to measure the angle of each space dimension with respect to the other space dimensions
- 3 protractors (x-t, y-t, z-t) to measure the angle of each space dimension with respect to the time dimension
In the same way, we wish to identify configuration dimensions with respect to separation of concerns. The number of separate concerns is the number of dimensions.
Within each dimension, each concern has many parameters. The number of dimensions is modest (fewer than a dozen?), while the total number of degrees of freedom (parameters) is large (hundreds?).
For example, the horizontal scaling dimension is parameterized for the platform and infrastructure by the number of worker nodes in a cluster. Within an application component (e.g., deployment or statefulset), horizontal scaling is parameterized by the replicaset scale.
The vertical scaling dimension is parameterized for the platform and infrastructure by the compute shape (cpu architecture, cpu, memory, boot volume) of each worker node. Within an application component, vertical scaling is parameterized by the cpu, memory, and storage requests and limits of each container within the pod template. Other dimensions of interest are:
- high availability
- disaster recovery
- workload complexity
- workload scale
- workload isolation
- security isolation (and many more)