SlideShare uma empresa Scribd logo
1 de 49
Baixar para ler offline
Outline
                                    Introduction
                                Implementation
                                    Architecture
                           Future improvements




VaporStore the design of a real-world cloud
               filesystem

        Igor Bogicevic (igor.bogicevic@sbgenomics.com)



                                        July 3, 2010




  Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                           Introduction
                                       Implementation
                                           Architecture
                                  Future improvements



Introduction
    So what do we need?
    And which options do we have?
Implementation
   Challenges of implementing a cloud filesystem
   Requirements revisited
   Big Picture
   Terminology
Architecture
   Major components
   Lifecycle of a file
   ”Lazy” updates
Future improvements
   Stability and Security
   Features

         Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction
                                                           So what do we need?
                                        Implementation
                                                           And which options do we have?
                                            Architecture
                                   Future improvements



So what do we need?


      A filesystem designed to be a persistence layer for a various
      Bioinformatic software that will be running in the cloud.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction
                                                           So what do we need?
                                        Implementation
                                                           And which options do we have?
                                            Architecture
                                   Future improvements



So what do we need?


      A filesystem designed to be a persistence layer for a various
      Bioinformatic software that will be running in the cloud.
      Has to support a ”Big Data” (easily 100MB-100GB per-file).




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction
                                                           So what do we need?
                                        Implementation
                                                           And which options do we have?
                                            Architecture
                                   Future improvements



So what do we need?


      A filesystem designed to be a persistence layer for a various
      Bioinformatic software that will be running in the cloud.
      Has to support a ”Big Data” (easily 100MB-100GB per-file).
      Has to support a partial file uploads and possibility to continue file
      upload from the last uploaded fragment for large files.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction
                                                           So what do we need?
                                        Implementation
                                                           And which options do we have?
                                            Architecture
                                   Future improvements



So what do we need?


      A filesystem designed to be a persistence layer for a various
      Bioinformatic software that will be running in the cloud.
      Has to support a ”Big Data” (easily 100MB-100GB per-file).
      Has to support a partial file uploads and possibility to continue file
      upload from the last uploaded fragment for large files.
      Has to support a concurrent clients and to act as a distributed
      filesystem.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction
                                                           So what do we need?
                                        Implementation
                                                           And which options do we have?
                                            Architecture
                                   Future improvements



So what do we need?


      A filesystem designed to be a persistence layer for a various
      Bioinformatic software that will be running in the cloud.
      Has to support a ”Big Data” (easily 100MB-100GB per-file).
      Has to support a partial file uploads and possibility to continue file
      upload from the last uploaded fragment for large files.
      Has to support a concurrent clients and to act as a distributed
      filesystem.
      Simple but complete API to mimic a filesystem interface for easy
      integration with the applications.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction
                                                           So what do we need?
                                        Implementation
                                                           And which options do we have?
                                            Architecture
                                   Future improvements



So what do we need?


      A filesystem designed to be a persistence layer for a various
      Bioinformatic software that will be running in the cloud.
      Has to support a ”Big Data” (easily 100MB-100GB per-file).
      Has to support a partial file uploads and possibility to continue file
      upload from the last uploaded fragment for large files.
      Has to support a concurrent clients and to act as a distributed
      filesystem.
      Simple but complete API to mimic a filesystem interface for easy
      integration with the applications.
      Needs to have unix-like, or even finer grained access control.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction
                                                           So what do we need?
                                        Implementation
                                                           And which options do we have?
                                            Architecture
                                   Future improvements



And which options do we have?


      Plain S3 Objects - lacks support for objects bigger than 5GB and it
      doesn’t have a fine-grained access control.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction
                                                           So what do we need?
                                        Implementation
                                                           And which options do we have?
                                            Architecture
                                   Future improvements



And which options do we have?


      Plain S3 Objects - lacks support for objects bigger than 5GB and it
      doesn’t have a fine-grained access control.
      HDFS on top of S3 - probably the best match, however it doesn’t
      support security requirements as well as partial file uploads.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction
                                                           So what do we need?
                                        Implementation
                                                           And which options do we have?
                                            Architecture
                                   Future improvements



And which options do we have?


      Plain S3 Objects - lacks support for objects bigger than 5GB and it
      doesn’t have a fine-grained access control.
      HDFS on top of S3 - probably the best match, however it doesn’t
      support security requirements as well as partial file uploads.
      Various FUSE-to-S3 interfaces - either they don’t address the
      file-size, ACL or support for multiple clients (or are just toy-FS
      implementations).




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction
                                                           So what do we need?
                                        Implementation
                                                           And which options do we have?
                                            Architecture
                                   Future improvements



And which options do we have?


      Plain S3 Objects - lacks support for objects bigger than 5GB and it
      doesn’t have a fine-grained access control.
      HDFS on top of S3 - probably the best match, however it doesn’t
      support security requirements as well as partial file uploads.
      Various FUSE-to-S3 interfaces - either they don’t address the
      file-size, ACL or support for multiple clients (or are just toy-FS
      implementations).
      Something else - we’d love to know about any project that meets
      these requirements!




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction
                                                           So what do we need?
                                        Implementation
                                                           And which options do we have?
                                            Architecture
                                   Future improvements



And which options do we have?


      Plain S3 Objects - lacks support for objects bigger than 5GB and it
      doesn’t have a fine-grained access control.
      HDFS on top of S3 - probably the best match, however it doesn’t
      support security requirements as well as partial file uploads.
      Various FUSE-to-S3 interfaces - either they don’t address the
      file-size, ACL or support for multiple clients (or are just toy-FS
      implementations).
      Something else - we’d love to know about any project that meets
      these requirements!
      DIY.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                                           Challenges of implementing a cloud filesystem
                                            Introduction
                                                           Requirements revisited
                                        Implementation
                                                           Big Picture
                                            Architecture
                                                           Terminology
                                   Future improvements



Challenges of implementing a cloud filesystem

      ”Cloud filesystem” means nothing more than that content and
      metadata are not local and we don’t have a strict control over
      location of the data. Also, content of the files is not local to the
      filesystem metadata - i.e. filesystem structure, file ownership, etc.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                                           Challenges of implementing a cloud filesystem
                                            Introduction
                                                           Requirements revisited
                                        Implementation
                                                           Big Picture
                                            Architecture
                                                           Terminology
                                   Future improvements



Challenges of implementing a cloud filesystem

      ”Cloud filesystem” means nothing more than that content and
      metadata are not local and we don’t have a strict control over
      location of the data. Also, content of the files is not local to the
      filesystem metadata - i.e. filesystem structure, file ownership, etc.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                                           Challenges of implementing a cloud filesystem
                                            Introduction
                                                           Requirements revisited
                                        Implementation
                                                           Big Picture
                                            Architecture
                                                           Terminology
                                   Future improvements



