hazelcast in-memory platform · also includes fast query over json data. yaml configuration support...

39
THE LEADING IN-MEMORY COMPUTING PLATFORM 1 Hazelcast In-Memory Platform Terry Walters Sr Solutions Architect

Upload: others

Post on 28-May-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

THE LEADING IN-MEMORY COMPUTING PLATFORM

�1

Hazelcast In-Memory PlatformTerry WaltersSr Solutions Architect

Page 2: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�2

Hazelcast In-Memory Computing Platform

APIsSystem of Record StreamsSensors Data LakesHadoop …Sources

Hazelcast In-Memory Computing Platform

Data Store Stream & Batch Processing

Analytical Processing AI/ML Processing

IoTMicroservices AI/ML

Payment Processing

Fraud Detection

Customer Loyalty eCommerceUse Cases BI Edge

ProcessingETL/Ingest …

Cache

Monitoring

Distributed Data Data-at-rest

Distributed Streaming Data-in-motion

Page 3: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�3

In-Memory Data Grid

Page 4: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�4

IMDG Evolution Through Time

2016 2017 2018 2019

Clients

Data Structures

Open Client Protocol | Java | .NET | C++ | Python | Node.js | Go | HTTP/2

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

Open Cloud Platform

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

Caching

JCache | HD Memory | Hot Restart | HotCache

In-Memory Data Grid

j.u.c. | Performance | Security | Rolling Upgrades | New Man Center

Page 5: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�5

Roadmap: IMDG 3.11 New Enterprise Features

Features Description

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

Fine-Grained Control over Wan Replication Events

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

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

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

Page 6: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�6

Roadmap: IMDG 3.11 New Features

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

Hazelcast Works on Java 8 through to 11. Make sure Hazelcast works on Java 8/9/10/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 Strategy Allow a back off strategy for client re-connection attempts.

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

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

Page 7: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�7

Hazelcast 3.12 Roadmap

Page 8: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�8

Hazelcast IMDG 3.12 In-Memory Computing Platform

HyperLogLog

List

Node.js

DockerOn Premise AWS Azure VMware

Node Engine (Threads, Instances, Eventing, Wait/Notify, Invocation)

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)

On-Heap Store High-Density Memory Store(Intel, Sparc)

Serialization (Serializable, Externalizable, DataSerializable, IdentifiedDataSerializable, Portable, Custom)

C++ C#/.NET PythonScalaJava

JVM(JDK: 6,7,8,9,10,11 Vendors: Oracle JDK, OpenJDK, IBM JDK, Azul Zing & Zulu)

Executor Service & Scheduled Exec ServiceSQL Query AggregationPredicate &

Partition Predicate Entry Processor

Map MultiMap Replicated Map

Web Sessions(Tomcat/Jetty/Generic)

Continuous QueryHD

Enterprise HD Edition-Enabled FeatureHD

HD

HD

Queue Topic Ringbuffer

AtomicLong

Hibernate 2nd Level CacheHD

JCache

Set

Lock/Semaphore

java.util.concurrent

ID Gen.

Hot Restart Store(SSD, HDD) HD

Storage

Operating System(Linux, Oracle Solaris, Windows, AIX, Unix)

Operating Env

APIs

OperationsGo

Near Cache Near CacheHD

WAN Replication(Socket, Solace Systems, One-way, Multiway, Init New Data

Center, DR Data Center Recovery,

Discovery SPI, Delta Synchronization)xx

Management Center(JMX/REST)

Security Suite(Connection, Encryption, Authentication, Authorization, JAAS LoginModule, SocketInterceptor, TLS, OpenSSL,

Mutual Auth)

Rolling Upgrades(Rolling Client Upgrades, Rolling Member Upgrades, No

Downtime, Compatibility Test Suite)

Hazelcast Striim Hot Cache(Sync Updates from Oracle DB, MS SQL Server, MySQL

and NonStop DB)

Enterprise PaaS Deployment Environments(Pivotal Cloud Foundry,

Red Hat OpenShift Container Platform, IBM Cloud Private)

Operations

HD

Integrates with Jet

AtomicRef

Memcached Clojure Open Client Network Protocol(Backward & Forward Compatibility, Binary Protocol)RESTClients

Low-Level Services API

Engine

HD

ReliableTopic

Flake ID Gen. CRDT PN CounterHD

Kubernetes

Professional Support Enterprise Edition Enterprise HD Edition Hazelcast Solution

Blue/Green Deployments

Automatic Disaster Recovery Fail-Over

Page 9: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�9

Roadmap: IMDG 3.12 New Enterprise Features

Features DescriptionFirst Class Kubernetes Support Harden the Kubernetes support for all IMDG Enterprise features, and increase

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 Automatically

