THE LEADING IN-MEMORY PLATFORM

Hazelcast In-Memory Platform Terry Walters Sr Solutions Architect

1 Hazelcast In-Memory Computing Platform

Payment Fraud Customer Edge eCommerce BI ETL/Ingest Use Cases Processing Detection Loyalty Processing …

Microservices IoT Cache AI/ML

Hazelcast In-Memory Computing Platform

Stream & Batch Analytical Data Store Monitoring AI/ML Processing Processing Processing

Distributed Data Distributed Streaming Data-at-rest Data-in-motion

System of Sources Record APIs Sensors Streams Hadoop Data Lakes …

2 In-Memory Data Grid

3 IMDG Evolution Through Time Open Client Protocol | Java | .NET | C++ | Python | Node.js | Go | HTTP/2 Clients

RingBuffer | HyperLogLog | CRDTs | Flake IDs | Event Journal | CP RAFT Subsystem

Data Structures

Cloud Discovery SPI | Azure | AWS | PCF | OpenShift | IBM Cloud Private | Managed Services

Open Cloud Platform

JCache | HD Memory | Hot Restart | HotCache Caching

j.u.c. | Performance | Security | Rolling Upgrades | New Man Center In-Memory Data Grid 2016 2017 2018 2019

4 Roadmap: IMDG 3.11 New Enterprise Features

Features Description

Use Merkle trees to detect inconsistencies in map and cache data. Sync only the different entries after a WAN Replication Consistency consistency check, instead of sending all map and cache entries.

Fine-Grained Control over Wan Allow the user finer grained control over the types of Map/Cache events that are replicated over WAN, and also Replication Events provide control as to how they should be processed when received.

License Enforcement - Warnings, Grace Different ways on alerting customers/users about expiration, renewal approach. Periods, Flexible Cluster Sizes

Members only License Installation Remove license check from Hazelcast IMDG clients for simplification.

5 Roadmap: IMDG 3.11 New Features

Features Description Ability to Set TTL for Map and Cache Ability to update TTL without updating the value. Entries

Hazelcast Works on Java 8 through to Make sure Hazelcast works on Java 8/9/10/11. 11.

Index Statistics Index statistics including index definition, memory cost, index hit stats, creation time etc.

Map: Max Idle Timeout per Entry The IMap API should allow to set the max idle timeout per entry, same as we provide for TTL.

Exponential Back off on Client Retry Allow a back off strategy for client re-connection attempts. Strategy

I/O Pipeline Prevent I/O Threads from becoming blocked.

Improve scheduling of 'batch' Operations so the Operation thread will not process multiple operations from the Queries scheduling fairness same batch without other operations getting executed.

6 Hazelcast 3.12 Roadmap

7 Hazelcast IMDG 3.12 In-Memory Computing Platform Java Scala C++ C#/.NET Python Node.js Go Near Cache HD Near Cache OperationsOperations Open Client Network Protocol Clients REST (Backward & Forward Compatibility, Binary Protocol) Management Center Serialization (JMX/REST) (Serializable, Externalizable, DataSerializable, IdentifiedDataSerializable, Portable, Custom) Web Sessions Continuous Security Suite java.util.concurrent Hibernate 2nd Level Cache JCache (Tomcat/Jetty/Generic) HD HD HD Query (Connection, Encryption, Authentication, Authorization, JAAS LoginModule, SocketInterceptor, TLS, OpenSSL, Map MultiMap Replicated Map Set List Queue Topic ReliableTopic Ringbuffer Mutual Auth) APIs HD HyperLogLog Lock/Semaphore AtomicLong AtomicRef ID Gen. Flake ID Gen. CRDT PN Counter WAN Replication Predicate & Executor Service (Socket, Solace Systems, One-way, Multiway, Init New Data SQL Query Entry Processor Aggregation Center, Partition Predicate HD & Scheduled Exec Service DR Data Center Recovery, Discovery SPI, Delta Synchronization)xx Low-Level Services API

