Hazelcast is an in-memory data grid and stream processing platform for the JVM. A set of Hazelcast members discover each other and form a cluster, and the data placed into that cluster is split across the members by partition — 271 partitions by default — with each partition holding a primary copy on one member and configurable backup copies on others. When a member joins or dies, ownership of its partitions migrates automatically and the cluster keeps serving. That is the whole idea: memory across many machines behaving as one addressable store, with the failure handling built in rather than bolted on.
What sits on top of the partitioning is a set of distributed data structures that mirror familiar Java collections. IMap is the workhorse — a partitioned map with eviction policies, per-entry TTL and max-idle, indexes, SQL and predicate queries, entry listeners, and entry processors that run code on the member owning the data instead of shipping the object across the network. Alongside it are ReplicatedMap, MultiMap, IQueue, ITopic, Ringbuffer and FlakeIdGenerator, plus a CP subsystem built on Raft that provides genuinely linearizable FencedLock, IAtomicLong and ISemaphore for the cases where the default AP behaviour is not safe enough.
Hazelcast runs in two topologies. Embedded, where members live inside the application JVMs and data access is a local call for the partitions that member owns; and client-server, where a separate cluster is scaled and upgraded independently of the applications that use it. Around that sit MapStore and MapLoader for read-through and write-behind persistence against a database, JCache and Spring integration, Hibernate second-level caching, HTTP session replication, the Jet engine for streaming pipelines with windowing and exactly-once snapshots, and a Kubernetes operator for running the cluster as a StatefulSet.
Why this skill matters now
The pressure that drives teams to Hazelcast has not gone away: a relational database that cannot absorb the read rate, a session store that cannot be sticky, a pricing or risk calculation that must complete inside a few milliseconds, or a fleet of JVMs that need coordinated state without a coordination service. Financial services, telecoms, retail and gaming all keep buying that capability, and Hazelcast is one of the few options that is embeddable inside the JVM rather than a separate network hop.
It also occupies a different position from Redis, which is the comparison most teams start with. Redis is a fast remote data structure server; Hazelcast is a clustered JVM library that can also be run as a server, executes code next to the data through entry processors, and offers Raft-backed primitives when correctness matters more than availability. Choosing correctly between them is a real architectural decision, not a preference.
The skill gap is in the operational half. Writing to an IMap takes an hour to learn. Sizing heap and native memory, choosing a serialization strategy that does not dominate CPU, setting backup counts against a real failure model, configuring split-brain protection and merge policies, and performing a rolling upgrade without losing data are what production actually demands — and that is where this training spends its time.