Azure Availability Design - amitbhilagude/userfullinks GitHub Wiki

1. Azure Infrastructure Global region details site
2. Availablity Zone vs Availability Set
	a. Availablity set use if zones are not available.
3. Supported AZ services 
	a. VMs
	b. HDD
	c. Storage
	d. SqL
	e. Event and message queue 
	f. VPN gateway and Express route
4. Paired region 
	a. Check azure site
	b. Good for disasters recovery and high availablity 
	c. Primary and secondary region for N- tier applications 
            d. Microsoft takes care make any one of the regions always up during maintenance.
            e. Good for data redundancy. See more details for storage here. Data get synced to the secondary region and it makes it available.
           https://docs.microsoft.com/en-us/azure/storage/common/storage-redundancy#geo-redundant-storage
5. Azure Architecture site for best practices and pattern
6. Autoscale 
	a. VM autoscale set 
		i. Select load balancer along with service 
			1) Create rules for autoscaling
			2) Rules may not correct, need to monitor application and then decide.
	b. App services autoscale 
		i. Same UI as VM autoscale set.
                    ii. It is billed per second basis so pricing will be calculated based on number on instances ran for specific hour.
	c. Azure Function autoscale 
		i. Hosting plan
			1) Consumption plan
				a) Auto scaling is done bu azure
			2) App services plan
				a) App services autoscale however it will have fixed monthly charges of app service.
7. Storage account availability 
	a. 3 option
		i. LRS
		ii. ZRS
		iii. Read only GRS
			1) New connection string   for secondary region.
			2) Consider scenarios in application to link secondary region storage as read only without failover.
                    iv. GRS
                          1. Read and write in secondary region only when failover scenerio.
8. VM disc recovery 
	a. Snapshot
	b. Incremental backup schedule 
9. SQL DB Availablity 
	a. Enable Georeplication
		i. Select list of available region  prferred is secondary region 
		ii. Need to create secondary db server in secondary region 
	b. Create failover Group 
10. Cosmos DB availablity 
	a. Enable failover on each region. 
11. Network Redundancy 
	a. Load balancer 
		i. Create application in different availablity zone
		ii. Configure load balancer 
		iii. Load balancer redirect request to available application based on rules set.
		iv. Can used before application as public load balancer
		v. Can be used after application and before DB as internal load balancer 
	b. Application gateway 
		i. Good for http
		ii. SSL uplo
	c. Traffic manager 
		i. Good for multi region scenarios 
12. Resilency
	a. App services 
		i. Make sure minimum 2 instance count else enable autoscale 
	b. Application gateway 
		i. Make sure minimum 2 instance count 
	c. Redis cache 
		i. Enable premium with Geographical plan
		ii. Enable settings in Geographical in map
	d. Sql
		i. Enable geo replication 
	e. Azure service bus message queue 
		i. Scenarios: DB down and to avoid any data loss, submit message in queue and then function and DB
		ii. It also pairing functionality for Primary and secondary region 
		iii. It also options to configure geo replication in same region under different zones.