JVM clustering is not required but it is recommended.
You can run a one node AES system, where that node processes messages and runs agents.
You can run a two node AES system without load balancing - one node handles message; one node runs agents and search (a batch node)
We run the PDC service - sort of a multi-tenant AES - with three node scalable clusters. Two nodes always available for messages / browsers (we are experimenting with auto-scaling for additional capacity during peak) and one node for batch.