سؤال

I have a Test, Staging and Production environment (several storage accounts and VMs in each).

Does it make sense to have them all based in one Affinity Group or across 3 separate Affinity Groups?

The only communication that occurs between these environments is the downloading and restoring of the Production database to the other environments (which is not time critical, but it is several gigs).

Do more 'entities' in an affinity group make data transfer between them slower? I wouldn't wan't my Production environment to be slower because its Affinity Group is shared with Test and Staging.

As far as I understand, transferring data in the same data center does not incur transfer costs. But transferring data within a Affinity Group would be faster.

هل كانت مفيدة؟

المحلول

Affinity groups are an availability and scalability concept that is physically implemented within the fabric controller, and the Azure data centre, however they (Microsoft) sees fit. For example, affinity groups help scalability by co-locating services in the same rack (or switch, or something).

Since there should be no availability and scalability dependencies (logical or physical) between your different environments, there should be no need to share affinity groups. If one of your environments, say staging, was also a backup/recovery environment for production - then affinity groups would come into play. But if that was the case, the staging environment would be in a separate data centre (region) anyway.

Virtual networks and other IaaS should, at least architecturally, follow a similar pattern. If you have three environments (production, staging, and test) you should have three different virtual networks, and three different VPN gateways. This may be difficult to get past the on-prem networking guys (who are more familiar with physical networking equipment), but you have to separate them - you don't want test data clogging up or breaking the production (virtual) network do you?

نصائح أخرى

From what I know, what affinity group functionality does is places all items in the affinity group together (possibly in the same rack) in a data center so that the network latency between these items is reduced and thus data operation speed is considerably improved.

Assuming that all of your environments (test, staging and production) are in the same data center and under normal operations these environments are isolated, IMO it doesn't really matter if you keep them in the same or different affinity group.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top