Let us compare the data I collected from both my scripts I made for AWS and Azure. Each script accomplishes the same things:
- Deploy two Windows Server VMs from the providers official image repository
- Deploy one internet facing load balancer with the two servers behind it on port 80
- Use the providers built in orchestration method to install IIS and place a simple webpage in the root web directory
- Validate the website is being served over the internet through the Load Balancer
Here is a comparison of the common tasks:
Here is a table of all the data:
Azure | |||
Task | Seconds | Duration in Seconds | Duration in Minutes |
Script Start | 0 | 0.00 | |
Create Load Balancer | 14 | 14 | 0.23 |
Create VM1 | 176 | 162 | 2.70 |
Install IIS On VM1 | 816 | 640 | 10.67 |
Deploy Website on VM1 | 878 | 62 | 1.03 |
Add VM1 to LoadBalancer | 954 | 76 | 1.27 |
Create VM2 | 1115 | 161 | 2.68 |
Install IIS On VM2 | 1485 | 370 | 6.17 |
Deploy Website on VM2 | 1547 | 62 | 1.03 |
Add VM2 to LoadBalancer | 1601 | 54 | 0.90 |
Website Available | 1602 | 1 | 0.02 |
Script Complete (Total) | 1602 | 1602 | 26.70 |
AWS | |||
Task | Seconds | Duration in Seconds | Duration in Minutes |
Script Start | 0 | 0.00 | |
Create Load Balancer | 8 | 8 | 0.13 |
Create VM1 | 15 | 7 | 0.12 |
Create VM2 | 21 | 6 | 0.10 |
Assign SSM IAM Role on VM1 | 37 | 16 | 0.27 |
Assign SSM IAM Role on VM2 | 41 | 4 | 0.07 |
Deploy System Management Agent on VM1 | 167 | 126 | 2.10 |
Deploy System Management Agent on VM2 | 170 | 129 | 2.15 |
Execute Install IIS & Website On VM1 | 172 | 2 | 0.03 |
Execute Install IIS & Website On VM2 | 173 | 1 | 0.02 |
Add VM1 to LoadBalancer | 175 | 2 | 0.03 |
Add VM2 to LoadBalancer | 177 | 2 | 0.03 |
Website Available | 260 | 83 | 1.38 |
Script Complete (Total) | 260 | 260 | 4.30 |
Certain tasks in AWS do not wait for their execution to complete. Checks were added in the script and the duration column indicates which were essentially run in parallel. |
As you can see from the data above, in terms of automation AWS is much faster.