Node Engine Rolling Upgrades (Threads, Instances, Eventing, Wait/Notify, Invocation) (Rolling Client Upgrades, Rolling Member Upgrades, No Downtime, Compatibility Test Suite) Partition Management Engine (Members, Lite Members, Master Partition, Replicas, Migrations, Partition Groups, Partition Aware) Cluster Management with Cloud Discovery SPI Blue/Green Deployments (AWS, Azure, Consul, Eureka, etcd, Heroku, IP List, Apache jclouds, , Multicast, Zookeeper) Networking (IPv4, IPv6) Automatic Disaster Recovery Fail-Over

On-Heap Store High-Density Memory Store (Intel, Sparc) Storage HD Enterprise PaaS Deployment Environments Hot Restart Store (Pivotal , Red Hat OpenShift Container Platform, (SSD, HDD) HD IBM Cloud Private) JVM (JDK: 6,7,8,9,10,11 Vendors: Oracle JDK, OpenJDK, IBM JDK, Azul Zing & Zulu) HD Operating Operating System Hazelcast Striim Hot Cache Env (Linux, Oracle Solaris, Windows, AIX, Unix) (Sync Updates from Oracle DB, MS SQL Server, MySQL and NonStop DB) On Premise AWS Azure Kubernetes VMware

Professional Support Enterprise Edition Enterprise HD Edition HD Enterprise HD Edition-Enabled Feature Hazelcast Solution Integrates with Jet

8 Roadmap: IMDG 3.12 New Enterprise Features

Features Description Harden the Kubernetes support for all IMDG Enterprise features, and increase First Class Kubernetes Support the operational experience.

Hot Restart: Remove IP Address Dependence Hot Restart must be completely independent of the member IP address.

Option for Removing Hot Restart Data Add possibility to remove hot-restart data automatically when a Member re-joins Automatically to an active cluster. Add and remove WAN targets (publishers) in Ability to add and remove WAN Targets to a running cluster. running cluster Automatically switch cluster version after Switch to newer cluster version automatically instead of manually change the Rolling Upgrade cluster version. FIPS-140 Validation Make Hazelcast Enterprise FIPS-140 validated.

9 Roadmap: IMDG 3.12 New Enterprise Features

Features Description

Blue/Green Deployments reduce downtime and risk by running two identical Hazelcast® Enterprise IMDG clusters called Blue and Green. One of the clusters provides production services to clients whilst the other cluster can be upgraded with new application Blue/Green Deployments code. Hazelcast Blue/Green Deployment functionality allows clients to be migrated from one cluster to another without client interaction or cluster downtime. All clients of a cluster may be migrated or groups of clients can be moved with the use of label filtering and black/white lists. Automatic disaster recovery fail-over provides clients connected to Hazelcast® Enterprise Automatic Disaster Recovery Fail-Over IMDG clusters with the ability to automatically fail-over to a Disaster Recovery cluster should there be an unplanned outage of the primary production Hazelcast cluster.

10 Roadmap: IMDG 3.12 - New Features Features Description

JSON Serializers Make Hazelcast IMDG to understand JSON format. Also includes fast query over JSON data.

YAML Configuration Support Play well with the needs of Cloud environments.

Composite Indexes Support Improve performance for queries such as `foo = 1 and bar = 2 and foobar = 3`

Attributes for Client Ability to set attributes per Client as we can do it for members.

Allow to disable scripting on members Allow users to disable scripting on members to increase security of the product.

We introduce a CP sub-system that provides strict correctness at all times even during split brain. This is therefore CP and not AP as with the rest of Hazelcast. The data structures that will be put on top of it are: CP Sub-system • IAtomicLong • ISemaphore • ICountDownLatch • ILock • IAtomicReference

11 Hazelcast Clients Roadmap

12 Clients: Recently Released New Features

Features Description

