Is there a good comparison table for the two types of AWS EC2 Placement Groups?
- Partition
- Spread
I have read the AWS Documentation but I am still a bit confused.
Is there a good comparison table for the two types of AWS EC2 Placement Groups?
I have read the AWS Documentation but I am still a bit confused.
Firstly, a Rack server, is a computer dedicated to be used as a server and designed to be installed in a framework called a rack. Each rack has its own network and power source.
In Cluster Placement group, all instances are placed within a rack. If the rack fails (hardware failure), all instances fails at the same time. Hence, this is not suitable for High Availability or mission critical applications. But ideal for High Performance applications, as all the instances are in very close proximity to each other.
In Spread Placement group, each instance is placed in its own distinct rack. Each rack has at most one instance. A rack failure (hardware failure) will not affect more than one instance. Hence, this is ideal for High Availability or mission critical applications. But not really suitable for High Performance applications, as the instances are spread much further apart.
In Partition Placement group, each partition represents a rack. If a rack fails (hardware failure), it may affect multiple instances on that rack, but only within that partition. This way, failure of one partition is isolated from the rest of the partitions. So, if you have replication in other partitions, then your data will be safe. This placement group strikes a balance between High Performance and High Availability. This will be good for Big data applications like HDFS, HBase, Cassandra, Kafka, etc. which needs High Performance, but must also be Fault Tolerant at the same time.
After reading the AWS Documentation a bit more and googling a little bit more, I think I have some idea. Let me try to provide the answer myself below. Comments are welcome.
Parition Placement Group
Spread Placement Group
Spread: i) No visibility into the groups. ii) You cannot launch an instance into a specific group. iii) Seven EC2 instances per AZ per group. iv) Small number of critical workload instances
Partition: i) It offers visibility into the partition. ii) You can use partition-aware big-data apps. (Hadoop, Kafka, etc.) iii) Can launch up to hundreds of EC2 instances in a single partition per AZ. iv) Can launch an instance into specific partition, it offers more control.
Reference: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html