I decided to make a post here, for those that are curious. Note, I don’t work at Blizzard so I can only make educated guesses. But I’ve been doing this kind of work for a long time. But so far, I haven’t been wrong yet.
First off. Data center model (one physical server per realm - the same one the private servers use) is gone. It’s on the cloud. So what does that mean?
It used to be one machine per realm. Now it’s X number of machines per realm. Why on earth would they do that? Because to run software, running it using the combined power of X mini servers, is cheaper than managing and upgrading one mega server. It’s cost.
So, if that’s the case, the end result should be the same right? Meaning, why can’t the X mini servers handle the load? The answer is that they can. But Blizzard won’t. Why? Cost. You see, the beauty of the cloud is to save money, by saying “Hey as you your software gets more volume, we’ll automatically add more mini servers so everything is peachy.” So, Blizzard runs everything at a minimum. It’s the 80/20 rule. Keep things running for the scenarios 80% of the time. The other 20% are outliers. As a company if you worry about outliers, you’ll be wasting money. Cost.
So, if in the cloud, if performance automatically “scales up”, then it should never lag right? You see, the issue is that it takes time for new servers to come up. . WoW is spikey in volume in nature. So if 100 alliance fight 100 horde in hillsbrad all of a sudden, the volume will spike and the servers will blow up before more of them are active and ready to handle more load.
When I said, that Vanilla needed to be translated into Retail at the outset of Classic, the below is what I meant. And it’s why Classic took as long as it did. And it’s also why I say Classic is going to have it’s own “numbers” and not be able to truly replicate 1.12 even if Blizzard does have its numbers.
First off. Forget about the old concept of “realms”. They don’t exist anymore. There is no one machine that holds everything necessary to run WoW. Instead, you have a “combat engine”, or “location engine”, or “equipment engine”, or “raiding engine”, or whatever WoW is made of - one can only guess. Each “engine” will sit on their own server. Each is “realm” agnostic. They don’t give a flying hoot if you’re Durotan or Blackrock.
That’s what Blizzard meant by “pieces” of the puzzle. Each “engine” is a piece of the puzzle. Think of Vanilla as puzzle already put together so that it’s really just a picture sitting on one server. Where as Retail is a bunch of puzzle pieces sitting on different servers that gets put together dynamically on some other server which returns the picture. Now, wtf would you split an entire game into 100 pieces? Software engineering has changed a ton the last 14 years. I’ll leave at that. But, google monolith vs micro services if you so please. But, again - cost.
Ok. So here comes my educated guess part.
So if there are no realm servers, what’s the deal with “realms”? After doing away with dedicated servers, I’m guessing Blizzard came up with a technical concept - realms. Realms are now nothing but logical groups of people who prefer to play together. Each “people grouping” will point to a dedicated group “engines” - the sample being the lame list I gave above.
So what does this have to do with sharding? Well, remember that realms are now logical groups of people that use the same set of “engines”? When traffic gets heavy, what do you do? All you gotta do is move some people from one “realm” to another. i.e. one group to another, which then by default moves them from one engine to another - reducing traffic.
What this means is that sharding will ALWAYS be in the game. It’s just a matter of how high a setting Blizzard wants to set it to trigger that sharding. Like they said, it’s all configurable.
It’s a long read. But hope this helps.