.NET Client: Eventually Consistent Near Cache Eventually Consistent near-cache for .NET client.

Discovery mechanism for Hazelcast Cloud, enterprise-grade Hazelcast software in the .NET Client: Hazelcast Cloud Discovery Cloud, deployed and managed by the experts.

.NET Client: TLS with Mutual Authentication TLS and Mutual Auth support for Hazelcast .NET Client.

Ability to redirect the C++ client logs to a file programmatically as in Java client via Logger C++ Client: Logger Redirection implementations like Log4j etc.

C++ Client: Statistics C++ Client statistics to be showed in Management Center.

C++ Client: ReplicatedMap ReplicatedMap for Hazelcast C++ Client.

Python Client: TLS with Mutual Authentication TLS and Mutual Auth support for Hazelcast Python Client.

Discovery mechanism for Hazelcast Cloud, enterprise-grade Hazelcast software in the Python Client: Hazelcast Cloud Discovery Cloud, deployed and managed by the experts.

Node.js Client: Statistics Ability to provide Node.js client statistics to be showed in Management Center.

13 Clients: Recently Released New Features (cont’d)

Features Description

Discovery mechanism for Hazelcast Cloud, enterprise-grade Hazelcast software in the Go Client: Hazelcast Cloud Discovery Cloud, deployed and managed by the experts.

Go Client: TLS Support with Mutual Authentication TLS and Mutual Auth support for Hazelcast Go Client.

Provide Go Client related info and statistics so that Management Center can show them Go Client: Statistics on the Clients page.

Go Client: Reliable Topic Reliable Topic for Hazelcast Go Client.

Go Client: Custom Credentials Object for Authentication Support for custom credentials object for authentication.

14 Clients: Planned New Features

Features Description

.NET Client: Reliable Topic Reliable Topic for Hazelcast .NET Client.

.NET Client: Set TTL for Map Ability to set TTL without updating the value.

C++ Client: Distributed Executor Service Distributed Executor Service from C++ client

C++ Client: Async APIs Async APIs similar to the Java client for all data structures of Hazelcast IMDG.

Python Client: CRDT Counter Implementation of the CRDT Counter for Python Client

Python Client: Flake ID Generator Ability to generate cluster-wide unique identifiers via Python Client.

Projection in queries via Node.js Client. Queries should be able to return specific fields of an entry, not the Node.js Client: Projections whole entry.

Node.js Client: Partition Predicate Ability to run a predicate on a given partition.

Go Client: Near Cache An implementation of near-cache for Go Client that is functionally equivalent to Java client.

Go Client: Logging Enhancements Log level configuration, more logging, ability to use a 3rd party logger.

15 Cloud & Plugins Roadmap

16 Cloud & Plugins: Recently Released New Features

Features Description Automatic Hazelcast member discovery in the Google Cloud Platform (Compute Engine) environment: • ZONE_AWARE support Hazelcast Discovery Plugin for GCP 1.0 • Hazelcast Client discovery within GCP Compute environment. • Hazelcast Client discovery outside the GCP infrastructure. • WAN Replication within GCP Compute environment, IBM Cloud Private (ICP) Hazelcast IMDG is now available in the IBM Cloud Private (ICP) Catalog.

Hazelcast IMDG Enterprise for PCF 1.6.2 Upgrades Hazelcast IMDG Enterprise and Management Center to v3.11.1.

Helm Chart for Hazelcast Kubernetes Official Hazelcast Charts for Kubernetes Helm.

A command line tool that is able to run one or more Hazelcast member instances on the local machine. It Hazelcast Member Tool is also published as a Homebrew repository, RPM and DEB packages. • Second Level Cache for Hibernate5 1.3.1 • Spring Data Hazelcast 2.1 Other Releases • Hazelcast AWS 2.3 • Hazelcast Discovery Plugin for Kubernetes 1.3.1

17 Cloud & Plugins: Planned New Features

