This week I was listening to a conversation about cloud computing. Somebody mentioned that Google Cloud Computing network was better than Amazon Web Services (AWS). I heard this before from people in conferences but nobody has ever giving me numbers probing this statement. I was thinking to myself this maybe a marketing campaign that somebody read in a SkyMall magazine or something like that.
At the end of the day AWS is years ahead of Google Cloud Platform (GCP); GCP was launched only in 2008 and AWS was launched 2002.
I started thinking how to test the GCP and AWS network to compare their network performance. I used iperf3 https://iperf.fr/ to generate network traffic, test bandwidth and the amount of data transfer in a certain period of time.
CASE SCENARIOS
CONSTRAINS
300 SECONDS
TCP Traffic only
Default window size
Operating System Ubuntu 16.04 LTS
Same Availability Zone
TEST CASE | INSTANCE TYPE GCP | INSTANCE TYPE AWS | CPU/MEMORY GCP | CPU/MEMORY AWS |
A | F1-micro | T2.micro | 0.2/0.60GB | 1/1GB |
B | N1-standard-1 | M3.medium | 1/4GB | 1/4GB |
C | N1-standard-4 | M3.xlarge | 4/15GB | 4/15GB |
TEST A
For this we are going to use AWS t2.micro and GCP f1.micro. T2.micro is burst-able type instance. What this means is that work on CPU credits and after certain period of use you get less performance until the CPU credits are recharged. The captured is taking over 300 seconds or 5 minutes
As you can see GCP computer f1.micro instance can transfer 10 times more information than an AWS t2.micro instance. Also the GCP rate data transfer is 10 times larger than AWS
WINNER GCP
INSTANCE | Bandwidth | Total data transferred |
F1-micro | 985 Mbits/sec | 34.4 GBytes |
T2.micro | 98.8 Mbits/sec | 3.45 GBytes |
TEST B
For this test we are going to test AWS M3.medium and n1-standard-1. Both of instances have 1 virtual CPU and 3.75Gb of memory
As you can see M3.medium more than triple the data between 2 instances compare to t2.micro. It was able to transfer over 10GBytes over a period 5 minutes. However, the GCP instance was able to transfer close 70GBytes over the same period of time and the bandwidth was close to 2 Gbits/sec.
In this case GCP instance was able to transfer 7 time more information over 5 minutes compare to the AWS instance
WINNER GCP
INSTANCE | Bandwidth | Total data transferred |
n1-standard-1 | 1.97 Gbits/sec | 68.9 GBytes |
M3.medium | 300 Mbits/sec | 10.5 GBytes |
TEST C
I wanted to do one more test to make sure the tests before were note a fluke. From AWS I selected m3.xlarge 4 virtual CPU and 15Gb of RAM. AWS state on its page that this instance type has a high network performance.
I am comparing m3.xlarge with GCP n1-standard-4 over 600 seconds.
This AWS instance type was able to triple its available bandwidth from 300 Mbits/sec to 991 Mbits/sec. However, it could not get close to the GCP instance; GCP offered 7.91 Gbits/sec and was able to transfer 8 times more data than the AWS intance
INSTANCE | Bandwidth | Total data transferred |
n1-standard-4 | 7.91 Gbits/sec | 552 GBytes |
M3.xlarge | 991 Mbits/sec | 69.2 GBytes |
CONCLUSION
If you only focus on instances and data transfer between the instances on the same region AWS does not even come close to GCP performance. This was only a small performance test between instances and not other services offer by the cloud providers.
Keep in mind GCP is still catching up to AWS on feature parity but would not be surprise if the gap is close within 3 to 5 years.