If you are going to plan your Blockchain Network Deployment on AWS, Azure, GCP or even a Private Cloud. My question is how do you decide what metal should power it and then what's the definition of that Metal?
There are so many individual opinions available and it's mostly left to the DevOps expertise available in-house to decide.
Our objective is to explore a logical way on one of the, and I repeat, only one of the aspects of which is responsible to affect a Blockchain Node, The Compute.
To start with;
1 Core != 1 Core
1vCpu != 1 vCpu
Furthermore;
AWS 1vCpu != GCP 1vCpu
And even more;
1 Memory optimized vCpu != 1 Compute Optimized vCpu
Before Kubernetes and Docker generation Jumps upon or AWS Fargate gets into the arena to question, I would say that 90% of us don't even know if the difference actually matters and is important for decision making and there is more to it than we think. Lets explore!
Write in the comment section that your K8's or Docker or any type of implementation which you are a fan of doesn't require the physical metal underneath and it doesn't affect the performance. I wont write further and you don't read further.
If you are reading further, you either are curious or logical or reading at least to find some gaps to write into the comment section. Well, anyways its good and I respect that. Focusing back on the topic, What's the compute factor while choosing a machine for my blockchain network?
Some quick questions before we move forward:
The purpose of the questions is just to trigger the context deeper and specifying the need comparing what we have discussed until now.
For every Blockchain where validator or smart contracts or ordering services cant run on multiple CPU cores parallelly then definitely the importance of a single core with higher Clock speed becomes a decisive factor while you plan your metal.
Now let's try to understand why Clock speed matters and what it is?
Inside your CPU as it processes several many instructions (low-level ALU operations) from different applications or programs every second. Clock speed here is a measurement of the maximum number of cycles the CPU executed per second in GHz.
A synchronized pulse from an internal oscillator is called a "Cycle". Within every cycle, CPU opens and closes billions of transistors installed on it. Simply, a CPU having a clock speed of 3.2 GHz executes 3.2 billion cycles per second.
Another factor is bogomips somewhere deep on the internet it is found with additional humor added to it that bogomips is the number of million times per second a processor can do absolutely nothing. One more clear definition came from Alessandro Rubini, and by how-to-author Wim van Dorst:
MIPS is short for Millions of Instructions Per Second. It is a measure for the computation speed of a program. Like most such measures, it is more often abused than used properly (it is very difficult to justly compare MIPS for different kinds of computers).
BogoMips was created by the legend himself - Linus Torvalds, in one of the oldest Linux Kernels 0.99.11 somewhere in July 1993, seeing the need for a timing loop to calibrate the processing speed of the machine. It's indicative but came out to be the only unified way across processors to help with the understating of computing capabilities under the hood.
And be honest in the comment section if you are one of those DevOps engineers for whom this side was totally dark and you never looked into or considered.
If we pick up AWS EC2 for an example, apart from regular compute you have z1d instances with 4.0 GHz, you have accelerated computing p instances with High frequency 2.5 GHz base (2.3 - 3.1) Intel Xeon P-8175M processors, you have i instances storage optimized with 2.3 GHz Intel Xeon E5 2686 v4 Processor and many more.
These are just some examples to help one understand that cost may be the only outcome we look at but the optimization of cost to performance is a must to achieve the desired performance out of your Blockchain nodes/peers.
To conclude;
1 Core, 1.8 GHz != 1 Core, 2.3 GHz
1vCpu, 2.8Ghz 4800 BogoMips != 1 vCpu, 2.8 Ghz 5400 BogoMips (CPU Architecture & generation diff)
Furthermore;
AWS 1vCpu != GCP 1vCpu as they have different GHz and MIPS for the same type.
And even more;
1 Memory-optimized vCpu != 1 Compute Optimized vCpu - Cost, RAM and storage aren't the only differences.
I hope you got the perspective right as putting it all together requires a DevOps Bible and doing it all every other deployment is agony. Hence we created Zeeve :)
We at Zeeve automates the optimization of your cloud resources underneath even if you are using Kubernetes or Native. Zeeve helps you master the performance of your production Blockchain nodes while keeping the cost at optimal best.
It keeps you notified of the demand and cost of resizing across clouds.
Join our #community on telegram (https://t.me/ZeevePlatform) and talk to our expert team to know the difference you can make.
Be a class apart on your #Blockchain #DevOps, Join us - https://www.zeeve.io