4 ms·
There’s some history here people are missing. Back in the day we used cutesy names for boxes, and we did it for good reason: Back then, before cloud services,
by erikpukinskis 4y ago
There’s some history here people are missing.
Back in the day we used cutesy names for boxes, and we did it for good reason:
Back then, before cloud services, when you were building out an application, you would build one computer, load it up with some services, and then when that one started performing poorly you’d add another computer and move some of the services off.
You would frequently rebalance which services went on which box, in order to maximize performance.
But these boxes weren’t services themselves, they were just the machine some set of services happened to run on.
So we gave them cute names because the hardware was largely meaningless. They had no inherent purpose, so we named them Athena, Zeus, etc so we had something to remember.
These names were largely not used for the services. Maybe you did have your FTP service on Athena, and maybe that was the only service on there. You still served it from ftp.techdazzle.com or whatever.
I feel like people just ported this concept forward into the microservices realm because it’s fun, even though it doesn’t really make as much sense in a cloud environment.
- nix0n 4y agoI agree that this makes sense for boxes. > we named them Athena, Zeus, etc The bonus of this kind of theming is that if someone mentions a Greek god you know they probably mean a box. One reason this makes more sense for boxes, is that a box will have features and responsibilities taken away more than a program or service will. If a service is named according to what it originally did, even though it took on additional responsibilities, that's fine.
- bfung 4y agoEven more fundamental, if you had multiple computers and needed to network them up, they required a name to be referenced by. Computers on the same network ended up with names from a common theme.
- plank 4y agoAh, memories. Remember the time a new set of boxes came, and my and a collegue came up with a bunch of names. Being a physics department, the new names had to fit in the existing name convention with names like Gauss and Planck. And yes, used that to get the latter one placed on my desk (new shiny powerpc with colour screen!) instead of an old Atari;-)
- scruple 4y agoMy first role had machines like: ob-la-di for the reporting services server, ob-la-da for the nightly build server, etc. I always hated it. In aggregate the services on these servers belonged together. The sysadmin was just extremely casual about his role and thought it was funny and cute. I eventually got sick of going to the wrong server all of the time and mapped them more logically in my hosts file. It's not like he couldn't have done this originally or eventually, but well into the 2010s he was using song titles for server names.
- athenot 4y agoA funny example of this can be found by looking for nameserver entries for vatican.va. An apostle and arch-angel for the Vatican, mixed with an Egyptian god and apocryphal character for the Roma exchange they partner with. vatican.va. 3600 IN NS john.vatican.va. vatican.va. 3600 IN NS michael.vatican.va. vatican.va. 3600 IN NS seth.namex.it. vatican.va. 3600 IN NS osiris.namex.it.
- AtlasBarfed 4y ago... that implies all your services already were HTTP-separated or some other swappable network invocation besides direct calls ... Which means... you were microservicing before microservices were a thing? If not, do you care to share how you abstracted your service invocations so they could fluidly go from inter-box comms to separated boxes?
- marcosdumay 4y agoNetwork services were port-separated since the internet was a thing. (A bit earlier, but ports had different names.)
- franga2000 4y agoThe vast majority of IPC already used sockets decades ago, so it was easy to split a composition of services across multiple machines (just change the config from unix domain- to network sockets). Anything that ran commands to do things could be wrapped in ssh (for example, that's how I offloaded image processing for a sharing site). Two layers of DNS records solve the addressing issue: each box gets a static codename with an A record and each service gets a descriptive name with a CNAME record pointing at the box it's on. When you move a service, change the CNAME to point to the new box. If you have full box replicas/backups, you can also switch the box name or reroute at the IP level. Preferably you're running your own DNS and can issue a flush command to your entire fleet so you're not stuck waiting for propagation.
- AtlasBarfed 4y agoYeah, CORBA / RMI which microservices eschewed for HTTP. I had a joke years ago that the reason HTTP services became so popular was simply because those ports were the only ones open in the firewall, so people used those rather than having to get new ports approved by some convoluted security review.