A method for operating a storage system, comprising: receiving an I/O request by a storage system front end on a first server of a plurality of servers of the storage system; determining a relevant storage system back end , of a plurality of storage system back ends , according to the I/O request, each server of the plurality of servers comprising one or more storage system back ends of the plurality of storage system back ends , wherein the plurality of storage system back ends are responsible for resiliency, and wherein the resiliency is configured according to a stripe size of an erasure-coding stripe and a protection level, and wherein the erasure-coding stripe never has more than one representative from each failure domain, wherein a failure domain refers to a group of servers of the plurality of servers which could become inaccessible due to a single external failure; relaying information associated with the I/O request to the relevant storage system back end ; and communicating metadata associated with the I/O request between the relevant storage system back end and a first solid state drive (SSD) of a plurality of SSDs of the storage system via an SSD agent of a plurality of SSD agents , wherein the relevant storage system back end stores relevant information on object storage as well as communicates with the SSD agent , and wherein an SSD agent resides on each server that contains an SSD used by the storage system , and wherein the SSD agent on a particular server provides a particular SSD , which the particular server contains, with access to all storage system back ends of the plurality of servers. receiving an I/O request by a storage system front end on a first server of a plurality of servers of the storage system; determining a relevant storage system back end , of a plurality of storage system back ends , according to the I/O request, each server of the plurality of servers comprising one or more storage system back ends of the plurality of storage system back ends , wherein the plurality of storage system back ends are responsible for resiliency, and wherein the resiliency is configured according to a stripe size of an erasure-coding stripe and a protection level, and wherein the erasure-coding stripe never has more than one representative from each failure domain, wherein a failure domain refers to a group of servers of the plurality of servers which could become inaccessible due to a single external failure; relaying information associated with the I/O request to the relevant storage system back end ; and communicating metadata associated with the I/O request between the relevant storage system back end and a first solid state drive (SSD) of a plurality of SSDs of the storage system via an SSD agent of a plurality of SSD agents , wherein the relevant storage system back end stores relevant information on object storage as well as communicates with the SSD agent , and wherein an SSD agent resides on each server that contains an SSD used by the storage system , and wherein the SSD agent on a particular server provides a particular SSD , which the particular server contains, with access to all storage system back ends of the plurality of servers. <EOS>