Challenges of implementing a cloud filesystem

      ”Cloud filesystem” means nothing more than that content and
      metadata are not local and we don’t have a strict control over
      location of the data. Also, content of the files is not local to the
      filesystem metadata - i.e. filesystem structure, file ownership, etc.
      Latencies for remote read/write operations are few orders of a
      magnitude bigger than the latencies for operations on a local
      filesystem, yet we need to ensure decent performance especially in
      respect to metadata - filesystem exploration, modifications etc. need
      to happen in close-to-local speed.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                                           Challenges of implementing a cloud filesystem
                                            Introduction
                                                           Requirements revisited
                                        Implementation
                                                           Big Picture
                                            Architecture
                                                           Terminology
                                   Future improvements



Challenges of implementing a cloud filesystem

      ”Cloud filesystem” means nothing more than that content and
      metadata are not local and we don’t have a strict control over
      location of the data. Also, content of the files is not local to the
      filesystem metadata - i.e. filesystem structure, file ownership, etc.
      Latencies for remote read/write operations are few orders of a
      magnitude bigger than the latencies for operations on a local
      filesystem, yet we need to ensure decent performance especially in
      respect to metadata - filesystem exploration, modifications etc. need
      to happen in close-to-local speed.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                                           Challenges of implementing a cloud filesystem
                                            Introduction
                                                           Requirements revisited
                                        Implementation
                                                           Big Picture
                                            Architecture
                                                           Terminology
                                   Future improvements



Challenges of implementing a cloud filesystem

      ”Cloud filesystem” means nothing more than that content and
      metadata are not local and we don’t have a strict control over
      location of the data. Also, content of the files is not local to the
      filesystem metadata - i.e. filesystem structure, file ownership, etc.
      Latencies for remote read/write operations are few orders of a
      magnitude bigger than the latencies for operations on a local
      filesystem, yet we need to ensure decent performance especially in
      respect to metadata - filesystem exploration, modifications etc. need
      to happen in close-to-local speed.
      Working with the large files implies that we’ll need a mechanism to
      support a partial content uploads to handle the failures (connection
      drops, link outages, master server downtimes etc.).



          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                                           Challenges of implementing a cloud filesystem
                                            Introduction
                                                           Requirements revisited
                                        Implementation
                                                           Big Picture
                                            Architecture
                                                           Terminology
                                   Future improvements



Requirements revisited



      Must support up to a few million files.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                                           Challenges of implementing a cloud filesystem
                                            Introduction
                                                           Requirements revisited
                                        Implementation
                                                           Big Picture
                                            Architecture
                                                           Terminology
                                   Future improvements



Requirements revisited



      Must support up to a few million files.
      Does not have to be fast, however it needs to be reliable.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                                           Challenges of implementing a cloud filesystem
                                            Introduction
                                                           Requirements revisited
                                        Implementation
                                                           Big Picture
                                            Architecture
                                                           Terminology
                                   Future improvements



Requirements revisited



      Must support up to a few million files.
      Does not have to be fast, however it needs to be reliable.
      Must implement extensible ACL interface.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                                           Challenges of implementing a cloud filesystem
                                            Introduction
                                                           Requirements revisited
                                        Implementation
                                                           Big Picture
                                            Architecture
                                                           Terminology
                                   Future improvements



Requirements revisited



      Must support up to a few million files.
      Does not have to be fast, however it needs to be reliable.
      Must implement extensible ACL interface.
      Must support a partial file uploads and downloads.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                                           Challenges of implementing a cloud filesystem
                                            Introduction
                                                           Requirements revisited
                                        Implementation
                                                           Big Picture
                                            Architecture
                                                           Terminology
                                   Future improvements



Requirements revisited



      Must support up to a few million files.
      Does not have to be fast, however it needs to be reliable.
      Must implement extensible ACL interface.
      Must support a partial file uploads and downloads.
      Must support a maintenance downtimes.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                                           Challenges of implementing a cloud filesystem
                                            Introduction
                                                           Requirements revisited
                                        Implementation
                                                           Big Picture
                                            Architecture
                                                           Terminology
                                   Future improvements



Requirements revisited



      Must support up to a few million files.
      Does not have to be fast, however it needs to be reliable.
      Must implement extensible ACL interface.
      Must support a partial file uploads and downloads.
      Must support a maintenance downtimes.
      Has to implement ”lazy” metadata persistence.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                                                  Challenges of implementing a cloud filesystem
                                                Introduction
                                                                  Requirements revisited
                                            Implementation
                                                                  Big Picture
                                                Architecture
                                                                  Terminology
                                       Future improvements



Big Picture
                                                          Vaporstore
                                                            Server


       WEB FS
       Client
                                                                                     TCP
                                  HTTP REST                                                                     Client
                                                                                  Command
                                   Interface                                                                Uploader/Sync
                                                                                  Interface
       VS Shell




                                            Session Manager                Credentials
                                                                            Storage



                                               File System
                                                Manager




                                               Block/Object
                                               Storage (S3)


                                                                                                                            .
              Igor Bogicevic (igor.bogicevic@sbgenomics.com)      VaporStore the design of a real-world cloud filesystem
Outline
                                                           Challenges of implementing a cloud filesystem
                                            Introduction
                                                           Requirements revisited
                                        Implementation
                                                           Big Picture
                                            Architecture
                                                           Terminology
                                   Future improvements



Terminology


      Filesystem - tree-based hierarchical structure containing files in
      many aspects similar to a common UNIX filesystem.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                                           Challenges of implementing a cloud filesystem
                                            Introduction
                                                           Requirements revisited
                                        Implementation
                                                           Big Picture
                                            Architecture
                                                           Terminology
                                   Future improvements



Terminology


      Filesystem - tree-based hierarchical structure containing files in
      many aspects similar to a common UNIX filesystem.
      File/Node - individual element of filesystem that represent the
      atomic structure exposed to the end users, which means that users
      of VS can add, delete, manipulate the files. File itself contains the
      metadata describing various properties of the file (i.e. ownership,
      state, type, etc.) and block information and status.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                                           Challenges of implementing a cloud filesystem
                                            Introduction
                                                           Requirements revisited
                                        Implementation
                                                           Big Picture
                                            Architecture
                                                           Terminology
                                   Future improvements



Terminology


      Filesystem - tree-based hierarchical structure containing files in
      many aspects similar to a common UNIX filesystem.
      File/Node - individual element of filesystem that represent the
      atomic structure exposed to the end users, which means that users
      of VS can add, delete, manipulate the files. File itself contains the
      metadata describing various properties of the file (i.e. ownership,
      state, type, etc.) and block information and status.
      Block - represents the content of a file itself. Each file can contain
      many blocks scattered across the storage (i.e. S3). This construct is
      in a many aspects similar to the concept of a block in HDFS.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                           Introduction   Major components
                                       Implementation     Lifecycle of a file
                                           Architecture   ”Lazy” updates
                                  Future improvements