Add possibility to remove hot-restart data automatically when a Member re-joins to an active cluster.

Add and remove WAN targets (publishers) in running cluster Ability to add and remove WAN Targets to a running cluster.

Automatically switch cluster version after Rolling Upgrade

Switch to newer cluster version automatically instead of manually change the cluster version.

FIPS-140 Validation Make Hazelcast Enterprise FIPS-140 validated.

Page 10: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�10

Roadmap: IMDG 3.12 New Enterprise Features

Features Description

Blue/Green Deployments

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 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-OverAutomatic disaster recovery fail-over provides clients connected to Hazelcast® Enterprise 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.

Page 11: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�11

Roadmap: IMDG 3.12 - New FeaturesFeatures DescriptionJSON 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.

CP Sub-system

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:• IAtomicLong• ISemaphore• ICountDownLatch• ILock• IAtomicReference

Page 12: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�12

Hazelcast Clients Roadmap

Page 13: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�13

Clients: Recently Released New FeaturesFeatures Description.NET Client: Eventually Consistent Near Cache Eventually Consistent near-cache for .NET client.

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

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

C++ Client: Logger Redirection Ability to redirect the C++ client logs to a file programmatically as in Java client via Logger 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.

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

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

Page 14: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�14

Clients: Recently Released New Features (cont’d)

Features Description

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

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

Go Client: Statistics Provide Go Client related info and statistics so that Management Center can show them 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.

Page 15: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�15

Clients: Planned New FeaturesFeatures 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.

Node.js Client: Projections Projection in queries via Node.js Client. Queries should be able to return specific fields of an entry, not the 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.

Page 16: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�16

Cloud & Plugins Roadmap

Page 17: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�17

Cloud & Plugins: Recently Released New Features

Features Description

Hazelcast Discovery Plugin for GCP 1.0

Automatic Hazelcast member discovery in the Google Cloud Platform (Compute Engine) environment:• ZONE_AWARE support• 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.

Hazelcast Member Tool A command line tool that is able to run one or more Hazelcast member instances on the local machine. It is also published as a Homebrew repository, RPM and DEB packages.

Other Releases• Second Level Cache for Hibernate5 1.3.1• Spring Data Hazelcast 2.1• Hazelcast AWS 2.3• Hazelcast Discovery Plugin for Kubernetes 1.3.1

Page 18: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�18

Cloud & Plugins: Planned New FeaturesFeatures DescriptionHazelcast CLI (Beta) A command line interface for Hazelcast IMDG to support DevOps activities.

Hazelcast IMDG Enterprise for PCF:PKS Support

PKS is a Kubernetes solution by Pivotal that allows you to deploy an Hazelcast cluster PKS enabled PCF Environment.

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

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

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

Hazelcast Docker Improvements Improve out of the box Docker experience.

Kubernetes Horizontal Pod Autoscaling Ability to use Kubernetes auto-scaling functionality to scale out the Hazelcast data grid when it nears 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.

Page 19: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�19

Hazelcast 3.13 Roadmap2019 Q3

Page 20: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�20

Roadmap: IMDG 3.13 New Enterprise Features

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

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

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

WAN Replication: Specify Network Interface

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

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

WAN Replication: Decoupling TLS Configuration

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

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

Page 21: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�21

Roadmap: IMDG 3.13 New Enterprise Features

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

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

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 Suites and TLS Settings Enforce configuration so that handshaking does not result in a lower level.

Page 22: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�22

Roadmap: IMDG 3.13 New Features

Features DescriptionQuery 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 for Map and JCache Offload of MapStore write-behind and MapLoader & JCache CacheLoader and CacheWriter.

Page 23: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�23

Roadmap: IMDG 3.13 New Features (cont’d)

Features DescriptionRefresh-Ahead Caching for JCache and Map

The goal of Read-Ahead caching is to keep a subset of entries up-to-date with the database. That way the 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 Improvements A series of performance improvements to speed-up paging predicates.

Configuration References The ability to create a reference configuration for a map and then have other concrete maps use that 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.

Page 24: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�24

Roadmap: IMDG 3.13 New Features (cont’d)

Features DescriptionClients: Configurable Port for Discovering Members Provide the counterpart of the member-side port configuration to the client-side.

Non-Stop Near Cache Client In case of disconnection with servers, clients should function normally, returning data from its Near Cache if 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.

Async Backups by Default Optimization of modifying operations performance like a map.put by switching from synchronous backup to asynchronous backup.

Populate Backup Partitions on MapLoader Read-through Load backup partitions on MapLoader read-through operations.

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

Page 25: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�25

Stream Processing & Compute

Page 26: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�26

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

Page 27: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

© 2018 Hazelcast Inc. Confidential & Proprietary

Hazelcast - High Performance Platform

