Cloud computing is becoming more and more accessible for anyone. If you are interested in running even non-trivial workloads for free, Oracle Cloud is now offering a very generous package consisting of 4 of their ARM based Ampere A1 cores and 24GB(!) of memory. These can be split into up to 4 VMs or used in a single machine. Additionally, you can still get 2 AMD x86 systems with shared cores on top, 200GB of disk storage and more.
I was curious to see what kind of performance one could expect out of these ARM systems, so I ran a quick CPU sysbench on such a four core VM:
CPU speed: events per second: 3354.74 General statistics: total time: 10.0002s total number of events: 33561 Latency (ms): min: 0.30 avg: 0.30 max: 0.39 95th percentile: 0.30 sum: 9992.77 Threads fairness: events (avg/stddev): 33561.0000/0.00 execution time (avg/stddev): 9.9928/0.00
The main advantage of Oracle Cloud’s free cloud VM hosting offer is its superior CPU performance compared to for instance GCP. I still find their UI inferior in some aspects, but it’s managable. At least the services have sensible names (ahem… AWS). I’m certainly not missing any basic features that I would feel are relevant for more casual users. The main limitation on the other hand will probably be the fact that these cores are ARM – meaning software compatibility won’t be as much of a given as on AMD64. Most standard workloads should run fine, but you won’t have to look hard for incompatible ones either.
Download: 1426.89 Mbit/s Upload: 1008.72 Mbit/s
Network speed is reliably above 1 Gbit/s.
Oracle Cloud VM: Conclusion
Along with their generous free DB services which I have yet to try, Oracle is becoming an even more tempting option for users who don’t plan on paying anything – especially if you are not yet indoctrinated into the way of thinking of other cloud providers.
Until recently Google Cloud Platform was the only major cloud provider that offered true ‘Always Free’, true VM hosting. Amazon Web Services does also offer Free “EC2” VM hosting, however that is only valid for one year. Recently however, Oracle has released their own Always Free Cloud VM offering that at first glance appears to be much more generous than Google’s. In this article I would like to compare the two to see which one is more worth it for hobbyists and small scale projects.
On the paper Oracle claims you get “2 virtual machines with 1/8 OCPU and 1 GB memory each” for free forever. Looking up the term OCPU:
An OCPU is defined as the CPU capacity equivalent of one physical core of an Intel Xeon processor with hyper threading enabled. For Intel Xeon processor each OCPU corresponds to two hardware execution threads, known as vCPUs.
So that doesn’t really say anything about the actual performance and we’ll have to benchmark it.
In terms of storage, it seems like we can expect a total of 100GB spread among the two VMs: “2 Block Volumes, 100 GB total.”. Another important factor is the amount of traffic you are allowed to cause: “Outbound Data Transfer, 10 TB per month.”. And while the number of Oracle’s data centers is quite limited, you are allowed to choose between any of them at no charge.
On Google’s end, their “Always Free” offering contains one “F1-micro instance per month” which they define as a “Micro machine type with 0.2 vCPU and 0.60 GB of memory, backed by a shared physical core.”. Therefore I would expect to only get a single thread here and only 600MB of memory, but these instances also come with a “bursting” capability which allows for it to use more CPU when needed automatically: “Bursting happens automatically when your instance requires more physical CPU than originally allocated.” – whatever that means, but it should give it some advantage for short term applications, like the benchmark I’m about to perform.
So far so good, but the disappointment starts when looking at the traffic: “1 GB network egress from North America to all region destinations per month (excluding China and Australia)”. Ingress is free, but with only 1GB you really can’t do a lot. Also this statement already implies another limitation: While Google has tons of data centers around the globe, you can only choose between three american ones for this free offering. Finally, disk space will be limited to 30GB.
VM Benchmarks
Both are running Ubuntu Server 18.04. Keep in mind that Oracle is offering two free VMs as opposed to just one from Google. I’ll just let the numbers speak for themselves:
GCP
Oracle
CPU type
Intel(R) Xeon(R) CPU @ 2.30GHz
AMD EPYC 7551 32-Core Processor @ 2GHz
Number of threads
1
2
CPU sysbench single thread (10000 primes)
events per second: 947.98
events per second: 574.18
CPU sysbench two threads (10000 primes)
events per second: 948.29
events per second: 592.09
CPU sysbench single thread (50000 primes)
events per second: 104.79
events per second: 61.01
dd write speed: 1000 blocks, 1MB each
40.0 MB/s
61.3 MB/s
dd read speed: same file
85.9 MB/s
55.1 MB/s
dd read speed: same file after clearing the buffer
79.7 MB/s
57.5 MB/s
sysbench memory transfer test (300MB)
3478.31 MiB/sec
1833.09 MiB/sec
Internet connection speed with speedtest.py
Download: 101.25 Mbit/s Upload: 199.86 Mbit/s
Download: 47.65 Mbit/s Upload: 49.44 Mbit/s
Other considerations
Of course, there are other factors to consider. Google offers a wider selection of free additional services, but disregarding these, the user interfaces and documentations of the two providers are roughly on par.
Choosing an Always Free Cloud VM: Conclusion
And the winner is: it depends. If you are looking for maximum CPU performance, GCP wins, but for server applications you probably still want the extra memory of Oracle. Apart from that, Oracle offers more traffic, more storage and two instances instead of one, so it’s what I will use as the default for my projects. Or just use both, since they are free.