4 ms·
My personal machines are all pets ("thematrix", "heartofgold", "laputa" and "isengard") and my production systems are cattle ("sqldb01", "sqldb02", "gitea", "re
by tscs37 9y ago
My personal machines are all pets ("thematrix", "heartofgold", "laputa" and "isengard") and my production systems are cattle ("sqldb01", "sqldb02", "gitea", "redis0", "redis1", "rabbitmq", "mastodon", etc.)
Mostly because for automation it's easier to know what a system does by looking at the hostname. When you manage about 30 systems all over the place, that's the only reasonable solution (I do see people trying to give pet names to their production systems but it gets out of hand and they usually just maintain a directory of what system does what somewhere)
- kkirsche 9y agoIs that really cattle though? Instead of sql01 I’d think a more cattle based name would be db01, db02 etc so it’s database agnostic. For the redis and rabbitmq, I’d think that’s more mq01, mq02, etc for generic message queue servers. Potentially I’m taking the analogy too far though
- tscs37 9y agoThat's also valid but I like to know exactly what type of DB is running (SQLDB runs Mysql and Postgres Nodes for example) so I can quickly jump and find servers without much thinking.
- JasonFruit 9y agoSo more like dairy1, dairy2... beef1, beef2 ...
- hanbura 9y agodb01 is taking it into meaninglessness. Is that running PostgreSQL, Redis or MongoDB? Was Redis on db05 or cache01? That's not far from naming them server01, server02, etc. sql01 is good if you only use sql abstraction layers, otherwise you probably even want postgres01 and mysql01. Or even postgres-olap01 and postgres-oltp01, if that's what you do.
- tscs37 9y agosqldb01 and sqldb02 is fair since both run Mysql, Postgresql and Redis. There is no difference between nodes. If had a pure mysql server I'd call it mysql01