78

Randy Bias chronicles the history of the term stating that it probably originated in 2011 or 2012 when Bill Baker used the analogy when describing "scale-up" vs. "scale-out" architectural strategies. Bias adopted this into his presentations about cloud architectural patterns: In the old way of doing things, we treat our servers like pets, for example Bob ...


32

When people talk about running a database in Docker, they do not mean to store the data in a container; they are talking about having a docker image with the DB software, and mounting the data as a volume (a bind volume, not a container volume). Volumes are an essential part in Docker, and are not something that is flakey or just tacked on. Docker is not ...


26

To add to Richards answer, generally the analogy is helpful in terms of considering the impact of the loss of a server. If you would feel some sort of distress over the loss of any individual piece of infrastructure, then consider it a pet (read antipattern). If you would feel pretty comfortable knowing that if any of the fleet stopped functioning there ...


9

The two terms are very different. Let us start with immutability, which literally means "no mutations" or "no changes". In the DevOps sense, it means that once you created an artifact, be that a container image, or a VM image, or maybe a package from compiled code - you declare that you will never ever change it. Often if any changes are required, you ...


9

While technologically, containers and virtual machines are very different, there is no apparent difference from the perspective of your software. It seems like the argument in your question is that data is special and will always be a unique snowflake, so your question basically boils down to what to do about it in terms of DevOps, CI and Automation. This ...


6

I wrote about this in depth but here's the summary: Preventing split brain (electing more than one master node) needs to be solved. Failure to do so can be catastrophic There are no production ready shared storage solutions to enable databases to be shutdown on one instance and brought up on another without losing all your data.


2

Immutable infrastructure is, in my mind, a different pattern to Configuration Management. While they can be used together, they approach problems by nature in two different ways. The concept of Immutable Artifacts has a long history, Unix systems have been using them for decades to deploy software packages. But once they were deployed the configuration ...


Only top voted, non community-wiki answers of a minimum length are eligible