Features Description

Hazelcast CLI (Beta) A command line interface for Hazelcast IMDG to support DevOps activities.

Hazelcast IMDG Enterprise for PCF: PKS is a Kubernetes solution by Pivotal that allows you to deploy an Hazelcast cluster PKS enabled PKS Support PCF Environment.

Kubernetes-Openshift: Rolling Upgrades and Autoscale for Hazelcast Enterprise image in Kubernetes and Openshift. Rolling Upgrade & AutoScaling

Kubernetes: ZONE_AWARE Support Ability to create ZONE_AWARE deployment of Hazelcast Cluster in Kubernetes environments.

JCache EntryProcessor Based Open Liberty A JCache Session provider for IBM Open Liberty. Session Replication

Hazelcast Docker Improvements Improve out of the box Docker experience.

Ability to use Kubernetes auto-scaling functionality to scale out the Hazelcast data grid when it nears Kubernetes Horizontal Pod Autoscaling capacity, or to scale it in once evictions have shrunk the grid to a certain threshold.

Tomcat WS: Transaction Support Ability to use transactions with Tomcat Web Sessions Manager.

18 Hazelcast 3.13 Roadmap 2019 Q3

19 Roadmap: IMDG 3.13 New Enterprise Features

Features Description WAN Replication: Performance WAN Replication Performance and Usability Improvements. Improvements

Guarantee that connectivity and data delivery between clusters is not affected by upgrade activity to one of the WAN Replication: WAN Protocol clusters.

Dynamic Addition of WAN Publisher Ability to create AWS WAN discovery configs dynamically. with Discovery SPI

WAN Replication: Specify Network Provide the ability to bind WAN communications to a different network interface from that used by client-server Interface and server-server communications.

WAN Replication: Sync Filtering Provide filtering for synchronizing a WAN cluster.

Allow WAN replication to have its own TLS configuration. So independent of what happens on member/member WAN Replication: Decoupling TLS or client/member. For WAN replication, the connection can be encrypted or not, and different TLS configurations Configuration can be used, e.g. a different ciphersuite.

WAN Replication Queue Memory Size Provide size-on-heap statistics for WAN Replication Queue via JMX and Management Center. Stats (JMX|MC)

20 Roadmap: IMDG 3.13 New Enterprise Features

Features Description Hot Restart: Remove IP Address Allow Hot Restart to work in Cloud Environments. Dependence

Option for Removing HR Data Ability to remove Hot Restart data automatically when a Member re-joins to an active cluster. Automatically

Audit Security Logging Logging security events such as user credentials, certificate usage, configuration changes, etc.

Dynamic Role Update Allow updating of Security Permissions in a running cluster without the need for a rolling re-start.

Allow Ops Configurability of Cipher Enforce configuration so that handshaking does not result in a lower level. Suites and TLS Settings

21 Roadmap: IMDG 3.13 New Features

Features Description

Query Async API Expose async query methods.

Shared Events Reduce the propagation of events in high client scenario by sharing common events across clients.

Query Statistics Provide stats for Query so that they can be displayed on Management Center.

Offloading Store & Loader Operations Offload of MapStore write-behind and MapLoader & JCache CacheLoader and CacheWriter. for Map and JCache

22 Roadmap: IMDG 3.13 New Features (cont’d)

Features Description Refresh-Ahead Caching for JCache The goal of Read-Ahead caching is to keep a subset of entries up-to-date with the . That way the and Map expired entries don't have to be re-fetched from the database and accessing them is faster.

Sorted Set & List Provide the ability to sort Lists and Sets.

Paging Predicate Performance A series of performance improvements to speed-up paging predicates. Improvements The ability to create a reference configuration for a map and then have other concrete maps use that Configuration References configuration.

Extend Distributed SQL Extended version of Hazelcast IMDG SQL format in order to support extensibility.

Persistent Dynamic Configuration Persistence of dynamic configuration.

