A device, comprising: at least one processor; and a memory comprising program instructions, wherein the program instructions are executable by the at least one processor to implement a storage gateway process that receives I/O requests including write requests from one or more client processes on a local network via one or more I/O ports, appends write data indicated by the write requests to an in-memory portion of a write log on a local data store, and uploads write data from the write log to a remote data store; wherein the program instructions are further executable by the at least one processor to download an update package from a remote network, direct the storage gateway process to shut down, and instantiate an updated storage gateway process in the memory according to the downloaded update package; wherein, in response to receiving the direction to shut down, the storage gateway process persists a storage gateway configuration that includes an indication of the one or more I/O ports, flushes write data from the in-memory portion of the write log to the local data store, and releases the one or more I/O ports, wherein, to flush write data from the in-memory portion of the write log to the local data store, the storage gateway process: flushes write data of the write log to the local data store; stops acceptance of subsequent write requests on the one or more I/O ports; and replies to each of the subsequent write requests to inform a respective client process to retry the write request; and wherein the updated storage gateway process loads the persisted storage gateway configuration and, subsequent to the storage gateway process releasing the one or more I/O ports, takes over storage gateway operations from the storage gateway process, wherein to take over storage gateway operations includes: detecting that the one or more I/O ports have been released by the storage gateway process, opening the one or more I/O ports, and beginning receipt and processing of I/O requests that include write requests from the one or more client processes via the one or more I/O ports, wherein the write requests include at least one retry of a write request that that was not accepted by the storage gateway process during said flush write data of the write log to the local data store. at least one processor; and a memory comprising program instructions, wherein the program instructions are executable by the at least one processor to implement a storage gateway process that receives I/O requests including write requests from one or more client processes on a local network via one or more I/O ports, appends write data indicated by the write requests to an in-memory portion of a write log on a local data store, and uploads write data from the write log to a remote data store; wherein the program instructions are further executable by the at least one processor to download an update package from a remote network, direct the storage gateway process to shut down, and instantiate an updated storage gateway process in the memory according to the downloaded update package; wherein, in response to receiving the direction to shut down, the storage gateway process persists a storage gateway configuration that includes an indication of the one or more I/O ports, flushes write data from the in-memory portion of the write log to the local data store, and releases the one or more I/O ports, wherein, to flush write data from the in-memory portion of the write log to the local data store, the storage gateway process: flushes write data of the write log to the local data store; stops acceptance of subsequent write requests on the one or more I/O ports; and replies to each of the subsequent write requests to inform a respective client process to retry the write request; and flushes write data of the write log to the local data store; stops acceptance of subsequent write requests on the one or more I/O ports; and replies to each of the subsequent write requests to inform a respective client process to retry the write request; and wherein the updated storage gateway process loads the persisted storage gateway configuration and, subsequent to the storage gateway process releasing the one or more I/O ports, takes over storage gateway operations from the storage gateway process, wherein to take over storage gateway operations includes: detecting that the one or more I/O ports have been released by the storage gateway process, opening the one or more I/O ports, and beginning receipt and processing of I/O requests that include write requests from the one or more client processes via the one or more I/O ports, wherein the write requests include at least one retry of a write request that that was not accepted by the storage gateway process during said flush write data of the write log to the local data store. detecting that the one or more I/O ports have been released by the storage gateway process, opening the one or more I/O ports, and beginning receipt and processing of I/O requests that include write requests from the one or more client processes via the one or more I/O ports, wherein the write requests include at least one retry of a write request that that was not accepted by the storage gateway process during said flush write data of the write log to the local data store.