Major components
     HTTP RESTful Interface - all operations on a filesystem structure
     are being performed through the RESTful interface and responses
     are wrapped in AVRO/JSON serialized messages. You can put, get,
     remove, update the files, or request information about it’s metadata.




         Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                           Introduction   Major components
                                       Implementation     Lifecycle of a file
                                           Architecture   ”Lazy” updates
                                  Future improvements



Major components
     HTTP RESTful Interface - all operations on a filesystem structure
     are being performed through the RESTful interface and responses
     are wrapped in AVRO/JSON serialized messages. You can put, get,
     remove, update the files, or request information about it’s metadata.
     TCP Command Interface - persistent connection used for a
     notifications and requests between server/client represented by
     simple AVRO/JSON message passing protocol.




         Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                           Introduction   Major components
                                       Implementation     Lifecycle of a file
                                           Architecture   ”Lazy” updates
                                  Future improvements



Major components
     HTTP RESTful Interface - all operations on a filesystem structure
     are being performed through the RESTful interface and responses
     are wrapped in AVRO/JSON serialized messages. You can put, get,
     remove, update the files, or request information about it’s metadata.
     TCP Command Interface - persistent connection used for a
     notifications and requests between server/client represented by
     simple AVRO/JSON message passing protocol.
     Session Manager - component used for authenticating the client
     sessions. Currently, one client can open only one session which
     might change in a future.




         Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                           Introduction   Major components
                                       Implementation     Lifecycle of a file
                                           Architecture   ”Lazy” updates
                                  Future improvements



Major components
     HTTP RESTful Interface - all operations on a filesystem structure
     are being performed through the RESTful interface and responses
     are wrapped in AVRO/JSON serialized messages. You can put, get,
     remove, update the files, or request information about it’s metadata.
     TCP Command Interface - persistent connection used for a
     notifications and requests between server/client represented by
     simple AVRO/JSON message passing protocol.
     Session Manager - component used for authenticating the client
     sessions. Currently, one client can open only one session which
     might change in a future.
     FileSystem Manager - component which performs filesystem updates
     on a persistent filesystem storage. Acts as a queue with a thread
     pool of a consumers which perform operations on a remote storage
     (i.e. S3).

         Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                             Introduction   Major components
                                         Implementation     Lifecycle of a file
                                             Architecture   ”Lazy” updates
                                    Future improvements



Lifecycle of a file

       When we create the file through the HTTP RESTful interface, we’re
       creating a new node in filesystem structure containing it’s path,
       name, metadata and the list of the blocks.




           Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                             Introduction   Major components
                                         Implementation     Lifecycle of a file
                                             Architecture   ”Lazy” updates
                                    Future improvements



Lifecycle of a file

       When we create the file through the HTTP RESTful interface, we’re
       creating a new node in filesystem structure containing it’s path,
       name, metadata and the list of the blocks.
       If operation is successful, update is queued through the Filesystem
       manager and client starts uploading the block to the (S3) storage.
       Once the block is uploaded it sends the updates to the filesystem
       that a file’s block had been uploaded. After the file/node receives
       the update it schedules the update of it’s state to the persistent
       storage through the Filesystem Manager.




           Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                             Introduction   Major components
                                         Implementation     Lifecycle of a file
                                             Architecture   ”Lazy” updates
                                    Future improvements



Lifecycle of a file

       When we create the file through the HTTP RESTful interface, we’re
       creating a new node in filesystem structure containing it’s path,
       name, metadata and the list of the blocks.
       If operation is successful, update is queued through the Filesystem
       manager and client starts uploading the block to the (S3) storage.
       Once the block is uploaded it sends the updates to the filesystem
       that a file’s block had been uploaded. After the file/node receives
       the update it schedules the update of it’s state to the persistent
       storage through the Filesystem Manager.
       After all blocks have been uploaded, we consider that this is now a
       valid file that can be accessed, and we schedule another update
       through the Filesystem manager to set it’s final state.



           Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction   Major components
                                        Implementation     Lifecycle of a file
                                            Architecture   ”Lazy” updates
                                   Future improvements



”Lazy” updates
      All updates to a persistent storage are being done ”lazy” - this
      means that each update is first being done locally in memory and
      then scheduled for a transaction on a persistent store.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction   Major components
                                        Implementation     Lifecycle of a file
                                            Architecture   ”Lazy” updates
                                   Future improvements



”Lazy” updates
      All updates to a persistent storage are being done ”lazy” - this
      means that each update is first being done locally in memory and
      then scheduled for a transaction on a persistent store.
      This is both a performance optimization and a failure handling
      mechanism.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction   Major components
                                        Implementation     Lifecycle of a file
                                            Architecture   ”Lazy” updates
                                   Future improvements



”Lazy” updates
      All updates to a persistent storage are being done ”lazy” - this
      means that each update is first being done locally in memory and
      then scheduled for a transaction on a persistent store.
      This is both a performance optimization and a failure handling
      mechanism.
      Cost of this mechanism is that we will have to re-initialize the
      certain parts of the file upload that we’ve already done or that we
      might have a ”dirty” blocks that we need to clean up if the
      filesystem fails - i.e. if we don’t update file’s information that certain
      blocks have been uploaded, we will need to upload them again to a
      storage, or if we delete a file but we don’t remove the blocks from a
      storage, we will have a ”dirty” blocks.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction   Major components
                                        Implementation     Lifecycle of a file
                                            Architecture   ”Lazy” updates
                                   Future improvements



”Lazy” updates
      All updates to a persistent storage are being done ”lazy” - this
      means that each update is first being done locally in memory and
      then scheduled for a transaction on a persistent store.
      This is both a performance optimization and a failure handling
      mechanism.
      Cost of this mechanism is that we will have to re-initialize the
      certain parts of the file upload that we’ve already done or that we
      might have a ”dirty” blocks that we need to clean up if the
      filesystem fails - i.e. if we don’t update file’s information that certain
      blocks have been uploaded, we will need to upload them again to a
      storage, or if we delete a file but we don’t remove the blocks from a
      storage, we will have a ”dirty” blocks.
      Yes, we can do this smarter in order to avoid this problems - in a
      future releases.

          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction
                                                           Stability and Security
                                        Implementation
                                                           Features
                                            Architecture
                                   Future improvements



Stability and Security


      Stability - it is fully featured except the ACLs, however it’s not well
      tested and not production-ready.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction
                                                           Stability and Security
                                        Implementation
                                                           Features
                                            Architecture
                                   Future improvements



Stability and Security


      Stability - it is fully featured except the ACLs, however it’s not well
      tested and not production-ready.
      Security - currently a client needs to get S3 credential from a server
      after it’s authenticated, however if we put the ”content proxy” in
      between client and S3 we can outsorce direct S3 access to a proxy.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction
                                                           Stability and Security
                                        Implementation
                                                           Features
                                            Architecture
                                   Future improvements