Secure | Manage | Operate Embeddable | Scalable | Low-Latency

Secure | Resilient | Distributed

Ingest & Transform Events, Connectors, Filtering

Combine Join, Enrich, Group, Aggregate

Stream Windowing, Event-Time Processing

Compute & Act Distributed & Parallel Computations

Live Streams Kafka, JMS,

Sensors, Feeds

Databases JDBC,

Relational, NoSQL, Change Events

Files HDFS, Flat Files,

Logs, File watcher

Applications Sockets

Mobile

Apps

Commerce

Communities

Social

Analytics Visualization

Data Lake

Integrate APIs, Microservices, Notifications

Communicate Serialization, Protocols

Store/Update Caching, CRUD Persistence

Compute Query, Process, Execute

IMDG In-Memory Data

Jet In-Memory Compute

Scale Clustering & Cloud, High Density

Replicate WAN Replication, Partitioning

Management Center

Secure Privacy, Authentication,

Authorization

Available Rolling Upgrades, Hot Restart

Secure Privacy, Authentication,

Authorization

Available Job Elasticity, Graceful shutdown

Page 28: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�28

Hazelcast Jet Key DifferentiatorsProductive

Enterprise-grade storageFlexible integration

Industry-leading performance• One solution provides both batch and stream processing• Based on Hazelcast legendary ease-of-use• Variety of connectors enable easy integration into data

processing pipeline• Scaling, failure handling and recovery are all automated for

ease of operational management• Exactly-Once or At-Least Once guarantees• Quick response to new feature requests

• Embeds Hazelcast IMDG as an operational storage for enterprise-grade reliability and resilience

• Most widely deployed IMDG with millions of deployments in production worldwide

• High-Performance integration eliminates network transit latency penalties from moving data back and forth

• Eliminates the integration issues between processing and storage

• Operates as shared application infrastructure or is embedded directly in applications as a JAR- making big data processing an application concern

• Ideal for microservices with light-weight footprint --each Jet processing job is launched within its own cluster maximizing service isolation

• Light-weight makes manipulation with Jet easy for both developers and DevOps

• Cloud and container ready. Pivotal Cloud Foundry, Red Hat OpenShift, Docker, Azure, AWS, Kubernetes

• Distributed computing platform enables fast processing of big data

• Parallel and low-latency core engine allows data-intensive applications to operate at real-time speeds

• Cooperative multi-threading architecture allows operation of thousands of jobs simultaneously

• Scales both vertically and horizontally

Page 29: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�29

Jet High Level Evolution

2017 2018 2019

… 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

Page 30: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�30

Hazelcast Jet – Recent FeaturesFeatures Description

Management Center for Jet Metrics collection, web tool with dashboard overview, job diagnostics tool and cluster overview, JMX interface.

Pipeline API Increased convenience for frequent tasks (enrich, aggregate, merge, union, distinct), moving towards stable API.

Rolling Aggregations Allows computing rolling aggregations, e.g. rolling sum, max or average. Feature is useful for use-cases such as "detect all-time temperature height".

Connectors: Custom Sources Provide the ability to use custom sources without having to use the Core API and write custom processors.

Connectors: JDBC Allow Jet to read from a JDBC source (batch processing of relational data) and write to a JDBC source (for both streaming and batching use-cases).

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

Connectors: Avro Allow Jet to read from and write to Avro-serialised data very frequent in both Hadoop (batch) and Kafka (streaming) worlds.

Job Elasticity Allow the cluster to scale up (change of global parallelism) automatically making use of the new members for running computations.

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

Page 31: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�31

Hazelcast Jet 3.0 – Coming in MarchFeatures Description3.0 stable platform APIs Hazelcast follows semantic versioning. APIs remain backward compatible across 1.x versions.

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

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 Extensions Exclusive Job Execution (run job if absent) and Job Listeners.

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

Pipeline API Improvements Support for async enrichment and lookup.

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

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

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

Page 32: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�32

Evolution of Stream Processing

1st Gen (2000s)Hadoop(batch) or Apama(CEP)hard choices

Distributed Batch Compute – MapReduce – scaled, parallelized, distributed, resilient, - not real-time orSiloed, Real-time – Complex Event Processing – specialized languages, not resilient, not distributed(single instance), hard to scale, fast, but brittle, proprietary

2nd Gen (2014)Sparkhard to manage

Micro-batch distributed – heavy weight, complex to manage, not elastic, require large dedicated environments with many moving parts, not Cloud-friendly, not low-latency

3rd Gen 2017 Jet & Flinkflexible & scalableSimple, Easy “Fast Data”

