A Snowflake System - or Snowflake Server - is a system that is a manual setup and then manual maintained Complex System, in a way that is hard to replicate, even for the individual(s) that did the initial setup and keep maintaining it. It is highly fragile as a result.
A Snowflake System might also have volatile runtime state, that would not survive a reset, adding further to the fragility of the system itself.
It is hard to impossible to
- replicate or re-deploy a Snowflake System due to the complexity of the setup
- change a Snowflake System, due to the fragility of it’s state
Maintaining Snowflake Systems is an anti-pattern (to Immutable Infrastructure). To move such a system into a maintainable state requires either moving all provided services (e.g. Strangler Pattern variant) or moving the state into Infrastructure as Code and OS Configuration Management.
A server in a set of servers that are intended to be configured in the same way can become a Snowflake Server through Configuration Drift.