MapStore for Multimap Storing capability for Multimaps, similar to MapStore interface.

MapLoader with Custom TTL Ability to load a Map entry with a custom TTL using a MapStore.

23 Roadmap: IMDG 3.13 New Features (cont’d)

Features Description Clients: Configurable Port for Provide the counterpart of the member-side port configuration to the client-side. Discovering Members In case of disconnection with servers, clients should function normally, returning data from its Near Cache if Non-Stop Near Cache Client data is present and has not expired.

Reactive Messages on Client Executor All messages on Client Executor should be reactive so that the performance improves.

Optimization of modifying operations performance like a map.put by switching from synchronous backup to Async Backups by Default asynchronous backup. Populate Backup Partitions on Load backup partitions on MapLoader read-through operations. MapLoader Read-through

HTTP/2 REST API Add HTTP/2 support to improve performance of the Hazelcast REST API.

24 Stream Processing & Compute

25 Why Hazelcast Jet?

High performance | Industry Leading Performance

Works great with Hazelcast IMDG | Source, Sink, Enrichment

Very simple to program | Leverages existing standards

Very simple to deploy | Embed 10MB jar or Client Server

Works in every Cloud | Same as Hazelcast IMDG\

For developers by developers | Code it

26 Hazelcast - High Performance Platform

IMDG In-Memory Data

Integrate Communicate APIs, Microservices, Notifications Serialization, Protocols Analytics Mobile Visualization Store/Update Compute Data Lake Caching, CRUD Persistence Query, Process, Execute

Scale Replicate Live Streams Apps Clustering & Cloud, High Density WAN Replication, Partitioning Kafka, JMS, Sensors, Feeds

Secure Available Privacy, Authentication, Rolling Upgrades, Hot Restart Authorization JDBC, Social Relational, NoSQL, Jet In-Memory Compute Change Events

Ingest & Transform Combine Files Commerce Events, Connectors, Filtering Join, Enrich, Group, Aggregate HDFS, Flat Files, Logs, File watcher Stream Compute & Act Windowing, Event-Time Processing Distributed & Parallel Computations Applications Communities Secure Available Sockets Privacy, Authentication, Authorization Job Elasticity, Graceful shutdown Management Center Secure | Manage | Operate Embeddable | Scalable | Low-Latency Secure | Resilient | Distributed

© 2018 Hazelcast Inc. Confidential & Proprietary Hazelcast Jet Key Differentiators Industry-leading performance Productive • Distributed computing platform enables fast processing of • One solution provides both batch and stream processing big data • Based on Hazelcast legendary ease-of-use • Parallel and low-latency core engine allows data-intensive • Variety of connectors enable easy integration into data applications to operate at real-time speeds processing pipeline • Cooperative multi-threading architecture allows operation • Scaling, failure handling and recovery are all automated for of thousands of jobs simultaneously ease of operational management • Scales both vertically and horizontally • Exactly-Once or At-Least Once guarantees • Quick response to new feature requests

Flexible integration Enterprise-grade storage • Operates as shared application infrastructure or is • Embeds Hazelcast IMDG as an operational storage for embedded directly in applications as a JAR- making big enterprise-grade reliability and resilience data processing an application concern • Most widely deployed IMDG with millions of deployments in • Ideal for microservices with light-weight footprint --each Jet production worldwide processing job is launched within its own cluster maximizing • High-Performance integration eliminates network transit service isolation latency penalties from moving data back and forth • Light-weight makes manipulation with Jet easy for both • Eliminates the integration issues between processing and developers and DevOps storage • Cloud and container ready. Pivotal Cloud Foundry, Red Hat OpenShift, Docker, Azure, AWS, Kubernetes 28 Jet High Level Evolution

… JMS | JDBC | Avro | RabbitMQ | Influx DB | MongoDB | Redis Connectors

Management Center | Monitoring | Diagnostics | Lossless Recovery | Enterprise PaaS DevOps

