The following figure illustrates the components of CPS vDRA architecture. 
                         
                        
                         DRA Director is stateless node. DRA Director has diameter stack running on it, which connects to the external network functions
                           (for example, PCEF, PCRF, AF). DRA Director receives request messages from origin peer, applies routing algorithm, forwards
                           messages to the destination peer. DRA Director then gets answer messages for the requests, which are forwarded back to the
                           origin peer. 
                        
                        
                         DRA Processor is also stateless node that interacts with session and binding databases in the persistence tier to store session
                           and bindings. 
                        
                        
                        DRA Database is used to store bindings and sessions, with MongoDB database running on them. DRA Database uses application
                           based client sharding to distribute data among multiple databases. MongoDB replicates data across multiple databases within
                           the replica set to provide high availability. 
                        
                        
                        Each of these tiers can be scaled horizontally by deploying more virtual machines.