You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/availability-zones/migrate-workload-aks-mysql.md
+21-21Lines changed: 21 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,9 +12,9 @@ ms.custom: references_regions
12
12
13
13
# Migrate Azure Kubernetes Service (AKS) and MySQL Flexible Server workloads to availability zone support
14
14
15
-
This guide describes how to migrate a Azure Kubernetes Service and MySQL Flexible Server workload to complete availability zone support across all dependent services. For complete list of all workload dependencies, see [Workload service dependencies](#workload-service-dependencies).
15
+
This guide describes how to migrate an Azure Kubernetes Service and MySQL Flexible Server workload to complete availability zone support across all dependent services. For complete list of all workload dependencies, see [Workload service dependencies](#workload-service-dependencies).
16
16
17
-
Availability zone support for this workload must be enabled during the creation of your AKS cluster or MySQL Flexible Server. This means that a redeployment of these resources is required if you want availability zone support for an existing AKS cluster and MySQL Flexible Server.
17
+
Availability zone support for this workload must be enabled during the creation of your AKS cluster or MySQL Flexible Server. If you want availability zone support for an existing AKS cluster and MySQL Flexible Server, you'll need to redeploy those resources.
18
18
19
19
This migration guidance focuses mainly on the infrastructure and availability considerations of running the following architecture on Azure:
20
20
@@ -33,46 +33,46 @@ The AKS and MySQL workload architecture consists of the following component depe
33
33
34
34
### Azure Kubernetes Service (AKS)
35
35
36
-
-*Zonal* : The system node pool and user node pools are zonal when you pre-select the zones in which the node pools are deployed during creation time. We recommend that you pre-select all three zones for better resiliency. Additional user node pools that support availability zones can be added to an existing AKS cluster and by supplying a value for the `zones` parameter.
36
+
-*Zonal* : The system node pool and user node pools are zonal when you pre-select the zones in which the node pools are deployed during creation time. We recommend that you pre-select all three zones for better resiliency. More user node pools that support availability zones can be added to an existing AKS cluster and by supplying a value for the `zones` parameter.
37
37
38
38
-*Zone-redundant*: Kubernetes control plane components such as *etcd*, *API server*, *Scheduler*, and *Controller Manager* are automatically replicated or distributed across zones.
39
39
40
40
>[!NOTE]
41
-
>To enable zone-redundancy of the AKS cluster control plane components, you must define your default system node pool with zones when you create an AKS cluster. Adding additional zonal node pools to an existing non-zonal AKS cluster won't make the AKS cluster zone-redundant, because that action doesn't distribute the control plane components across zones after-the-fact.
41
+
>To enable zone-redundancy of the AKS cluster control plane components, you must define your default system node pool with zones when you create an AKS cluster. Adding more zonal node pools to an existing non-zonal AKS cluster won't make the AKS cluster zone-redundant, because that action doesn't distribute the control plane components across zones after-the-fact.
42
42
43
43
### Azure Database for MySQL Flexible Server
44
44
45
-
-*Zonal*: This availability mode means that a standby server is always available within the same zone as the primary server. While this option reduces failover time and network latency, it's less resilient due to a single zone outage impacting both the primary and standby servers.
45
+
-*Zonal*: The zonal availability mode means that a standby server is always available within the same zone as the primary server. While this option reduces failover time and network latency, it's less resilient due to a single zone outage impacting both the primary and standby servers.
46
46
47
-
-*Zone-redundant*: This availability mode means that a standby server is always available within another zone in the same region as the primary server. This means that you have two zones enabled for zone redundancy for the primary and standby servers. We recommend this configuration for better resiliency.
47
+
-*Zone-redundant*: The zone-redundant availability mode means that a standby server is always available within another zone in the same region as the primary server. Two zones will be enabled for zone redundancy for the primary and standby servers. We recommend this configuration for better resiliency.
48
48
49
49
50
50
### Azure Standard Load Balancer or Azure Application Gateway
51
51
52
52
#### Standard Load Balancer
53
-
To understand considerations related to Standard Load Balancer resources, see [Load Balancer and Availablity Zones](../load-balancer/load-balancer-standard-availability-zones.md).
53
+
To understand considerations related to Standard Load Balancer resources, see [Load Balancer and Availability Zones](../load-balancer/load-balancer-standard-availability-zones.md).
54
54
55
-
-*Zone-redundant*: Choosing zone-redundancy is the recommended way to configure your Frontend IP with your existing Load Balancer. The zone-redundant front-end corresponds with the AKS cluster back-end pool which is distributed across multiple zones.
55
+
-*Zone-redundant*: Choosing zone-redundancy is the recommended way to configure your Frontend IP with your existing Load Balancer. The zone-redundant front-end corresponds with the AKS cluster back-end pool, which is distributed across multiple zones.
56
56
57
57
-*Zonal*: If you're pinning your node pools to specific zones such as zone 1 and 2, you can pre-select zone 1 and 2 for your Frontend IP in the existing Load Balancer. The reason why you may want to pin your node pools to specific zones could be due to the availability of specialized VM SKU series such as M-series.
58
58
59
59
#### Azure Application Gateway
60
60
61
61
Using the Application Gateway Ingress Controller add-on with your AKS cluster is supported only on Application Gateway v2 SKUs (Standard and WAF). To understand further considerations related to Azure Application Gateway, see [Scaling Application Gateway v2 and WAF v2](../application-gateway/application-gateway-autoscaling-zone-redundant.md).
62
62
63
-
*Zonal*: To leverage the benefits of availability zones, we recommend that the Application Gateway resource be created in multiple zones, such as zone 1, 2, and 3. Select all three zones for best intra-region resiliency strategy. However, to correspond to your backend node pools, you may pin your node pools to specific zones by pre-selecting zone 1 and 2 during the creation of your App Gateway resource. The reason why you may want to pin your node pools to specific zones could be due to the availability of specialized VM SKU series such as `M-series`.
63
+
*Zonal*: To use the benefits of availability zones, we recommend that the Application Gateway resource be created in multiple zones, such as zone 1, 2, and 3. Select all three zones for best intra-region resiliency strategy. However, to correspond to your backend node pools, you may pin your node pools to specific zones by pre-selecting zone 1 and 2 during the creation of your App Gateway resource. The reason why you may want to pin your node pools to specific zones could be due to the availability of specialized VM SKU series such as `M-series`.
64
64
65
65
#### Zone Redundant Storage (ZRS)
66
66
67
-
- We recommend that your AKS cluster is configured with managed ZRS disks because they are zone-redundant resources. Volumes can be scheduled on all zones.
67
+
- We recommend that your AKS cluster is configured with managed ZRS disks because they're zone-redundant resources. Volumes can be scheduled on all zones.
68
68
69
69
- Kubernetes is aware of Azure availability zones since version 1.12. You can deploy a `PersistentVolumeClaim` object referencing an Azure Managed Disk in a multi-zone AKS cluster. Kubernetes will take care of scheduling any pod that claims this PVC in the correct availability zone.
70
70
71
71
- For Azure Database for SQL, we recommend that the data and log files are hosted in zone-redundant storage (ZRS). These files are replicated to the standby server via the storage-level replication available with ZRS.
72
72
73
73
#### Azure Firewall
74
74
75
-
*Zonal*: To leverage the benefits of availability zones, we recommend that the Application Gateway resource be created in multiple zones, such as zone 1, 2, and 3. We recommend that you select all three zones for best intra-region resiliency strategy.
75
+
*Zonal*: To use the benefits of availability zones, we recommend that the Application Gateway resource be created in multiple zones, such as zone 1, 2, and 3. We recommend that you select all three zones for best intra-region resiliency strategy.
76
76
77
77
#### Azure Bastion
78
78
@@ -88,29 +88,29 @@ Using the Application Gateway Ingress Controller add-on with your AKS cluster is
88
88
89
89
#### Azure Active Directory (AD)
90
90
91
-
*Global*: Azure AD is a global service with multiple levels of internal redundancy and automatic recoverability. Azure AD is deployed in over thirty datacenters around the world that provide availability zones where present. This number is growing rapidly as additional regions are deployed.
91
+
*Global*: Azure AD is a global service with multiple levels of internal redundancy and automatic recoverability. Azure AD is deployed in over 30 datacenters around the world that provide availability zones where present. This number is growing rapidly as more regions are deployed.
92
92
93
93
#### Azure Key Vault
94
94
95
-
*Regional*: Azure Key Vault is deployed in a region. To maintain high durability of your keys and secrets, the contents of your key vault are replicated within the region, as well as to a secondary region within the same geography.
95
+
*Regional*: Azure Key Vault is deployed in a region. To maintain high durability of your keys and secrets, the contents of your key vault are replicated within the region and to a secondary region within the same geography.
96
96
97
97
*Zone-redundant*: For Azure regions with availability zones and no region pair, Key Vault uses zone-redundant storage (ZRS) to replicate the contents of your key vault three times within the single location/region.
98
98
99
99
## Workload considerations
100
100
101
101
### Azure Kubernetes Service (AKS)
102
102
103
-
- Pods can communicate with other pods, regardless of which node or the availability zone in which the pod lands on the node. Your application may experience higher response time if the pods are located in different availability zones. While the extra round-trip latencies between pods is expected to fall within an acceptable range for most applications, there are application scenarios which require low latency, especially for a chatty communication pattern between pods.
103
+
- Pods can communicate with other pods, regardless of which node or the availability zone in which the pod lands on the node. Your application may experience higher response time if the pods are located in different availability zones. While the extra round-trip latencies between pods are expected to fall within an acceptable range for most applications, there are application scenarios which require low latency, especially for a chatty communication pattern between pods.
104
104
105
105
- We recommend that you test your application to ensure it performs well across availability zones.
106
106
107
-
- For performance reasons such low latency, pods can be co-located in the same data center within the same availability zone. To do this, you can create user node pools with a unique zone and proximity placement group. You can add a proximity placement group (PPG) to an existing AKS cluster by creating a new agent node pool and specifying the PPG. Use Pod Topology Spread Constraints to control how pods are spread in your AKS cluster across availability zones, nodes and regions.
107
+
- For performance reasons such low latency, pods can be co-located in the same data center within the same availability zone. To co-locate pods in the same data center within the same availability zone, you can create user node pools with a unique zone and proximity placement group. You can add a proximity placement group (PPG) to an existing AKS cluster by creating a new agent node pool and specifying the PPG. Use Pod Topology Spread Constraints to control how pods are spread in your AKS cluster across availability zones, nodes and regions.
108
108
109
-
- After pods that require low latency communication are co-located in the same availability zone, communications between the pods are not direct but are channeled through a service that defines a logical set of pods in your AKS cluster. Pods can be configured to talk to AKS and the communication to the service will be automatically load-balanced to all the pods that are members of the service.
109
+
- After pods that require low latency communication are co-located in the same availability zone, communications between the pods aren't direct. Instead, pod communications are channeled through a service that defines a logical set of pods in your AKS cluster. Pods can be configured to talk to AKS and the communication to the service will be automatically load-balanced to all the pods that are members of the service.
110
110
111
111
- To take advantage of availability zones, node pools contain underlying VMs that are zonal resources. To support applications that have different compute or storage demands, you can create user node pools with specific VM sizes when you create the user node pool.
112
112
113
-
For example, you may decide to use the `Standard_M32ms` under the `M-series` for your user nodes because the microservices in your application require high throughput, low latency, and memory optimized VM sizes that provide high vCPU counts and large amounts of memory. When you select the VM size in the Azure Portal, depending on the region you are deploying this, you may see that this VM size is supported only in zone 1 and 2. You accept this resiliency configuration as a trade-off for high performance.
113
+
For example, you may decide to use the `Standard_M32ms` under the `M-series` for your user nodes because the microservices in your application require high throughput, low latency, and memory optimized VM sizes that provide high vCPU counts and large amounts of memory. Depending on the deployment region, when you select the VM size in the Azure portal, you may see that this VM size is supported only in zone 1 and 2. You can accept this resiliency configuration as a trade-off for high performance.
114
114
115
115
- You can't change the VM size of a node pool after you create it. For more information on node pool limitations, see [Limitations](../aks/use-multiple-node-pools.md#limitations).
116
116
@@ -127,23 +127,23 @@ The implication of deploying your node pools in specific zones, such as zone 1 a
127
127
128
128
- You can't update an existing Premium cache to use zone redundancy. To use zone redundancy, you must recreate the Azure Cache for Redis.
129
129
130
-
- To achieve optimal resiliency, we recommend that you create your Azure Cache for Redis with three or more replicas so that you can distribute the replicas across three availability zones.
130
+
- To achieve optimal resiliency, we recommend that you create your Azure Cache for Redis with three, or more replicas so that you can distribute the replicas across three availability zones.
131
131
132
132
:::image type="content" alt-text="Picture showing three replicas for Azure Cache for Redis" source="./media/migrate-workload-aks-mysql/redis-create-replicas.png":::
133
133
134
134
135
135
## Disaster recovery considerations
136
136
137
-
*Availability zones* are generally used for better resiliency to achieve high availability of your workload within the primary region of your deployment.
137
+
*Availability zones* are used for better resiliency to achieve high availability of your workload within the primary region of your deployment.
138
138
139
-
*Disaster Recovery* consists of recovery operations and practices defined in your business continuity plan, which is about how your workload recovers during a disruptive event and fully recovers after the event. Consider extending your deployment to an alternative region.
139
+
*Disaster Recovery* consists of recovery operations and practices defined in your business continuity plan. Your business continuity plan addresses both how your workload recovers during a disruptive event and how it fully recovers after the event. Consider extending your deployment to an alternative region.
140
140
141
141
142
142
:::image type="content" alt-text="Picture showing secondary region deployment architecture" source="./media/migrate-workload-aks-mysql/disaster-recovery.png":::
143
143
144
144
For your application tier, please review the business continuity and disaster recovery considerations for AKS in this article.
145
145
146
-
- Consider running multiple AKS clusters in alternative regions. The alternative region can either use a secondary paired region, or where there is no region pairing for your primary region, you are encouraged to select an alternative region based on your consideration for available services, capacity, geographical proximity, and data sovereignty. Please review this Azure regions decision guide. Also review the deployment stamp pattern.
146
+
- Consider running multiple AKS clusters in alternative regions. The alternative region can use a secondary paired region. Or, where there's no region pairing for your primary region, you can select an alternative region based on your consideration for available services, capacity, geographical proximity, and data sovereignty. Please review the [Azure regions decision guide](/azure/cloud-adoption-framework/migrate/azure-best-practices/multiple-regions). Also review the [deployment stamp pattern](/azure/architecture/patterns/deployment-stamp).
147
147
148
148
- You have the option of configuring active-active, active-standby, active-passive for your AKS clusters.
Copy file name to clipboardExpand all lines: articles/availability-zones/overview.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ ms.custom: references_regions
14
14
15
15
**Resiliency** is a system’s ability to recover from failures and continue to function. It’s not only about avoiding failures but also involves responding to failures in a way that minimizes downtime or data loss. Because failures can occur at various levels, it’s important to have protection for all types based on your service availability requirements. Resiliency in Azure supports and advances capabilities that respond to outages in real time to ensure continuous service and data protection assurance for mission-critical applications that require near-zero downtime and high customer confidence.
16
16
17
-
Azure includes built-in resiliency services that you can leverage and manage based on your business needs. Whether it’s a single hardware node failure, a rack level failure, a datacenter outage, or a large-scale regional outage, Azure provides solutions that improve resiliency. For example, availability sets ensure that the virtual machines deployed on Azure are distributed across multiple isolated hardware nodes in a cluster. Availability zones protect customers’ applications and data from datacenter failures across multiple physical locations within a region. **Regions** and **availability zones** are central to your application design and resiliency strategy and are discussed in greater detail later in this article.
17
+
Azure includes built-in resiliency services that you can use and manage based on your business needs. Whether it’s a single hardware node failure, a rack level failure, a datacenter outage, or a large-scale regional outage, Azure provides solutions that improve resiliency. For example, availability sets ensure that the virtual machines deployed on Azure are distributed across multiple isolated hardware nodes in a cluster. Availability zones protect customers’ applications and data from datacenter failures across multiple physical locations within a region. **Regions** and **availability zones** are central to your application design and resiliency strategy and are discussed in greater detail later in this article.
0 commit comments