Elasticity | Pipeline API | Enhanced Snapshotting | Rolling Job Upgrades Streaming

2017 2018 2019

29 Hazelcast Jet – Recent Features

Features Description Metrics collection, web tool with dashboard overview, job diagnostics tool and cluster overview, JMX Management Center for Jet interface. Increased convenience for frequent tasks (enrich, aggregate, merge, union, distinct), moving towards Pipeline API stable API. Allows computing rolling aggregations, e.g. rolling sum, max or average. Feature is useful for use-cases Rolling Aggregations such as "detect all-time temperature height". Provide the ability to use custom sources without having to use the Core API and write custom Connectors: Custom Sources processors. Allow Jet to read from a JDBC source (batch processing of relational data) and write to a JDBC source Connectors: JDBC (for both streaming and batching use-cases).

Connectors: JMS Allow Jet to read from and write to JMS provider.

Allow Jet to read from and write to Avro-serialised data very frequent in both Hadoop (batch) and Kafka Connectors: Avro (streaming) worlds. Allow the cluster to scale up (change of global parallelism) automatically making use of the new members Job Elasticity for running computations.

Pipeline Visualization using DOT Ability to visually represent the data pipeline for development time usage (DAG or Pipeline).

30 Hazelcast Jet 3.0 – Coming in March Features Description

3.0 stable platform APIs Hazelcast follows semantic versioning. APIs remain backward compatible across 1.x versions.

Debugging in Management Tools for debugging flow issues such as late events or no output issues. Insight into what's happening. Center

Lossless Recovery Resume processing without data loss after lights out event.

Rolling Job Upgrades Allow jobs to be upgraded without data loss or interruption.

Job Management Exclusive Job Execution (run job if absent) and Job Listeners. Extensions

Windowing Extensions Fully custom windows and tumbling windows with speculative results.

Pipeline API Improvements Support for async enrichment and lookup.

Community connectors for Twitter, Slack, Salesforce, Pardot, Amazon Kinesis, MongoDB, Redis & Community Connectors ElasticSearch.

Jet on Kubernetes Ability to use Kubernetes as a modern resource manager, & Jet Charts for Kubernetes Helm.

Jet Pivotal Cloud Foundry Tile with Kubernetes (PKS) and Jet on Red Hat Openshift Container Enterprise PaaS Platform.

31 Evolution of Stream Processing

Distributed Batch Compute – MapReduce – scaled, parallelized, distributed, resilient, - not 1st Gen (2000s) real-time Hadoop(batch) or or Apama(CEP) Siloed, Real-time – Complex Event Processing – specialized languages, not resilient, not hard choices distributed(single instance), hard to scale, fast, but brittle, proprietary

Micro-batch distributed – heavy weight, complex to manage, not elastic, require large 2nd Gen (2014) dedicated environments with many moving parts, Spark not Cloud-friendly, not low-latency hard to manage

Distributed, real-time streaming – highly parallel, true streams, advanced techniques (Directed Acyclic Graph) and in-memory compute, enabling reliable distributed job execution 3rd Gen Flexible deployment - Cloud-native, elastic, embeddable, light-weight, supports serverless, fog & 2017 Jet & Flink edge. flexible & scalable Low-latency Streaming, ETL, and fast-batch processing, built on proven data grid Simple, Easy “Fast Data”

32 When Insights are Perishable, Latency Matters

* Spark had all performance options turn on including Tungsten 33 Hazelcast Jet 3.0 Architecture Java Clients Operations Open Client Network Protocol (Backward & Forward Compatibility, Binary Protocol)

High-Level Pipeline API APIs (Stream and Batch Processing) Jet Management Center

(JMX/REST) Streaming Readers and Writers Batch Readers and Writers Connectors (IMap & ICache streamer, Kafka, JMS, FileWatcher, Socket) (Hazelcast IMDG IMap, ICache & IList, JDBC, HDFS, File)