Stability and Security


      Stability - it is fully featured except the ACLs, however it’s not well
      tested and not production-ready.
      Security - currently a client needs to get S3 credential from a server
      after it’s authenticated, however if we put the ”content proxy” in
      between client and S3 we can outsorce direct S3 access to a proxy.
      Partitioning and HA - support for multiple servers handling different
      branches of a filesystem tree HA for each partition




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                            Introduction
                                                           Stability and Security
                                        Implementation
                                                           Features
                                            Architecture
                                   Future improvements



Stability and Security


      Stability - it is fully featured except the ACLs, however it’s not well
      tested and not production-ready.
      Security - currently a client needs to get S3 credential from a server
      after it’s authenticated, however if we put the ”content proxy” in
      between client and S3 we can outsorce direct S3 access to a proxy.
      Partitioning and HA - support for multiple servers handling different
      branches of a filesystem tree HA for each partition
      Bursting support - dropping the requests if we can’t handle the load.




          Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                             Introduction
                                                            Stability and Security
                                         Implementation
                                                            Features
                                             Architecture
                                    Future improvements



Features


      Various storage backends - it’s currently using S3, however it could
      use pretty much anything... anything that makes sense.




           Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                             Introduction
                                                            Stability and Security
                                         Implementation
                                                            Features
                                             Architecture
                                    Future improvements



Features


      Various storage backends - it’s currently using S3, however it could
      use pretty much anything... anything that makes sense.
      Smarter ”lazy” updates .




           Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                             Introduction
                                                            Stability and Security
                                         Implementation
                                                            Features
                                             Architecture
                                    Future improvements



Features


      Various storage backends - it’s currently using S3, however it could
      use pretty much anything... anything that makes sense.
      Smarter ”lazy” updates .
      Torrent support for a ”content proxy” - just an idea, but might
      make a sense.




           Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                             Introduction
                                                            Stability and Security
                                         Implementation
                                                            Features
                                             Architecture
                                    Future improvements



Features


      Various storage backends - it’s currently using S3, however it could
      use pretty much anything... anything that makes sense.
      Smarter ”lazy” updates .
      Torrent support for a ”content proxy” - just an idea, but might
      make a sense.
      Support for AWS import/export.




           Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                             Introduction
                                                            Stability and Security
                                         Implementation
                                                            Features
                                             Architecture
                                    Future improvements



Features


      Various storage backends - it’s currently using S3, however it could
      use pretty much anything... anything that makes sense.
      Smarter ”lazy” updates .
      Torrent support for a ”content proxy” - just an idea, but might
      make a sense.
      Support for AWS import/export.
      Richer client support - besides API and shell, we’ll add a client
      service that will perform dropbox-like synchronization.




           Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem
Outline
                                             Introduction
                                                            Stability and Security
                                         Implementation
                                                            Features
                                             Architecture
                                    Future improvements



Features


      Various storage backends - it’s currently using S3, however it could
      use pretty much anything... anything that makes sense.
      Smarter ”lazy” updates .
      Torrent support for a ”content proxy” - just an idea, but might
      make a sense.
      Support for AWS import/export.
      Richer client support - besides API and shell, we’ll add a client
      service that will perform dropbox-like synchronization.
      External queues support - configurable support using JMS instead of
      internal queue.




           Igor Bogicevic (igor.bogicevic@sbgenomics.com)   VaporStore the design of a real-world cloud filesystem

Mais conteúdo relacionado

Destaque

Tutorial slideshare clase web 2.0
Tutorial slideshare clase web 2.0Tutorial slideshare clase web 2.0
Tutorial slideshare clase web 2.0mafepacheco
 
Unience para Isban 23/04/2009
Unience para Isban 23/04/2009Unience para Isban 23/04/2009
Unience para Isban 23/04/2009jocf
 
Planeacion archies
Planeacion archiesPlaneacion archies
Planeacion archiesJa Er
 
Acentia: Advertising Campaign
Acentia: Advertising CampaignAcentia: Advertising Campaign
Acentia: Advertising CampaignBluetext
 
Responsabilidad Social Corporativa
Responsabilidad Social CorporativaResponsabilidad Social Corporativa
Responsabilidad Social CorporativaCEP
 
El pincel invisible iba formando - SL
El pincel invisible iba formando - SLEl pincel invisible iba formando - SL
El pincel invisible iba formando - SLAlfonso Caputo
 
Never work alone again with Intelligent Employee Safety Monitoring
Never work alone again with Intelligent Employee Safety MonitoringNever work alone again with Intelligent Employee Safety Monitoring
Never work alone again with Intelligent Employee Safety MonitoringCastle Group Ltd
 
Llibret de la primavera
Llibret de la primaveraLlibret de la primavera
Llibret de la primaveramagnoliaP4
 
Alfares y hornos romanos en andalucía
Alfares y hornos romanos en andalucíaAlfares y hornos romanos en andalucía
Alfares y hornos romanos en andalucíaJuan Cervera Añón
 
PERIODICO EL MANDUCO
PERIODICO EL MANDUCOPERIODICO EL MANDUCO
PERIODICO EL MANDUCOgonzalo diaz
 
RMS Online Testing
RMS Online TestingRMS Online Testing
RMS Online Testingbetsybklein
 
Primeiras citas de Sympetrum flaveolum en Galicia
Primeiras citas de Sympetrum flaveolum en GaliciaPrimeiras citas de Sympetrum flaveolum en Galicia
Primeiras citas de Sympetrum flaveolum en GaliciaMartiño Cabana
 

Destaque (17)

Inicio a la web
Inicio a la webInicio a la web
Inicio a la web
 
Estadisticas
EstadisticasEstadisticas
Estadisticas
 
Tutorial slideshare clase web 2.0
Tutorial slideshare clase web 2.0Tutorial slideshare clase web 2.0
Tutorial slideshare clase web 2.0
 
Unience para Isban 23/04/2009
Unience para Isban 23/04/2009Unience para Isban 23/04/2009
Unience para Isban 23/04/2009
 
Planeacion archies
Planeacion archiesPlaneacion archies
Planeacion archies
 
Acentia: Advertising Campaign
Acentia: Advertising CampaignAcentia: Advertising Campaign
Acentia: Advertising Campaign
 
1. Ecuador2008 Rodrigo Valades V.2.0
1. Ecuador2008 Rodrigo Valades V.2.01. Ecuador2008 Rodrigo Valades V.2.0
1. Ecuador2008 Rodrigo Valades V.2.0
 
Responsabilidad Social Corporativa
Responsabilidad Social CorporativaResponsabilidad Social Corporativa
Responsabilidad Social Corporativa
 
LOCAL'INFOS n°26
LOCAL'INFOS n°26 LOCAL'INFOS n°26
LOCAL'INFOS n°26
 
