With a fully managed Apache Kafka(R) as-a-service on Microsoft Azure, businesses can focus on building applications and not managing clusters. Build a persistent bridge from on-premises data systems to the cloud with a hybrid Kafka service or stream across public clouds for multi-cloud data pipelines.
In this session for business and technical data leaders, you can learn about powering business applications with the managed Kafka service that streams data into Azure SQL Data Warehouse, Cosmos DB, Azure Data Lake Storage and Azure Blob Storage.
2. Introductions
Joanna De Castro-
Dee
APAC ISV Partner
Development
Manager
Microsoft
Ben Echols
Senior Product
Manager,
Confluent
Derk Van Ogtrop
BD Alliances
Director APAC,
Confluent
10. Confluent Snapshot | Founded September 2014
10
founded by
the Original Creators of
Apache Kafka®
67% of the Fortune 500 uses Apache Kafka
Kafka is in Production at
200,000+
Companies
Kafka was invented at
LinkedIn & Donated to the
Apache Foundation
Confluent was LinkedIn’s 1st
Corporate Investment
11. JP Morgan Chase’s
2019
“Hall of Innovation”
Award
Google’s 2019 &’20
“Technology
Partner
of the Year”
Data & Analytics
# 10
Forbes Cloud-100
https://www.credit-suisse.com/about-us-news/en/articles/media-releases/credit-suisse-ag-announces-disruptive-technology-recognition-award-winners-201912.html
Confluent is The Leading Event Stream Processing Technology
14. Kafka Has Become a Common Way
Organizations Connect those Systems
15. Central-Nervous System for Data – Driving Cloud App/Dev
Hadoop ...
Device
Logs ... App ...MicroserviceMainframes
Azure Data
Services
Splunk ...
Data Stores Logs 3rd Party Apps Custom Apps / Microservices
Same Day
Transactioning
(Account Open)
Fees Charges
& Billing
Real-time
Customer 360
Machine
Learning
Models
Real-time Data
Transformation
Real-time Fraud
Detection
16. Build an event streaming
platform, and put it at the heart of
every company.
17. Confluent Cloud
Fully-managed
Born in the cloud: no infrastructure
Guaranteed 99.95% uptime SLA
Self-serve for GBps
Complete platform
Connect, ksqlDB, Schema Registry
Capable of end-to-end applications
Kafka from the people who made it
Run anywhere
Global availability on AWS, Azure, and GCP
Bridge on-prem to cloud with hybrid Kafka
Extend streaming apps across clouds
Security & compliance
Control access to clusters and resources
Authenticate users and applications
Protect data with end-to-end encryption
Flexible
Cluster types for all scenarios & sizes
Many networking options
Customer choice of features
Elastic
Scale in-place w/o downtime
No storage limits
21. Kafka | Schema Registry | KSQL | Connectors | Auto data balancer |
| Replicator | MQTT Proxy | REST Proxy | Connectors |
Database changes Log events IoT events Web events
Transformations
Custom apps
Analytics
Monitoring
Hadoop
Database
Data warehouse
CRM
Fully managed service Available self managed components
DATA INTEGRATION REAL-TIME APPS
Complete Platform | Apache Kafka re-engineered for cloud
22. Kafka | Schema Registry | KSQL | Connectors | Auto data balancer |
| Replicator | MQTT Proxy | REST Proxy | Connectors |
Database changes Log events IoT events Web events
Fully managed service Available self managed components
DATA INTEGRATION REAL-TIME APPS
Complete Platform | Apache Kafka re-engineered for cloud
23. Azure Marketplace
Sign-up directly through the Azure portal
Use Azure as your payment method
Get full access to all the Confluent Cloud services with simplified experience and
billing
32. What’s stream processing good for?
Materialized cache
Build and serve incrementally
updated stateful views of your
data.
32
Streaming ETL pipeline
Manipulate in-flight events to
connect arbitrary sources and
sinks.
Event-driven microservice
Trigger changes based on
observed patterns of events in
a stream.
33. 3 modalities of stream processing with Confluent
Kafka clients
33
Kafka Streams ksqlDB
ConsumerRecords<String, String> records = consumer.poll(100);
Map<String, Integer> counts = new DefaultMap<String,
Integer>();
for (ConsumerRecord<String, Integer> record : records) {
String key = record.key();
int c = counts.get(key)
c += record.value()
counts.put(key, c)
}
for (Map.Entry<String, Integer> entry : counts.entrySet()) {
int stateCount;
int attempts;
while (attempts++ < MAX_RETRIES) {
try {
stateCount = stateStore.getValue(entry.getKey())
stateStore.setValue(entry.getKey(), entry.getValue() +
stateCount)
break;
} catch (StateStoreException e) {
RetryUtils.backoff(attempts);
}
}
}
builder
.stream("input-stream",
Consumed.with(Serdes.String(), Serdes.String()))
.groupBy((key, value) -> value)
.count()
.toStream()
.to("counts", Produced.with(Serdes.String(), Serdes.Long()));
SELECT x, count(*) FROM stream GROUP BY x EMIT CHANGES;
34. Using external processing systems leads to
complicated architectures
DB CONNECTOR
APP
APP
DB
STREAM
PROCESSING
APPDB
CONNECTOR
CONNECTOR
35. We can put it back together in a simpler way
DB
APP
APP
DB
APP
PULL
PUSH
CONNECTORS
STREAM PROCESSING
STATE STORES
ksqlDB
36. Build a complete streaming app with one mental
model in SQL
Serve lookups against
materialized views
Create
materialized views
Perform continuous
transformations
Capture data
CREATE STREAM purchases AS
SELECT viewtime, userid,pageid, TIMESTAMPTOSTRING(viewtime, 'yyyy-MM-dd')
FROM pageviews;
CREATE TABLE orders_by_country AS
SELECT country, COUNT(*) AS order_count, SUM(order_total) AS order_total
FROM purchases
WINDOW TUMBLING (SIZE 5 MINUTES)
LEFT JOIN user_profiles ON purchases.customer_id = user_profiles.customer_id
GROUP BY country
EMIT CHANGES;
SELECT * FROM orders_by_country WHERE country='usa';
CREATE SOURCE CONNECTOR jdbcConnector WITH (
‘connector.class’ = '...JdbcSourceConnector',
‘connection.url’ = '...',
…);
38. Flexible: Confluent Cloud has a Kafka cluster
type for every need
DedicatedBasic Standard
Elastic scaling up to 100
MBps, pay only for what you
stream
Elastic scaling up to 100
MBps, multi-zone HA,
enterprise-grade SLA, private
networking coming soon
GBps scale, dedicated
compute and storage, HIPAA
compliance, multiple private
networking options
Developers and price sensitive
production use cases that
don’t require advanced
features
Mainstream production
workloads
Large-scale production
workloads (very high throughput,
high security, high SLA, etc)
Target use
cases
Features
Entry level &
low cost
Enterprise features
with low prices
Single tenant w/
GBps scale