A method for selecting an erasure coding scheme from a plurality of erasure coding schemes for encoding data chunks across multiple storage zones (310, 320, 330), wherein zones comprise buildings, data centers and geographic regions providing a storage service and wherein the plurality of erasure coding schemes is associated with a plurality of dimensions such as cost, performance and reliability that define implementation constraints, the method comprising: providing a plurality of erasure coding schemes, wherein each of the plurality of erasure coding schemes is associated with a plurality of dimensions such as cost, performance and reliability that define implementation constraints; selecting an erasure coding scheme for encoding a data chunk based at least in part on the plurality of dimensions; and encoding the data chunk using the erasure coding scheme selected, the erasure coding scheme divides the data chunk into a plurality of sub-fragments in one or more groups in a selected zone from the plurality of zones, each of the one or more groups comprising one or more zone data-fragments in the selected zone, computing a plurality of reconstruction parities, each of the plurality of reconstruction parities computed using at least one sub-fragment from the plurality of sub-fragments, wherein the plurality of reconstruction parities comprises at least one cross-zone parity; assigning the at least one cross-zone parity to a parity zone, wherein the cross-zone parity provides cross-zone reconstruction of a portion of the data chunk; and reconstructing data using the plurality of sub-fragments and the plurality of reconstruction parities, associated with the plurality of zones, wherein the data is reconstructed based on an erasure coding scheme of the data, and wherein recovering data for a first erasure coding scheme comprises: providing local reconstruction within a recovery zone and maximum fault-tolerance across zones using local parities and zones parities; for a second erasure coding scheme comprises: providing local reconstruction within the recovery zone and maximum fault-tolerance across zones using local parities and inter-zone parities; and for a third erasure coding scheme comprises: providing maximum fault-tolerance across zones using inter-zone parities. providing a plurality of erasure coding schemes, wherein each of the plurality of erasure coding schemes is associated with a plurality of dimensions such as cost, performance and reliability that define implementation constraints; selecting an erasure coding scheme for encoding a data chunk based at least in part on the plurality of dimensions; and encoding the data chunk using the erasure coding scheme selected, the erasure coding scheme divides the data chunk into a plurality of sub-fragments in one or more groups in a selected zone from the plurality of zones, each of the one or more groups comprising one or more zone data-fragments in the selected zone, computing a plurality of reconstruction parities, each of the plurality of reconstruction parities computed using at least one sub-fragment from the plurality of sub-fragments, wherein the plurality of reconstruction parities comprises at least one cross-zone parity; assigning the at least one cross-zone parity to a parity zone, wherein the cross-zone parity provides cross-zone reconstruction of a portion of the data chunk; and reconstructing data using the plurality of sub-fragments and the plurality of reconstruction parities, associated with the plurality of zones, wherein the data is reconstructed based on an erasure coding scheme of the data, and wherein recovering data for a first erasure coding scheme comprises: providing local reconstruction within a recovery zone and maximum fault-tolerance across zones using local parities and zones parities; for a second erasure coding scheme comprises: providing local reconstruction within the recovery zone and maximum fault-tolerance across zones using local parities and inter-zone parities; and for a third erasure coding scheme comprises: providing maximum fault-tolerance across zones using inter-zone parities. providing local reconstruction within a recovery zone and maximum fault-tolerance across zones using local parities and zones parities; for a second erasure coding scheme comprises: providing local reconstruction within the recovery zone and maximum fault-tolerance across zones using local parities and inter-zone parities; and providing local reconstruction within the recovery zone and maximum fault-tolerance across zones using local parities and inter-zone parities; and for a third erasure coding scheme comprises: providing maximum fault-tolerance across zones using inter-zone parities. providing maximum fault-tolerance across zones using inter-zone parities.