El pincel invisible iba formando - SL
El pincel invisible iba formando - SLEl pincel invisible iba formando - SL
El pincel invisible iba formando - SL
 
Hombres primera parte
Hombres primera parteHombres primera parte
Hombres primera parte
 
Never work alone again with Intelligent Employee Safety Monitoring
Never work alone again with Intelligent Employee Safety MonitoringNever work alone again with Intelligent Employee Safety Monitoring
Never work alone again with Intelligent Employee Safety Monitoring
 
Llibret de la primavera
Llibret de la primaveraLlibret de la primavera
Llibret de la primavera
 
Alfares y hornos romanos en andalucía
Alfares y hornos romanos en andalucíaAlfares y hornos romanos en andalucía
Alfares y hornos romanos en andalucía
 
PERIODICO EL MANDUCO
PERIODICO EL MANDUCOPERIODICO EL MANDUCO
PERIODICO EL MANDUCO
 
RMS Online Testing
RMS Online TestingRMS Online Testing
RMS Online Testing
 
Primeiras citas de Sympetrum flaveolum en Galicia
Primeiras citas de Sympetrum flaveolum en GaliciaPrimeiras citas de Sympetrum flaveolum en Galicia
Primeiras citas de Sympetrum flaveolum en Galicia
 

Semelhante a VaporStore – the design of a real-world cloud filesystem

Project SpaceLock - Architecture & Design
Project SpaceLock - Architecture & DesignProject SpaceLock - Architecture & Design
Project SpaceLock - Architecture & DesignAbhishek Mishra
 
Modern Software Infrastructures Revisited
Modern Software Infrastructures RevisitedModern Software Infrastructures Revisited
Modern Software Infrastructures Revisitedibogicevic
 
GOOGLE APP ENGINE Training in Chennai
GOOGLE APP ENGINE Training in ChennaiGOOGLE APP ENGINE Training in Chennai
GOOGLE APP ENGINE Training in Chennailakshmipriyaaka
 
Put the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionPut the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionObeo
 
The Orfeo Toolbox remote sensing image processing software
The Orfeo Toolbox remote sensing image processing softwareThe Orfeo Toolbox remote sensing image processing software
The Orfeo Toolbox remote sensing image processing softwaremelaneum
 
Architecting for Change: An Agile Approach
Architecting for Change: An Agile ApproachArchitecting for Change: An Agile Approach
Architecting for Change: An Agile ApproachBen Stopford
 
OSGi DevCon US 2010 Review
OSGi DevCon US 2010 ReviewOSGi DevCon US 2010 Review
OSGi DevCon US 2010 Reviewmfrancis
 
DSC NTUE Info Session
DSC NTUE Info SessionDSC NTUE Info Session
DSC NTUE Info Sessionssusera8eac9
 
Patterns for Open Source Success
Patterns for Open Source SuccessPatterns for Open Source Success
Patterns for Open Source SuccessStephen Walli
 
A Framework for Open Source Software Success
A Framework for Open Source Software SuccessA Framework for Open Source Software Success
A Framework for Open Source Software SuccessPaula Hunter
 
The Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayThe Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayDivya Watson
 
Lean Engineering. Applying Lean Principles to Building Experiences
Lean Engineering. Applying Lean Principles to Building ExperiencesLean Engineering. Applying Lean Principles to Building Experiences
Lean Engineering. Applying Lean Principles to Building ExperiencesBill Scott
 
Qiita Engineer Summit 2021 LT 食べログでフロントエンドのリプレースやっていってます!
Qiita Engineer Summit 2021 LT 食べログでフロントエンドのリプレースやっていってます!Qiita Engineer Summit 2021 LT 食べログでフロントエンドのリプレースやっていってます!
Qiita Engineer Summit 2021 LT 食べログでフロントエンドのリプレースやっていってます!Tsuji Yuko
 
Accelerating Innovation with Java: The Future is Today
Accelerating Innovation with Java: The Future is TodayAccelerating Innovation with Java: The Future is Today
Accelerating Innovation with Java: The Future is TodayJohn Duimovich
 
DockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General SessionDockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General SessionDocker, Inc.
 
stackconf 2020 | Ignite talk: Infrastructure-level solutions for modern Micro...
stackconf 2020 | Ignite talk: Infrastructure-level solutions for modern Micro...stackconf 2020 | Ignite talk: Infrastructure-level solutions for modern Micro...
stackconf 2020 | Ignite talk: Infrastructure-level solutions for modern Micro...NETWAYS
 

Semelhante a VaporStore – the design of a real-world cloud filesystem (20)

Project SpaceLock - Architecture & Design
Project SpaceLock - Architecture & DesignProject SpaceLock - Architecture & Design
Project SpaceLock - Architecture & Design
 
Django Seminar
Django SeminarDjango Seminar
Django Seminar
 
Modern Software Infrastructures Revisited
Modern Software Infrastructures RevisitedModern Software Infrastructures Revisited
Modern Software Infrastructures Revisited
 
GOOGLE APP ENGINE Training in Chennai
GOOGLE APP ENGINE Training in ChennaiGOOGLE APP ENGINE Training in Chennai
GOOGLE APP ENGINE Training in Chennai
 
Put the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight SessionPut the Power of Cloud-based Modeling to Work - Spotlight Session
Put the Power of Cloud-based Modeling to Work - Spotlight Session
 
OSGI,
OSGI,OSGI,
OSGI,
 
The Orfeo Toolbox remote sensing image processing software
The Orfeo Toolbox remote sensing image processing softwareThe Orfeo Toolbox remote sensing image processing software
The Orfeo Toolbox remote sensing image processing software
 
Architecting for Change: An Agile Approach
Architecting for Change: An Agile ApproachArchitecting for Change: An Agile Approach
Architecting for Change: An Agile Approach
 
OSGi DevCon US 2010 Review
OSGi DevCon US 2010 ReviewOSGi DevCon US 2010 Review
OSGi DevCon US 2010 Review
 
The Automated Monolith
The Automated MonolithThe Automated Monolith
The Automated Monolith
 
DSC NTUE Info Session
DSC NTUE Info SessionDSC NTUE Info Session
DSC NTUE Info Session
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Patterns for Open Source Success
Patterns for Open Source SuccessPatterns for Open Source Success
Patterns for Open Source Success
 
A Framework for Open Source Software Success
A Framework for Open Source Software SuccessA Framework for Open Source Software Success
A Framework for Open Source Software Success
 
The Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayThe Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios Essay
 
Lean Engineering. Applying Lean Principles to Building Experiences
Lean Engineering. Applying Lean Principles to Building ExperiencesLean Engineering. Applying Lean Principles to Building Experiences
Lean Engineering. Applying Lean Principles to Building Experiences
 
