In December, Cockroach Labs released its 2020 Cloud Report, which provided benchmarks for each of the major cloud providers: AWS, Azure, and GCP.
According to the report, GCP had caught up to AWS in benchmarks, where previously AWS outperformed them by 40% the previous year. The company also found that each cloud vendor had an area where they excelled above the others. AWS was the best performer on throughput, Azure machines achieved better CPU benchmarks, and GCP’s network was the best.
After publishing the report, Cockroach Labs followed up with these companies, and Amazon, Microsoft, and Google all provided advice on how their products and services could be better tuned for optimal performance (Cockroach Labs had been using the default configuration for each benchmark).
RELATED CONTENT: 2020 Cloud Report
“We stand by our decision to use default configurations in this experiment, and welcome continued feedback from the clouds. Choosing how to configure your cloud is not intuitive, and obviously, many developers don’t have the benefit of speaking directly to the cloud providers to learn best in class performance configurations,” Cockroach Labs wrote in a post.
For those looking to get the most out of their chosen cloud provider, here are recommendations on how to best configure their clouds:
According to Cockroach Labs, the majority of the feedback from Amazon was related to hardware. AWS was the only cloud vendor tested on AMD machines, and since the report, they have also added support for new machine types that deliver up to 40% improvement over current generation instances for a range of workloads.
Microsoft Azure suggestions
Cockroach Labs explained that Azure provided feedback in a number of areas, partly due to the fact that they offer so many configuration options, which can be hard to get exactly right out-of-the-box.
According to Microsoft, their VMs “perform and scale linearly, compared to the most competitive SKUs which allocate disproportionate resources to smaller sizes.”
They also explained that enabling Accelerated Networking (enabled by default when downloaded from Azure’s UI, but not turned on during the report benchmarking) will dramatically improve performance.
Cockroach Labs also explained that they configured “regions” and “zones” for AWS and GCP, but only configured “locations” for Azure, which is equivalent to regions. Not configuring zones leads to longer physical paths and greater latency, Microsoft explained.
Another setting that needs custom configuration is host caching. This can greatly improve persistent storage read (and write) performance, Microsoft explained. In addition, Microsoft said that it will be working on making improvements to read/write latency across all storage types this year.
GCP has made a number of improvements since Cockroach Labs did their benchmark testing. Google recently announced the n2 series and c2 series of VMs this year, which results in significantly higher performance than n1 series instances. These new VMs use the new Intel Cascade Lake Processor, while the n1 series uses last generation Intel Skylake processors. “Like we see with other clouds, newer processors perform better than older processors. It’s critical to stay on top of the newest processor types offered by GCP and to explicitly request them when provisioning nodes, since they’re not on by default,” Cockroach Labs wrote.
Google has also heavily invested in network performance. With the n2 and c2 series, network latency is dramatically improved.
According to Cockroach Labs, GCP doesn’t have a storage-optimized instance, but noted that local SSDs can be attached to many VMs using NVMe or SCSI interfaces. SCSI is the default, so customers will need to specify NVMe if that’s what they want to use. They also added that GCP provides flexibility by allowing customers to start with one configuration and then evolving overtime.
Going forward, Cockroach Labs expects Google to continue focusing on rolling out their n2 and c2 series. They will also be rolling out new AMD machine types in 2020.