Cloud Velociraptor is mainly about Scalability and Cloud Native technologies.
Velociraptor was designed to be easy and cheap to deploy to smaller scale organizations.
Velociraptor has grown a lot in the past few years and it is now an enterprise grade application.
Horizontally scaling means deployment size can change quickly balancing cost and capacity dynamically.
To understand where we are headed we should look at the history of Velociraptor.
Google GRR was the first large scale hunting platform but (at the time) had issues with performance
Velociraptor was designed to address some of the problems with earlier systems.
By restricting our goals to a small scale deployment we can really simplify the whole design!
Single server limits reached at about 20k endpoints. What are the limiting factors?
To scale larger than one server we support multi-frontend architecture.
Cloud technology introduce a lot of IO latency challenges. We have
MemcacheFileDataStore
, RemoteDatastore
etc.
To scale even more we need to replace the backend with cloud centric services.
This sounds familiar... Are we going back full circle?
Not for everyone! More complexity and cost involved...
We do not want to remove the current architecture!
Cloud Velociraptor is a separate project with different goals!
Previously code was abstracted at the storage layer allowing us to substiture EFS with attached storage but retaining all the code.
Now code is abstracted at a higher layer we call services.
Velociraptor services are interchangeable high level utilities that are used in the codebase. e.g.
Indexing
service: Used to search for clients.Label
service: Used to label a client.ClientInfo
service: Used to manage information about clients.Repository
service: Used to manage artifactsLauncher
service: Used to compile and launch collectionsHaving high level services allows us to swap implementations freely and compose Velociraptor around different backend architectures
A new experimental GitHub Project https://github.com/Velocidex/cloudvelo
The Cloud Velociraptor implementation has some limitations currently (but they might be removed in future)
Docs | https://docs.velociraptor.app/ |
Github | https://github.com/Velocidex/cloudvelo |