What is snowflake server?

by Daniel Pham
Published: Updated:

What is snowflake server? In this article, I will tell you about an interesting term “Snowflake”. So, what are snowflake servers?

What is snowflake server?

Snowflake – in a normal context, you can imagine that snowflakes are very fragile and melt. It’s completely different from icebergs. But we’re not here to talk about the weather. Let’s get to the main point.

Snowflake servers are servers with very complex service installations without any documentation.

At this point you imagine that this is the reason why the servers cannot be rebuilt. Installation can be performed by one or a group of engineers. However, during their work, they changed a lot of configuration but at the same time did not rewrite anything.

After a while, the original engineers were unable to install an identical new server. This is an outcome that no Sysadmin/DevOps wants to encounter.

You can easily see that these servers are extremely fragile. Just one mistake can completely destroy it without a backup plan.

What is snowflake server?
What is snowflake server?

How to avoid server snowflake?

The answer that probably comes to mind right away is to document everything. Every small change is recorded. This is completely useful but quite time-consuming to do.

  • It takes a lot of time to take notes, especially with small changes.
  • It takes a lot of time to install a new environment/server based on the documentation. Even though everything is recorded, reading it and doing it all over again is not fast at all. Which may not meet today’s IT automation needs.

Shell script

A favorite solution in the past (perhaps even now) of many Sysadmin/DevOps and programmers (Devs) is scripting. Shell scripts can be considered a simple form of system documentation.

Shell scripts partly solve the problem of automating IT infrastructure. It has advantages:

  • Fast: writing and using scripts is very fast, all operating systems support running scripts.
  • Simple, familiar structure: this is a big advantage for previous Sysadmins or Devs..
  • Suitable for small tasks.

But it also has disadvantages: for a complex and large or very large scale system, use shell script:

  • It takes a lot of time to write and handle all possible cases.
  • Difficult to synchronize scripts between servers.
  • It is difficult to handle duplicate configuration issues when using scripts.

Configuration management tool

With the above disadvantages of both simple documentation and using shell scripts. Using configuration management tools will become more necessary. It will help make IT infrastructure administration easier. The tool suggested here is Ansible. In addition, there are other tools such as: Chef, Puppet, SaltStack.


  • Centrally manage entire system configuration.
  • Avoid snowflake servers completely.
  • Handle duplicate problem.
  • Can be deployed for large and very large scale systems.


This is a small article about the snowflake server. This term also does not appear much on technology blogs in Viet Nam. Therefore, I want to write a short article to talk about it and how to remove it from the IT system.

(This is an article from my old blog that has been inactive for a long time, I don’t want to throw it away so I will keep it and hope it helps someone).

0 0 votes
Article Rating

You may also like

Notify of
Inline Feedbacks
View all comments

DevOps Lite is a personal blog specializing in technology with main topics about DevOps, DevSecOps, SRE and System Administrator. Articles are shared for free and contributed to the community.



Subscribe my Newsletter for new blog posts. Stay updated from your inbox!

© 2021-2024 DevOpsLite.com – All rights reserved.

Please write sources “DevOpsLite.com” when using articles from this website.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More

Would love your thoughts, please comment.x

Adblock Detected

Please support us by disabling your AdBlocker extension from your browsers for our website.