Agent vs Agentless
Agent and Agentless refer to two different architectural models for managing, monitoring, or securing IT environments, defining where the intelligence or collection mechanism resides.
- Agent: requires installing specialized software (the "agent") on the target system.
- Agentless: relies on existing network protocols or APIs to gather data remotely.
Agent-based
The agent is software that you install on the system you want to assess. That agent executes on the target system:
- reading configuration files
- checking ports and protocols
- collecting live data for alerts and reports
For example: "Run the Datadog Agent in your Kubernetes cluster to start collecting your cluster and applications metrics, traces, and logs." https://docs.datadoghq.com/containers/kubernetes/
Pros
- All information gathered is on the current state of your actual system.
- There’s no remote login required, which means no new end point, no remote connection management, and no lag or connectivity issues.
- The scanner can access all the necessary system elements with few security limitations.
- There are no snapshots required, which saves time and cost.
Cons
- Customers have to trust the agent and may have limited control on the agent.
- The agent taks up resources.
- The agent may introduce other issues, like a memory leak.
- The agent must be installed on each machine, which requires time installing, maintaining, and updating the agents.
- Customers may not be able to install agents on infrastructure assets. E.g. the infra may be managed by a third-party, which might not allow agents on their systems.
Agentless
A few options
- Remote access, either SSH or through a cloud shell. It executes outside the target system. It collects real–time information by connecting to the scan target.
- Disk snapshot scanning assesses a copy of the target system rather than the system itself. It never interacts with the scan target.
Disk scanning is the dominant approach.
- Low risk: scan a snapshot of the VM filesystem, not the live VM. Minimal chance to disrupt the running VM.
- Low impact: many customers routinely create daily VM snapshots for backup purposes, so little inconvenience to enable disk scanning.
- Disk scanners widely available
- Vulnerability databases widely available
Recommended Reading
SponsoredVersus
- 32-bit vs 64-bit
- AES vs RSA
- Agent vs Agentless
- Annotations vs Decorators
- Terraform vs Ansible
- BASH vs ZSH
- BigQuery vs Bigtable
- Block Storage vs File Storage vs Object Storage
- Canvas vs SVG
- cgroupfs vs systemd
- Constructor vs Init() vs Factory
- Container Image vs Helm Chart vs OCI Bundle
- Containers vs Virtual Machines (VMs)
- C vs C++
- Java vs C++
- Rust vs C++
- crictl vs ctr
- Dagger vs Guice
- DMA vs RDMA
- DOM vs Virtual DOM vs Shadow DOM
- DQL vs DDL vs DCL vs DML
- eBPF vs Sidecar
- Flux vs Redux
- Full Disk Encryption vs Partition Encryption
- Gatekeeper vs OPA
- Google vs Open Source
- Why MCP uses JSON-RPC 2.0 instead of grpc
- gRPC vs OpenAPI
- gtag.js vs Google Tag Manager (GTM)
- Versus
- Kotlin vs Java
- Jetty vs Netty
- .js vs .jsx vs .ts vs .tsx
- Kata Containers vs KubeVirt
- Linux Namespace vs Kubernetes Namespace
- Linux vs BSD
- LLVM vs JVM
- Data Mining vs Machine Learning vs Artificial Intelligence vs Data Science
- Managed Kubernetes vs Self-managed Kubernetes
- Management Plane vs Control Plane vs Data Plane
- Microcontroller vs Microprocessor vs Computer
- MMU vs IOMMU
- Single-tenant vs Multi-tenant vs Multi-single-tenant
- Multithreading vs Multiprocessing vs Distributed Systems
- Node.js vs Erlang
- OCI Image vs Docker Image
- OCI vs CRI
- OpenSSH vs OpenSSL
- Pass-by-value vs Pass-by-reference
- Podman vs nerdctl
- POSIX vs SUS vs LSB
- Private Key vs Public Key vs Certificate
- Proto Edition 2024 vs Proto Edition 2023
- Proto2 vs Proto3 vs Proto Editions
- Message Queue vs PubSub
- React vs Flutter vs Angular
- REST vs SOAP
- RSA vs ECDSA
- select vs. poll vs. epoll
- SLI vs SLO vs SLA
- Spanner vs Bigtable
- Static Site Generation vs Server-side Rendering vs Client-side Rendering
- Stack based VM vs Register based VM
- Stateless vs Stateful
- Strong Consistency vs Eventual Consistency
- stubs vs mocks vs fakes
- Subroutines vs Coroutines vs Generators
- Software Engineer vs Site Reliability Engineer
- Symlinks vs Hard Links
- JAX vs Tensorflow
- Tensorflow vs PyTorch
- Terminal vs Shell
- Throttling vs Load Shedding
- Unix Domain Sockets vs Network Sockets
- Unix Domain Sockets vs Shared Memory
- URI vs URN vs URL vs URC
- Valkey vs Redis vs Memcached
- Vi vs Vim vs gVim vs Neovim
- WAL vs rollback journal