Processing Stream Processing Batch Processing (Tumbling, Sliding, Session and Custom Windows) (Aggregations, Enrichment, Join) Security Suite (Connection, Core API Encryption, Authentication, Authorization, Fault-Tolerance JAAS LoginModule, (System state snapshots, Recovery after failure, At-least once or Exactly once, Elasticity) SocketInterceptor, Core TLS, Execution Engine OpenSSL, (Distributed DAG Execution, Processors, Back Pressure Handling, Data Distribution) Mutual Auth) Job Management (Jet Job Lifecycle Management, Resource Distribution and Deployment, Job Upgrades)

Data Structures (Distributed Map, Cache, List) Lossless Recovery

Node Engine (Resume processing without (Threads, Instances, Eventing, Wait/Notify, Invocation) data loss after lights out event) Partition Management (Members, Lite Members, Master Partition, Replicas, Migrations, Partition Groups, Partition Aware) Cluster Management with Cloud Discovery SPI (AWS, Azure, Consul, Eureka, etcd, Heroku, IP List, Apache jclouds, Kubernetes, Multicast, Zookeeper) Networking (IPv4, IPv6) Enterprise PaaS Deployment JVM Environments (JDK: 8, 9, 10 and 11, Vendors: Oracle JDK, Open JDK, IBM JDK, Azul Zing & Zulu) (Pivotal Cloud Foundry, Operating Operating System Red Hat Openshift Container Environments (Linux, Oracle Solaris, Windows, AIX, Unix) Platform)

On Premise AWS Azure Docker Kubernetes VMware 34 Professional Support Enterprise Edition Stream Processing Players Size of Circle Indicates Level of Effort for High Adopting (Key Driver for TCO) Smaller is better Hazelcast Apache Spark Apache Flink Kafka Streams Jet Simple yet

Akka Platform powerful Capabilities

Complex Simplicity Simple

35 Why Jet? - Competing Technologies

Competitor Hazelcast Advantages Why Switch

Apache Flink Faster, lower latency, not built on in-memory Latency Matters – Jet beats Flink on low-latency (now Alibaba) Simpler, easier to manage & adopt Limited enterprise adoption, Chinese ownership Embeddable, Microservices & Cloud Native You need to run in Java apps, microservices & Edge

Apache Spark Faster, lower latency, in-memory Latency Matters – Spark not designed for sub-500ms Structured Less complex, easier to manage Adoption hasn’t met expectations Streaming Embeddable, Microservices & Cloud Native You want an easier to manage, simpler solution You need to run in Java apps, microservices & Edge

Kafka Streams Faster, lower latency Latency Matters – Jet also beats Kafka on low- Simpler architecture latency Limited ability to enrich stream data Limited batch processing

Complex Event More resilient & scalable You want greater elasticity and reliability. Processing aka Non-proprietary - Open Source You want a more open solution. Streaming Embeddable, Microservices & Cloud Native You need to run in Java apps, microservices & Edge Analytics

36 Hazelcast Jet vs. Flink

Hazelcast Cluster

Simple - single 10mb jar file Complex Master/Slave Job Orchestration Built on 10 year+ proven data grid Also requires Zookeeper and other components Elastic clustering, Cloud-native Requires RocksDB for larger scale state sharing Embeddable, microservices and Edge ready Complexity slows adoption & adds latency In-memory data locality High Density off-heap data

37 Hazelcast Jet vs. Spark

Hazelcast Cluster

Simple - single 10mb jar file Complex Master/Slave Job Orchestration Built on 10 year+ proven data grid Also requires Zookeeper, YARN and other components Elastic clustering, Cooperative Job Management Requires added components for meta-data mgmt. (Hive) & security (Navigator) Embeddable, microservices and Edge ready Cannot run embedded, microservices or Edge In-memory data locality High Density off-heap data

38 Thank You