Distributed, real-time streaming – highly parallel, true streams, advanced techniques (Directed Acyclic Graph) and in-memory compute, enabling reliable distributed job executionFlexible deployment - Cloud-native, elastic, embeddable, light-weight, supports serverless, fog & edge.Low-latency Streaming, ETL, and fast-batch processing, built on proven data grid

Page 33: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�33

When Insights are Perishable, Latency Matters

* Spark had all performance options turn on including Tungsten

Page 34: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�34

Hazelcast Jet 3.0 Architecture

KubernetesOn Premise AWS Azure VMware

Node Engine (Threads, Instances, Eventing, Wait/Notify, Invocation)

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)

Java

JVM (JDK: 8, 9, 10 and 11, Vendors: Oracle JDK, Open JDK, IBM JDK, Azul Zing & Zulu)

Professional Support Enterprise Edition

Operating System (Linux, Oracle Solaris, Windows, AIX, Unix)

OperatingEnvironments

Jet Management Center

(JMX/REST)

Security Suite

(Connection, Encryption,

Authentication, Authorization, JAAS LoginModule, SocketInterceptor,

TLS, OpenSSL,

Mutual Auth)

Enterprise PaaS Deployment

Environments

(Pivotal Cloud Foundry, Red Hat Openshift Container

Platform)

Open Client Network Protocol (Backward & Forward Compatibility, Binary Protocol)

Clients

Data Structures (Distributed Map, Cache, List)

Core API

Batch Readers and Writers (Hazelcast IMDG IMap, ICache & IList, JDBC, HDFS, File)

Batch Processing (Aggregations, Enrichment, Join)

Streaming Readers and Writers (IMap & ICache streamer, Kafka, JMS, FileWatcher, Socket)

Stream Processing (Tumbling, Sliding, Session and Custom Windows)

Job Management (Jet Job Lifecycle Management, Resource Distribution and Deployment, Job Upgrades)

Execution Engine (Distributed DAG Execution, Processors, Back Pressure Handling, Data Distribution)

Fault-Tolerance (System state snapshots, Recovery after failure, At-least once or Exactly once, Elasticity)

Pipeline API (Stream and Batch Processing)

High-Level APIs

Connectors

Processing

Core

Lossless Recovery

(Resume processing without data loss after lights out event)

Operations

Docker

Page 35: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�35

Stream Processing Players

Capa

bilit

ies

Complex

High

SimpleSimplicity

Size of Circle Indicates Level of Effort for Adopting (Key Driver for TCO) Smaller is better

Apache FlinkApache Spark

Akka Platform

Hazelcast JetKafka Streams

Simple yet powerful

Page 36: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�36

Why Jet? - Competing Technologies

Competitor Hazelcast Advantages Why SwitchApache Flink(now Alibaba)

Faster, lower latency, not built on in-memorySimpler, easier to manage & adoptEmbeddable, Microservices & Cloud Native

Latency Matters – Jet beats Flink on low-latencyLimited enterprise adoption, Chinese ownershipYou need to run in Java apps, microservices & Edge

Apache Spark Structured Streaming

Faster, lower latency, in-memoryLess complex, easier to manageEmbeddable, Microservices & Cloud Native

Latency Matters – Spark not designed for sub-500msAdoption hasn’t met expectationsYou want an easier to manage, simpler solutionYou need to run in Java apps, microservices & Edge

Kafka Streams Faster, lower latencySimpler architecture

Latency Matters – Jet also beats Kafka on low-latencyLimited ability to enrich stream dataLimited batch processing

Complex Event Processing akaStreaming Analytics

More resilient & scalableNon-proprietary - Open SourceEmbeddable, Microservices & Cloud Native

You want greater elasticity and reliability.You want a more open solution.You need to run in Java apps, microservices & Edge

Page 37: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�37

Hazelcast Jet vs. Flink

Hazelcast Cluster

Simple - single 10mb jar file Built on 10 year+ proven data grid Elastic clustering, Cloud-nativeEmbeddable, microservices and Edge readyIn-memory data localityHigh Density off-heap data

Complex Master/Slave Job Orchestration Also requires Zookeeper and other componentsRequires RocksDB for larger scale state sharingComplexity slows adoption & adds latency

Page 38: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

�38

Hazelcast Cluster

Simple - single 10mb jar file Built on 10 year+ proven data grid Elastic clustering, Cooperative Job ManagementEmbeddable, microservices and Edge readyIn-memory data localityHigh Density off-heap data

Complex Master/Slave Job Orchestration Also requires Zookeeper, YARN and other componentsRequires added components for meta-data mgmt. (Hive) & security (Navigator)Cannot run embedded, microservices or Edge

Hazelcast Jet vs. Spark

Page 39: Hazelcast In-Memory Platform · Also includes fast query over JSON data. YAML Configuration Support Play well with the needs of Cloud environments. Composite Indexes Support Improve

Thank You