Qiita Engineer Summit 2021 LT 食べログでフロントエンドのリプレースやっていってます!
Qiita Engineer Summit 2021 LT 食べログでフロントエンドのリプレースやっていってます!Qiita Engineer Summit 2021 LT 食べログでフロントエンドのリプレースやっていってます!
Qiita Engineer Summit 2021 LT 食べログでフロントエンドのリプレースやっていってます!
 
Accelerating Innovation with Java: The Future is Today
Accelerating Innovation with Java: The Future is TodayAccelerating Innovation with Java: The Future is Today
Accelerating Innovation with Java: The Future is Today
 
DockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General SessionDockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General Session
 
stackconf 2020 | Ignite talk: Infrastructure-level solutions for modern Micro...
stackconf 2020 | Ignite talk: Infrastructure-level solutions for modern Micro...stackconf 2020 | Ignite talk: Infrastructure-level solutions for modern Micro...
stackconf 2020 | Ignite talk: Infrastructure-level solutions for modern Micro...
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

VaporStore – the design of a real-world cloud filesystem

  • 1. Outline Introduction Implementation Architecture Future improvements VaporStore the design of a real-world cloud filesystem Igor Bogicevic (igor.bogicevic@sbgenomics.com) July 3, 2010 Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 2. Outline Introduction Implementation Architecture Future improvements Introduction So what do we need? And which options do we have? Implementation Challenges of implementing a cloud filesystem Requirements revisited Big Picture Terminology Architecture Major components Lifecycle of a file ”Lazy” updates Future improvements Stability and Security Features Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 3. Outline Introduction So what do we need? Implementation And which options do we have? Architecture Future improvements So what do we need? A filesystem designed to be a persistence layer for a various Bioinformatic software that will be running in the cloud. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 4. Outline Introduction So what do we need? Implementation And which options do we have? Architecture Future improvements So what do we need? A filesystem designed to be a persistence layer for a various Bioinformatic software that will be running in the cloud. Has to support a ”Big Data” (easily 100MB-100GB per-file). Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 5. Outline Introduction So what do we need? Implementation And which options do we have? Architecture Future improvements So what do we need? A filesystem designed to be a persistence layer for a various Bioinformatic software that will be running in the cloud. Has to support a ”Big Data” (easily 100MB-100GB per-file). Has to support a partial file uploads and possibility to continue file upload from the last uploaded fragment for large files. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 6. Outline Introduction So what do we need? Implementation And which options do we have? Architecture Future improvements So what do we need? A filesystem designed to be a persistence layer for a various Bioinformatic software that will be running in the cloud. Has to support a ”Big Data” (easily 100MB-100GB per-file). Has to support a partial file uploads and possibility to continue file upload from the last uploaded fragment for large files. Has to support a concurrent clients and to act as a distributed filesystem. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 7. Outline Introduction So what do we need? Implementation And which options do we have? Architecture Future improvements So what do we need? A filesystem designed to be a persistence layer for a various Bioinformatic software that will be running in the cloud. Has to support a ”Big Data” (easily 100MB-100GB per-file). Has to support a partial file uploads and possibility to continue file upload from the last uploaded fragment for large files. Has to support a concurrent clients and to act as a distributed filesystem. Simple but complete API to mimic a filesystem interface for easy integration with the applications. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 8. Outline Introduction So what do we need? Implementation And which options do we have? Architecture Future improvements So what do we need? A filesystem designed to be a persistence layer for a various Bioinformatic software that will be running in the cloud. Has to support a ”Big Data” (easily 100MB-100GB per-file). Has to support a partial file uploads and possibility to continue file upload from the last uploaded fragment for large files. Has to support a concurrent clients and to act as a distributed filesystem. Simple but complete API to mimic a filesystem interface for easy integration with the applications. Needs to have unix-like, or even finer grained access control. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 9. Outline Introduction So what do we need? Implementation And which options do we have? Architecture Future improvements And which options do we have? Plain S3 Objects - lacks support for objects bigger than 5GB and it doesn’t have a fine-grained access control. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 10. Outline Introduction So what do we need? Implementation And which options do we have? Architecture Future improvements And which options do we have? Plain S3 Objects - lacks support for objects bigger than 5GB and it doesn’t have a fine-grained access control. HDFS on top of S3 - probably the best match, however it doesn’t support security requirements as well as partial file uploads. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 11. Outline Introduction So what do we need? Implementation And which options do we have? Architecture Future improvements And which options do we have? Plain S3 Objects - lacks support for objects bigger than 5GB and it doesn’t have a fine-grained access control. HDFS on top of S3 - probably the best match, however it doesn’t support security requirements as well as partial file uploads. Various FUSE-to-S3 interfaces - either they don’t address the file-size, ACL or support for multiple clients (or are just toy-FS implementations). Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 12. Outline Introduction So what do we need? Implementation And which options do we have? Architecture Future improvements And which options do we have? Plain S3 Objects - lacks support for objects bigger than 5GB and it doesn’t have a fine-grained access control. HDFS on top of S3 - probably the best match, however it doesn’t support security requirements as well as partial file uploads. Various FUSE-to-S3 interfaces - either they don’t address the file-size, ACL or support for multiple clients (or are just toy-FS implementations). Something else - we’d love to know about any project that meets these requirements! Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 13. Outline Introduction So what do we need? Implementation And which options do we have? Architecture Future improvements And which options do we have? Plain S3 Objects - lacks support for objects bigger than 5GB and it doesn’t have a fine-grained access control. HDFS on top of S3 - probably the best match, however it doesn’t support security requirements as well as partial file uploads. Various FUSE-to-S3 interfaces - either they don’t address the file-size, ACL or support for multiple clients (or are just toy-FS implementations). Something else - we’d love to know about any project that meets these requirements! DIY. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 14. Outline Challenges of implementing a cloud filesystem Introduction Requirements revisited Implementation Big Picture Architecture Terminology Future improvements Challenges of implementing a cloud filesystem ”Cloud filesystem” means nothing more than that content and metadata are not local and we don’t have a strict control over location of the data. Also, content of the files is not local to the filesystem metadata - i.e. filesystem structure, file ownership, etc. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 15. Outline Challenges of implementing a cloud filesystem Introduction Requirements revisited Implementation Big Picture Architecture Terminology Future improvements Challenges of implementing a cloud filesystem ”Cloud filesystem” means nothing more than that content and metadata are not local and we don’t have a strict control over location of the data. Also, content of the files is not local to the filesystem metadata - i.e. filesystem structure, file ownership, etc. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 16. Outline Challenges of implementing a cloud filesystem Introduction Requirements revisited Implementation Big Picture Architecture Terminology Future improvements Challenges of implementing a cloud filesystem ”Cloud filesystem” means nothing more than that content and metadata are not local and we don’t have a strict control over location of the data. Also, content of the files is not local to the filesystem metadata - i.e. filesystem structure, file ownership, etc. Latencies for remote read/write operations are few orders of a magnitude bigger than the latencies for operations on a local filesystem, yet we need to ensure decent performance especially in respect to metadata - filesystem exploration, modifications etc. need to happen in close-to-local speed. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 17. Outline Challenges of implementing a cloud filesystem Introduction Requirements revisited Implementation Big Picture Architecture Terminology Future improvements Challenges of implementing a cloud filesystem ”Cloud filesystem” means nothing more than that content and metadata are not local and we don’t have a strict control over location of the data. Also, content of the files is not local to the filesystem metadata - i.e. filesystem structure, file ownership, etc. Latencies for remote read/write operations are few orders of a magnitude bigger than the latencies for operations on a local filesystem, yet we need to ensure decent performance especially in respect to metadata - filesystem exploration, modifications etc. need to happen in close-to-local speed. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 18. Outline Challenges of implementing a cloud filesystem Introduction Requirements revisited Implementation Big Picture Architecture Terminology Future improvements Challenges of implementing a cloud filesystem ”Cloud filesystem” means nothing more than that content and metadata are not local and we don’t have a strict control over location of the data. Also, content of the files is not local to the filesystem metadata - i.e. filesystem structure, file ownership, etc. Latencies for remote read/write operations are few orders of a magnitude bigger than the latencies for operations on a local filesystem, yet we need to ensure decent performance especially in respect to metadata - filesystem exploration, modifications etc. need to happen in close-to-local speed. Working with the large files implies that we’ll need a mechanism to support a partial content uploads to handle the failures (connection drops, link outages, master server downtimes etc.). Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 19. Outline Challenges of implementing a cloud filesystem Introduction Requirements revisited Implementation Big Picture Architecture Terminology Future improvements Requirements revisited Must support up to a few million files. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 20. Outline Challenges of implementing a cloud filesystem Introduction Requirements revisited Implementation Big Picture Architecture Terminology Future improvements Requirements revisited Must support up to a few million files. Does not have to be fast, however it needs to be reliable. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 21. Outline Challenges of implementing a cloud filesystem Introduction Requirements revisited Implementation Big Picture Architecture Terminology Future improvements Requirements revisited Must support up to a few million files. Does not have to be fast, however it needs to be reliable. Must implement extensible ACL interface. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 22. Outline Challenges of implementing a cloud filesystem Introduction Requirements revisited Implementation Big Picture Architecture Terminology Future improvements Requirements revisited Must support up to a few million files. Does not have to be fast, however it needs to be reliable. Must implement extensible ACL interface. Must support a partial file uploads and downloads. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 23. Outline Challenges of implementing a cloud filesystem Introduction Requirements revisited Implementation Big Picture Architecture Terminology Future improvements Requirements revisited Must support up to a few million files. Does not have to be fast, however it needs to be reliable. Must implement extensible ACL interface. Must support a partial file uploads and downloads. Must support a maintenance downtimes. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 24. Outline Challenges of implementing a cloud filesystem Introduction Requirements revisited Implementation Big Picture Architecture Terminology Future improvements Requirements revisited Must support up to a few million files. Does not have to be fast, however it needs to be reliable. Must implement extensible ACL interface. Must support a partial file uploads and downloads. Must support a maintenance downtimes. Has to implement ”lazy” metadata persistence. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 25. Outline Challenges of implementing a cloud filesystem Introduction Requirements revisited Implementation Big Picture Architecture Terminology Future improvements Big Picture Vaporstore Server WEB FS Client TCP HTTP REST Client Command Interface Uploader/Sync Interface VS Shell Session Manager Credentials Storage File System Manager Block/Object Storage (S3) . Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 26. Outline Challenges of implementing a cloud filesystem Introduction Requirements revisited Implementation Big Picture Architecture Terminology Future improvements Terminology Filesystem - tree-based hierarchical structure containing files in many aspects similar to a common UNIX filesystem. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 27. Outline Challenges of implementing a cloud filesystem Introduction Requirements revisited Implementation Big Picture Architecture Terminology Future improvements Terminology Filesystem - tree-based hierarchical structure containing files in many aspects similar to a common UNIX filesystem. File/Node - individual element of filesystem that represent the atomic structure exposed to the end users, which means that users of VS can add, delete, manipulate the files. File itself contains the metadata describing various properties of the file (i.e. ownership, state, type, etc.) and block information and status. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 28. Outline Challenges of implementing a cloud filesystem Introduction Requirements revisited Implementation Big Picture Architecture Terminology Future improvements Terminology Filesystem - tree-based hierarchical structure containing files in many aspects similar to a common UNIX filesystem. File/Node - individual element of filesystem that represent the atomic structure exposed to the end users, which means that users of VS can add, delete, manipulate the files. File itself contains the metadata describing various properties of the file (i.e. ownership, state, type, etc.) and block information and status. Block - represents the content of a file itself. Each file can contain many blocks scattered across the storage (i.e. S3). This construct is in a many aspects similar to the concept of a block in HDFS. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 29. Outline Introduction Major components Implementation Lifecycle of a file Architecture ”Lazy” updates Future improvements Major components HTTP RESTful Interface - all operations on a filesystem structure are being performed through the RESTful interface and responses are wrapped in AVRO/JSON serialized messages. You can put, get, remove, update the files, or request information about it’s metadata. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 30. Outline Introduction Major components Implementation Lifecycle of a file Architecture ”Lazy” updates Future improvements Major components HTTP RESTful Interface - all operations on a filesystem structure are being performed through the RESTful interface and responses are wrapped in AVRO/JSON serialized messages. You can put, get, remove, update the files, or request information about it’s metadata. TCP Command Interface - persistent connection used for a notifications and requests between server/client represented by simple AVRO/JSON message passing protocol. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 31. Outline Introduction Major components Implementation Lifecycle of a file Architecture ”Lazy” updates Future improvements Major components HTTP RESTful Interface - all operations on a filesystem structure are being performed through the RESTful interface and responses are wrapped in AVRO/JSON serialized messages. You can put, get, remove, update the files, or request information about it’s metadata. TCP Command Interface - persistent connection used for a notifications and requests between server/client represented by simple AVRO/JSON message passing protocol. Session Manager - component used for authenticating the client sessions. Currently, one client can open only one session which might change in a future. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 32. Outline Introduction Major components Implementation Lifecycle of a file Architecture ”Lazy” updates Future improvements Major components HTTP RESTful Interface - all operations on a filesystem structure are being performed through the RESTful interface and responses are wrapped in AVRO/JSON serialized messages. You can put, get, remove, update the files, or request information about it’s metadata. TCP Command Interface - persistent connection used for a notifications and requests between server/client represented by simple AVRO/JSON message passing protocol. Session Manager - component used for authenticating the client sessions. Currently, one client can open only one session which might change in a future. FileSystem Manager - component which performs filesystem updates on a persistent filesystem storage. Acts as a queue with a thread pool of a consumers which perform operations on a remote storage (i.e. S3). Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 33. Outline Introduction Major components Implementation Lifecycle of a file Architecture ”Lazy” updates Future improvements Lifecycle of a file When we create the file through the HTTP RESTful interface, we’re creating a new node in filesystem structure containing it’s path, name, metadata and the list of the blocks. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 34. Outline Introduction Major components Implementation Lifecycle of a file Architecture ”Lazy” updates Future improvements Lifecycle of a file When we create the file through the HTTP RESTful interface, we’re creating a new node in filesystem structure containing it’s path, name, metadata and the list of the blocks. If operation is successful, update is queued through the Filesystem manager and client starts uploading the block to the (S3) storage. Once the block is uploaded it sends the updates to the filesystem that a file’s block had been uploaded. After the file/node receives the update it schedules the update of it’s state to the persistent storage through the Filesystem Manager. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 35. Outline Introduction Major components Implementation Lifecycle of a file Architecture ”Lazy” updates Future improvements Lifecycle of a file When we create the file through the HTTP RESTful interface, we’re creating a new node in filesystem structure containing it’s path, name, metadata and the list of the blocks. If operation is successful, update is queued through the Filesystem manager and client starts uploading the block to the (S3) storage. Once the block is uploaded it sends the updates to the filesystem that a file’s block had been uploaded. After the file/node receives the update it schedules the update of it’s state to the persistent storage through the Filesystem Manager. After all blocks have been uploaded, we consider that this is now a valid file that can be accessed, and we schedule another update through the Filesystem manager to set it’s final state. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 36. Outline Introduction Major components Implementation Lifecycle of a file Architecture ”Lazy” updates Future improvements ”Lazy” updates All updates to a persistent storage are being done ”lazy” - this means that each update is first being done locally in memory and then scheduled for a transaction on a persistent store. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 37. Outline Introduction Major components Implementation Lifecycle of a file Architecture ”Lazy” updates Future improvements ”Lazy” updates All updates to a persistent storage are being done ”lazy” - this means that each update is first being done locally in memory and then scheduled for a transaction on a persistent store. This is both a performance optimization and a failure handling mechanism. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 38. Outline Introduction Major components Implementation Lifecycle of a file Architecture ”Lazy” updates Future improvements ”Lazy” updates All updates to a persistent storage are being done ”lazy” - this means that each update is first being done locally in memory and then scheduled for a transaction on a persistent store. This is both a performance optimization and a failure handling mechanism. Cost of this mechanism is that we will have to re-initialize the certain parts of the file upload that we’ve already done or that we might have a ”dirty” blocks that we need to clean up if the filesystem fails - i.e. if we don’t update file’s information that certain blocks have been uploaded, we will need to upload them again to a storage, or if we delete a file but we don’t remove the blocks from a storage, we will have a ”dirty” blocks. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 39. Outline Introduction Major components Implementation Lifecycle of a file Architecture ”Lazy” updates Future improvements ”Lazy” updates All updates to a persistent storage are being done ”lazy” - this means that each update is first being done locally in memory and then scheduled for a transaction on a persistent store. This is both a performance optimization and a failure handling mechanism. Cost of this mechanism is that we will have to re-initialize the certain parts of the file upload that we’ve already done or that we might have a ”dirty” blocks that we need to clean up if the filesystem fails - i.e. if we don’t update file’s information that certain blocks have been uploaded, we will need to upload them again to a storage, or if we delete a file but we don’t remove the blocks from a storage, we will have a ”dirty” blocks. Yes, we can do this smarter in order to avoid this problems - in a future releases. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 40. Outline Introduction Stability and Security Implementation Features Architecture Future improvements Stability and Security Stability - it is fully featured except the ACLs, however it’s not well tested and not production-ready. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 41. Outline Introduction Stability and Security Implementation Features Architecture Future improvements Stability and Security Stability - it is fully featured except the ACLs, however it’s not well tested and not production-ready. Security - currently a client needs to get S3 credential from a server after it’s authenticated, however if we put the ”content proxy” in between client and S3 we can outsorce direct S3 access to a proxy. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 42. Outline Introduction Stability and Security Implementation Features Architecture Future improvements Stability and Security Stability - it is fully featured except the ACLs, however it’s not well tested and not production-ready. Security - currently a client needs to get S3 credential from a server after it’s authenticated, however if we put the ”content proxy” in between client and S3 we can outsorce direct S3 access to a proxy. Partitioning and HA - support for multiple servers handling different branches of a filesystem tree HA for each partition Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 43. Outline Introduction Stability and Security Implementation Features Architecture Future improvements Stability and Security Stability - it is fully featured except the ACLs, however it’s not well tested and not production-ready. Security - currently a client needs to get S3 credential from a server after it’s authenticated, however if we put the ”content proxy” in between client and S3 we can outsorce direct S3 access to a proxy. Partitioning and HA - support for multiple servers handling different branches of a filesystem tree HA for each partition Bursting support - dropping the requests if we can’t handle the load. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 44. Outline Introduction Stability and Security Implementation Features Architecture Future improvements Features Various storage backends - it’s currently using S3, however it could use pretty much anything... anything that makes sense. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 45. Outline Introduction Stability and Security Implementation Features Architecture Future improvements Features Various storage backends - it’s currently using S3, however it could use pretty much anything... anything that makes sense. Smarter ”lazy” updates . Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 46. Outline Introduction Stability and Security Implementation Features Architecture Future improvements Features Various storage backends - it’s currently using S3, however it could use pretty much anything... anything that makes sense. Smarter ”lazy” updates . Torrent support for a ”content proxy” - just an idea, but might make a sense. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 47. Outline Introduction Stability and Security Implementation Features Architecture Future improvements Features Various storage backends - it’s currently using S3, however it could use pretty much anything... anything that makes sense. Smarter ”lazy” updates . Torrent support for a ”content proxy” - just an idea, but might make a sense. Support for AWS import/export. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 48. Outline Introduction Stability and Security Implementation Features Architecture Future improvements Features Various storage backends - it’s currently using S3, however it could use pretty much anything... anything that makes sense. Smarter ”lazy” updates . Torrent support for a ”content proxy” - just an idea, but might make a sense. Support for AWS import/export. Richer client support - besides API and shell, we’ll add a client service that will perform dropbox-like synchronization. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem
  • 49. Outline Introduction Stability and Security Implementation Features Architecture Future improvements Features Various storage backends - it’s currently using S3, however it could use pretty much anything... anything that makes sense. Smarter ”lazy” updates . Torrent support for a ”content proxy” - just an idea, but might make a sense. Support for AWS import/export. Richer client support - besides API and shell, we’ll add a client service that will perform dropbox-like synchronization. External queues support - configurable support using JMS instead of internal queue. Igor Bogicevic (igor.bogicevic@sbgenomics.com) VaporStore the design of a real-world cloud filesystem