Mám zkušenost s podobným objemem.
Architektura:
Fronta na přijaté zprávy, SP zajišťující jejich zadávání.
SP iniciovaná frontou, nebo SP volaná odjinud, rozhazující zprávy do vstupních front aplikací
Aplikace si vyzvedne zprávu z fronty, zpracuje a případně zapíše do výstupní fronty.
Odtud se SMS odesílá.
HA je možná pomocí clusteru, ale lépe pomocí mirroringu (rychlejší) Aplikace by měly být .NET, pak nebude problém s jiným jménem po failoveru mirroringu. (Failover Partner).