> There is a variety of CPUs.
There certainly are, but generally they are the same within the same "class" (ie t2, c5, etc). Example:
- C5: 3.0Ghz custom Xeon processors.
- C4: Xeon E5-2666 v3
- C3: Xeon E5-2680 v2
- X1/X1e: Xeon E7-8880 v3
- R4: Xeon E5-2686 v4
- R3: Intel Xeon E5-2670 v2
Etc. The only exception I'm aware of are the burstable instances; AWS's documentation doesn't explicitly guarantee a CPU bin there, it just says "high frequency Xeon".
The difference between an m5.large and an m5.xlarge isn't that you're getting a "faster" processor (meaning higher gigahertz or newer architecture). You're just getting "more" of the same processor (more cores). This is different than on, say, GCP, where you just ask for cores and you can specify if you specifically want a broader generation of Xeon (like Broadwell), but you can't be guaranteed specific chips.
My intention behind saying that most applications can't switch instance tiers is more to point out that most applications aren't prepared to handle node failure, not that there is something intrinsic to the node types which stops them from being able to switch (that'd be much more rare).