1. A system comprising: a) an application configured to: i) divide a file into a plurality of file chunks if a size for the file is greater than a pre-determined file size threshold; ii) write the file or the plurality of file chunks to a file storage system; iii) write a customized metadata about the file or the plurality of file chunks to a data storage; iv) receive a request from a user for the file or the plurality of file chunks stored within the file storage system, and a request for the customized metadata about the file or the plurality of file chunks stored in the data storage; v) read the file or the plurality of file chunks from the file storage system; and vi) read the customized metadata about the file or the plurality of file chunks from the data storage; b) one or more tracker servers comprising: i) an event-based server software comprising one or more parent processes; and ii) a process management system configured to manage one or more communications between the application and the file storage system, the process management system comprising one or more process workers; c) one or more storage node servers comprising: i) one or more web server software components configured to store the file or the plurality of file chunks and to serve web content; and ii) one or more additional process workers configured to ensure that the file storage system runs smoothly; and d) one or more databases within the data storage comprising the customized metadata, a namespace and a file location for the file or the plurality of file chunks and a plurality of server information comprising location information and status information about each of a plurality of servers within the file storage system.