SlideShare a Scribd company logo
Microservices in a
Streaming World
Modern distributed applications and infrastructure
About me
Hans Jespersen
hans@confluent.io
https://www.linkedin.com/in/hansjespersen
https://github.com/hjespers
U of Waterloo – Punch Cards, COBOL, Assembler, RJE, Screen Scraping
AT&T – Unix, Client/Server, Tuxedo & Transactions, Pre-Web Internet
Sun – Solaris, ONC RPC, CORBA
TIBCO – Yahoo!Quotes, Pub/Sub, Multicast, JMS, ESB, SOA, WS-*
Solace – Messaging HW, MQTT ,AMQP, REST
Confluent – Kafka, Event Stream Processing
Personally - active in IoT, open source, MQTT
Not going to talk about...
Meaningless, vendor marketing,
definition of Micro Services
Let’s parse this out together…
Love Martin Fowler’s Work
Microservices in a Streaming World
https://youtu.be/_RgUxUTuxH4 – or Google “Kafka Summit Martin Fowler”
I am going to talk about...
Patterns in Modern Distributed
Architecture and Application
Infrastructure
You’ve probably heard of Microservices.
But what are they really?
Are they SOA all over again?
SOA Microservices
Or are they an evolution?
SOA
We used to build monolithic applications.
These applications came in a variety of different forms.
Companies built lots of them.
But the teams in these companies were grouped into business areas. Silos.
So the applications would also form into silos along their business lines.
This led to a lot of duplication across different applications, in different silos.
The duplication made the IT function expensive to run.
Then someone had an idea.
What if they pulled out the common pieces into reusable “services”?
Service
Less code in each silo seemed like a good idea.
Service
Then, they realized they could build whole companies
based on these reusable services.
This seemed like a very good idea!
The trick was to rearrange the people to match the services.
So instead of sitting in silos…
The teams would match the architecture that they wanted to end up with.
SoA
This pattern was termed a
‘Service Oriented Architecture.’
But - there was a problem.
Refactoring companies turned out to be slow and difficult.
Services
So people took the same pattern designed for big companies…
…and applied it to break up monolithic applications...
…knowing that with this architecture, the companies would be able to grow…
…and grow…
…and grow.
This was termed Microservices:
Change through small,
well-defined services
that are easy to reuse.
So silos were broken down…
…and monoliths were broken up.
Evolving incrementally towards contemporary service estates.
But things were not entirely rosy yet.
While silos seemed expensive and wasteful, they had one big advantage...
Each application was free to handle change independently of
the applications around it.
Every application was, in some sense, an island.
Microservices are built with HTTP, REST, or some other protocol
made from requests and replies.
Request
Reply
This works well when ecosystems are small…
Buying
Widgets
But gets harder as they grow more complex and more interconnected.
Services are tightly coupled. No islands here!
So if one service fails…
…or even just runs slowly…
Buy Widgets
The fall-out could be much larger.
Others end up feeling that pain.
Buy Widgets
Yet, at company scale, the majority of processes run in the background anyway.
They are asynchronous to one another.
Online
Billing Inventory Fulfillment Fraud
Offline
So it makes sense to DECOUPLE services from one another.
Billing Inventory Fulfillment Fraud
Offline
Online
Decouple
Apache Kafka™ helps with this as it provides a data backbone for your services.
Billing Inventory Fulfillment Finance Fraud
HTTP etc
Offline
Online
This connects services together.
It also connects their DATA together.
All Your Data
The three tenets of messaging… embedded into a layer of permanence.
Decoupling Notification Data Transfer
Permanence
Messaging that remembers.
So every service gets the data it needs.
All Your Data
Unlike typical service frameworks, it also DECOUPLES services from one another,
so they can evolve independently.
This makes it easier to move away from legacy architectures,
to evolve away from the past…
All Your Data
LEGACY
…towards a better-factored future, whatever that may look like.
All Your Data
LEGACYNew Services
Analytics
So wherever your business ends up…
Cloud
Another Device
Another
Geography
Apache Kafka provides the Service Backbone built to handle today’s
data-centric world...
Big Data Ready
In a way that can adapt to your company's future, wherever you might take it.
Services built on the POWER and IMMEDIACY of an Event Streaming Platform.
Event Streaming Platform
Microservices in a Streaming World
So what is this Kafka thing you speak of so highly?
How do you see Kafka?
Traditional Messaging Functionality
Decoupling of Producers and Consumers
Message Exchange Patterns (MEP)
Topic = Publish/Subscribe - N of N delivery Queues = Point-to-Point - 1 of N delivery
Message Exchange Patterns (MEP)
Request/Reply
Content-Based Router
Message Delivery Semantics
At-Most-Once
“Best effort”
“Reliable”
QoS 0
At-Least-Once
“Guaranteed”
“Certified”
QoS 1
Exactly Once
“Once-and-Only-Once”
“Transactional”
QoS 2
Wide Spectrum of Messaging Offerings
Ultra- low Latency (often no broker in the middle)
High Volume (Persistent or Non-Persistent)
Highly Available (Clustered and Fault Tolerant)
Embedded Messaging (inside apps)
Cross Datacenter / Organizational / B2B
Enterprise Message Bus
Messaging-as-a-Service
Web / IoT Messaging
Instant Messaging
“publish-subscribe messaging rethought as a distributed commit log”
Kafka is a Mashup
Mashup of some well proven concepts into something even greater and easier to use:
EAI + ETL
Messaging Middleware + Big Data
Batch + Real-time
Data Movement + Data Processing
Log Data Streams + Structured Database Tables
+ Distributed clustered storage
Kafka is a blend of messaging, stream processing, ETL and
modern database designs built around a distributed log
+ Streaming platform
Pub/Sub
Messaging
ETL
Connectors
Spark
Flink
Beam
IBM MQ
TIBCO
RabbitMQ
Mulesoft
Talend
Informatica
Kafka is much more than messaging
+ Exactly Once
+ Designed for the Cloud
+ Inter DC replication
+ Schema evolution
Stream
Processing
Confluent Confidential
What’s different about Kafka? Topics are also Queues
Consumers can share one copy of the data
• Independent consumers share the same log
• Inter-dependent consumers share the same log
• No need for Topic/Queue bridging or multiple
copies of the data
Message processing is greatly simplified
- There is no “head’ of the queue
- Writes are sequential, distributed, and
parallel
What’s different about Kafka? Messages are not deleted when
consumed
Messages in the commit logs are persistent and immutable
Slow Consumers are (very) decoupled from Fast Producers
Batch and real-time are unified
Message Replay, Replication, and Auditing are built-in (for free)
All production messaging deployment need some form of these
Message Retention is not a waste of disk space
You need to size for offline/disconnected consumers anyway
Distributed State can always be recreated from a common commit log
Makes distributed HA apps much easier to build
What’s different about Kafka? Topic Partitions and Keyed Messages
- Topics/Queues are not the smallest unit of
scalability
- Topics partitions are distributed across
brokers for parallel in-order consumption
- This is very different from a cluster of
traditional message brokers
- [graphic of topic partitions with parallel
Producers, Brokers, and Consumers]
- Sometime you can just use more keys
instead of more topics
- Eg. don’t create a new topic for every user,
or IoT device, create unique keys
- This is proven to scale to many millions of
connected users, cars and IoT devices
- [graphic to show Keyed messages get
distributed across topic partitions]
From an event stream / transaction log we can derive all of the following
database centric features:
- Replication
- Secondary Indexing
- Caching
- Materialized Views
What’s different about Kafka? Duality of streams and databases
Duality of a message streams and database tables is a key design point
=
(Good) Microservices avoid shared mutable state
Shared, mutable state
Old World: REST Based Microservices Interconnect
GUI
UI Service Order
s
Returns
Pay Fulfilment Stock
Confluent Confidential
Each Microservice has to maintain their own stateful
nature by using their own databases
1. Difficult to Enforce Same REST API standards
across many languages and micro-services.
2. Rest APIs Inherently Slow: Limited to Thousands
calls/sec.
3. Inter Service Dependencies are Messy.
4. Each Service Needs to Maintain State.
5. Difficult to enforce consistent security standards.
6. Logging is distributed between services.
7. Version compatibility between services is difficult.
Streaming Microservices with Kafka
GUI
UI
Service
Orders
Service
Returns
Service
Fulfilment
Service
Payment
Service
Stock
Service
Confluent Confidential
Database Sources Now Centralized on the Kafka Bus for all microservices
1. Service inter-communication standard enforce by Kafka Schema Registry.
2. Millions of messages per second on cheap hardware.
3. No Inter-Service Dependency: just depend on Kafka.
4. Each service can be stateless: Kafka maintains state.
5. Security can be enforced by ACLs from Kafka.
6. Logs can be aggregated into Kafka.
7. Version compatibility can be enforced by Scheme Registry.
8. Kafka is inherently HA, horizontal scalable: still no central point of failure.
What’s different about Kafka? Ecosystem and Adoption
The Kafka ecosystem is flourishing and developer adoption continues to grow
• Confluent Platform additions (REST Proxy, Schema Registry, KSQL etc.)
• Third Party Connectors ( Confluent Hub)
• Open Source contributions from individuals, corporations, vendors, consulting organizations
• Inside and outside of Big Data/Stream Processing
Adoption of Event Streaming
60%Fortune 100 Companies
Using Apache Kafka
Event Streaming at the Heart of the Enterprise
Microservices in a Streaming World
Microservices in a Streaming World
Embrace a Distributed World

More Related Content

PDF
SOA Pattern Event Driven Messaging
KEY
Event Driven Architecture
PDF
5 dani künzli citrix networking news 1
PDF
Telco Cloud - 04. introduction to hypervisor , docker & container
PPT
Data Center Convergentes - Carlos Spera - 20 de octubre - UY
PPTX
Server vs Client in real life and in programming world
PPTX
Nlgug grails in the cloud
PPTX
Cloud Computing
SOA Pattern Event Driven Messaging
Event Driven Architecture
5 dani künzli citrix networking news 1
Telco Cloud - 04. introduction to hypervisor , docker & container
Data Center Convergentes - Carlos Spera - 20 de octubre - UY
Server vs Client in real life and in programming world
Nlgug grails in the cloud
Cloud Computing

What's hot (18)

PDF
Quantum - The Network Mechanics
PDF
Lecture 5
PDF
OSCON 2011
PPTX
Renaissance in VM Network Connectivity
PDF
Jim Webber Martin Fowler Does My Bus Look Big In This
PDF
Virtualization defined-wp
PDF
Jim Webber R E S Tful Services
PDF
Web services
PDF
Jimwebber soa
PDF
MOINC Server
PPTX
Cloud computing
PDF
Adaptive SLA-aware Cloud Federations
PPTX
Scalability and Reliability in the Cloud
DOCX
PPTX
NIC - Hybrid Cloud with NVGRE - Level 400
PPTX
DDHS 2009 Microsoft Heads In The Cloud Feet On The Ground Peter de Haas...
PDF
Network Virtualization with quantum
PPTX
Introduction to WSO2 Integration Platform
Quantum - The Network Mechanics
Lecture 5
OSCON 2011
Renaissance in VM Network Connectivity
Jim Webber Martin Fowler Does My Bus Look Big In This
Virtualization defined-wp
Jim Webber R E S Tful Services
Web services
Jimwebber soa
MOINC Server
Cloud computing
Adaptive SLA-aware Cloud Federations
Scalability and Reliability in the Cloud
NIC - Hybrid Cloud with NVGRE - Level 400
DDHS 2009 Microsoft Heads In The Cloud Feet On The Ground Peter de Haas...
Network Virtualization with quantum
Introduction to WSO2 Integration Platform
Ad

Similar to Microservices in a Streaming World (20)

PDF
From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...
PDF
AI&BigData Lab 2016. Сарапин Виктор: Размер имеет значение: анализ по требова...
PPTX
Leveraging the power of the unbundled database
PDF
Application Modernisation through Event-Driven Microservices
PDF
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...
PDF
Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...
PDF
Message Driven and Event Sourcing
PDF
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
PDF
Building a Streaming Platform with Kafka
PDF
Devoxx university - Kafka de haut en bas
PDF
Big Data Streams Architectures. Why? What? How?
PPTX
Microservices in the Apache Kafka Ecosystem
PDF
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
PDF
Apache Kafka as Event Streaming Platform for Microservice Architectures
PDF
Confluent Messaging Modernization Forum
PPTX
Streaming the platform with Confluent (Apache Kafka)
PDF
Data Pipelines with Apache Kafka
PDF
20220311-EB-Designing_Event_Driven_Systems.pdf
PDF
Building Microservices with Apache Kafka by Colin McCabe
PPTX
Kafkha real time analytics platform.pptx
From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...
AI&BigData Lab 2016. Сарапин Виктор: Размер имеет значение: анализ по требова...
Leveraging the power of the unbundled database
Application Modernisation through Event-Driven Microservices
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...
Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...
Message Driven and Event Sourcing
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
Building a Streaming Platform with Kafka
Devoxx university - Kafka de haut en bas
Big Data Streams Architectures. Why? What? How?
Microservices in the Apache Kafka Ecosystem
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Apache Kafka as Event Streaming Platform for Microservice Architectures
Confluent Messaging Modernization Forum
Streaming the platform with Confluent (Apache Kafka)
Data Pipelines with Apache Kafka
20220311-EB-Designing_Event_Driven_Systems.pdf
Building Microservices with Apache Kafka by Colin McCabe
Kafkha real time analytics platform.pptx
Ad

Recently uploaded (20)

PPTX
ALIMENTARY AND BILIARY CONDITIONS 3-1.pptx
PDF
.pdf is not working space design for the following data for the following dat...
PPTX
advance b rammar.pptxfdgdfgdfsgdfgsdgfdfgdfgsdfgdfgdfg
PPTX
Computer network topology notes for revision
PPTX
DISORDERS OF THE LIVER, GALLBLADDER AND PANCREASE (1).pptx
PPT
Quality review (1)_presentation of this 21
PDF
Mega Projects Data Mega Projects Data
PDF
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
PDF
Clinical guidelines as a resource for EBP(1).pdf
PPTX
Acceptance and paychological effects of mandatory extra coach I classes.pptx
PPTX
CEE 2 REPORT G7.pptxbdbshjdgsgjgsjfiuhsd
PPTX
Introduction-to-Cloud-ComputingFinal.pptx
PPTX
05. PRACTICAL GUIDE TO MICROSOFT EXCEL.pptx
PPTX
Introduction to machine learning and Linear Models
PPT
Chapter 2 METAL FORMINGhhhhhhhjjjjmmmmmmmmm
PPTX
Supervised vs unsupervised machine learning algorithms
PPTX
Business Ppt On Nestle.pptx huunnnhhgfvu
PPTX
A Quantitative-WPS Office.pptx research study
PPTX
Introduction to Basics of Ethical Hacking and Penetration Testing -Unit No. 1...
ALIMENTARY AND BILIARY CONDITIONS 3-1.pptx
.pdf is not working space design for the following data for the following dat...
advance b rammar.pptxfdgdfgdfsgdfgsdgfdfgdfgsdfgdfgdfg
Computer network topology notes for revision
DISORDERS OF THE LIVER, GALLBLADDER AND PANCREASE (1).pptx
Quality review (1)_presentation of this 21
Mega Projects Data Mega Projects Data
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
Clinical guidelines as a resource for EBP(1).pdf
Acceptance and paychological effects of mandatory extra coach I classes.pptx
CEE 2 REPORT G7.pptxbdbshjdgsgjgsjfiuhsd
Introduction-to-Cloud-ComputingFinal.pptx
05. PRACTICAL GUIDE TO MICROSOFT EXCEL.pptx
Introduction to machine learning and Linear Models
Chapter 2 METAL FORMINGhhhhhhhjjjjmmmmmmmmm
Supervised vs unsupervised machine learning algorithms
Business Ppt On Nestle.pptx huunnnhhgfvu
A Quantitative-WPS Office.pptx research study
Introduction to Basics of Ethical Hacking and Penetration Testing -Unit No. 1...

Microservices in a Streaming World

  • 1. Microservices in a Streaming World Modern distributed applications and infrastructure
  • 2. About me Hans Jespersen hans@confluent.io https://www.linkedin.com/in/hansjespersen https://github.com/hjespers U of Waterloo – Punch Cards, COBOL, Assembler, RJE, Screen Scraping AT&T – Unix, Client/Server, Tuxedo & Transactions, Pre-Web Internet Sun – Solaris, ONC RPC, CORBA TIBCO – Yahoo!Quotes, Pub/Sub, Multicast, JMS, ESB, SOA, WS-* Solace – Messaging HW, MQTT ,AMQP, REST Confluent – Kafka, Event Stream Processing Personally - active in IoT, open source, MQTT
  • 3. Not going to talk about... Meaningless, vendor marketing, definition of Micro Services
  • 4. Let’s parse this out together…
  • 7. https://youtu.be/_RgUxUTuxH4 – or Google “Kafka Summit Martin Fowler”
  • 8. I am going to talk about... Patterns in Modern Distributed Architecture and Application Infrastructure
  • 9. You’ve probably heard of Microservices.
  • 10. But what are they really?
  • 11. Are they SOA all over again? SOA Microservices
  • 12. Or are they an evolution? SOA
  • 13. We used to build monolithic applications.
  • 14. These applications came in a variety of different forms.
  • 16. But the teams in these companies were grouped into business areas. Silos.
  • 17. So the applications would also form into silos along their business lines.
  • 18. This led to a lot of duplication across different applications, in different silos.
  • 19. The duplication made the IT function expensive to run.
  • 20. Then someone had an idea.
  • 21. What if they pulled out the common pieces into reusable “services”? Service
  • 22. Less code in each silo seemed like a good idea. Service
  • 23. Then, they realized they could build whole companies based on these reusable services.
  • 24. This seemed like a very good idea!
  • 25. The trick was to rearrange the people to match the services.
  • 26. So instead of sitting in silos…
  • 27. The teams would match the architecture that they wanted to end up with.
  • 28. SoA This pattern was termed a ‘Service Oriented Architecture.’
  • 29. But - there was a problem.
  • 30. Refactoring companies turned out to be slow and difficult. Services
  • 31. So people took the same pattern designed for big companies…
  • 32. …and applied it to break up monolithic applications...
  • 33. …knowing that with this architecture, the companies would be able to grow…
  • 36. This was termed Microservices: Change through small, well-defined services that are easy to reuse.
  • 37. So silos were broken down…
  • 38. …and monoliths were broken up.
  • 39. Evolving incrementally towards contemporary service estates.
  • 40. But things were not entirely rosy yet.
  • 41. While silos seemed expensive and wasteful, they had one big advantage...
  • 42. Each application was free to handle change independently of the applications around it.
  • 43. Every application was, in some sense, an island.
  • 44. Microservices are built with HTTP, REST, or some other protocol made from requests and replies. Request Reply
  • 45. This works well when ecosystems are small… Buying Widgets
  • 46. But gets harder as they grow more complex and more interconnected.
  • 47. Services are tightly coupled. No islands here!
  • 48. So if one service fails…
  • 49. …or even just runs slowly… Buy Widgets
  • 50. The fall-out could be much larger.
  • 51. Others end up feeling that pain. Buy Widgets
  • 52. Yet, at company scale, the majority of processes run in the background anyway. They are asynchronous to one another. Online Billing Inventory Fulfillment Fraud Offline
  • 53. So it makes sense to DECOUPLE services from one another. Billing Inventory Fulfillment Fraud Offline Online Decouple
  • 54. Apache Kafka™ helps with this as it provides a data backbone for your services. Billing Inventory Fulfillment Finance Fraud HTTP etc Offline Online
  • 56. It also connects their DATA together. All Your Data
  • 57. The three tenets of messaging… embedded into a layer of permanence. Decoupling Notification Data Transfer Permanence
  • 59. So every service gets the data it needs. All Your Data
  • 60. Unlike typical service frameworks, it also DECOUPLES services from one another, so they can evolve independently.
  • 61. This makes it easier to move away from legacy architectures, to evolve away from the past… All Your Data LEGACY
  • 62. …towards a better-factored future, whatever that may look like. All Your Data LEGACYNew Services Analytics
  • 63. So wherever your business ends up… Cloud Another Device Another Geography
  • 64. Apache Kafka provides the Service Backbone built to handle today’s data-centric world... Big Data Ready
  • 65. In a way that can adapt to your company's future, wherever you might take it.
  • 66. Services built on the POWER and IMMEDIACY of an Event Streaming Platform. Event Streaming Platform
  • 68. So what is this Kafka thing you speak of so highly?
  • 69. How do you see Kafka?
  • 71. Message Exchange Patterns (MEP) Topic = Publish/Subscribe - N of N delivery Queues = Point-to-Point - 1 of N delivery
  • 72. Message Exchange Patterns (MEP) Request/Reply Content-Based Router
  • 73. Message Delivery Semantics At-Most-Once “Best effort” “Reliable” QoS 0 At-Least-Once “Guaranteed” “Certified” QoS 1 Exactly Once “Once-and-Only-Once” “Transactional” QoS 2
  • 74. Wide Spectrum of Messaging Offerings Ultra- low Latency (often no broker in the middle) High Volume (Persistent or Non-Persistent) Highly Available (Clustered and Fault Tolerant) Embedded Messaging (inside apps) Cross Datacenter / Organizational / B2B Enterprise Message Bus Messaging-as-a-Service Web / IoT Messaging Instant Messaging
  • 75. “publish-subscribe messaging rethought as a distributed commit log”
  • 76. Kafka is a Mashup Mashup of some well proven concepts into something even greater and easier to use: EAI + ETL Messaging Middleware + Big Data Batch + Real-time Data Movement + Data Processing Log Data Streams + Structured Database Tables
  • 77. + Distributed clustered storage Kafka is a blend of messaging, stream processing, ETL and modern database designs built around a distributed log + Streaming platform Pub/Sub Messaging ETL Connectors Spark Flink Beam IBM MQ TIBCO RabbitMQ Mulesoft Talend Informatica Kafka is much more than messaging + Exactly Once + Designed for the Cloud + Inter DC replication + Schema evolution Stream Processing Confluent Confidential
  • 78. What’s different about Kafka? Topics are also Queues Consumers can share one copy of the data • Independent consumers share the same log • Inter-dependent consumers share the same log • No need for Topic/Queue bridging or multiple copies of the data Message processing is greatly simplified - There is no “head’ of the queue - Writes are sequential, distributed, and parallel
  • 79. What’s different about Kafka? Messages are not deleted when consumed Messages in the commit logs are persistent and immutable Slow Consumers are (very) decoupled from Fast Producers Batch and real-time are unified Message Replay, Replication, and Auditing are built-in (for free) All production messaging deployment need some form of these Message Retention is not a waste of disk space You need to size for offline/disconnected consumers anyway Distributed State can always be recreated from a common commit log Makes distributed HA apps much easier to build
  • 80. What’s different about Kafka? Topic Partitions and Keyed Messages - Topics/Queues are not the smallest unit of scalability - Topics partitions are distributed across brokers for parallel in-order consumption - This is very different from a cluster of traditional message brokers - [graphic of topic partitions with parallel Producers, Brokers, and Consumers] - Sometime you can just use more keys instead of more topics - Eg. don’t create a new topic for every user, or IoT device, create unique keys - This is proven to scale to many millions of connected users, cars and IoT devices - [graphic to show Keyed messages get distributed across topic partitions]
  • 81. From an event stream / transaction log we can derive all of the following database centric features: - Replication - Secondary Indexing - Caching - Materialized Views What’s different about Kafka? Duality of streams and databases Duality of a message streams and database tables is a key design point =
  • 82. (Good) Microservices avoid shared mutable state Shared, mutable state
  • 83. Old World: REST Based Microservices Interconnect GUI UI Service Order s Returns Pay Fulfilment Stock Confluent Confidential Each Microservice has to maintain their own stateful nature by using their own databases 1. Difficult to Enforce Same REST API standards across many languages and micro-services. 2. Rest APIs Inherently Slow: Limited to Thousands calls/sec. 3. Inter Service Dependencies are Messy. 4. Each Service Needs to Maintain State. 5. Difficult to enforce consistent security standards. 6. Logging is distributed between services. 7. Version compatibility between services is difficult.
  • 84. Streaming Microservices with Kafka GUI UI Service Orders Service Returns Service Fulfilment Service Payment Service Stock Service Confluent Confidential Database Sources Now Centralized on the Kafka Bus for all microservices 1. Service inter-communication standard enforce by Kafka Schema Registry. 2. Millions of messages per second on cheap hardware. 3. No Inter-Service Dependency: just depend on Kafka. 4. Each service can be stateless: Kafka maintains state. 5. Security can be enforced by ACLs from Kafka. 6. Logs can be aggregated into Kafka. 7. Version compatibility can be enforced by Scheme Registry. 8. Kafka is inherently HA, horizontal scalable: still no central point of failure.
  • 85. What’s different about Kafka? Ecosystem and Adoption The Kafka ecosystem is flourishing and developer adoption continues to grow • Confluent Platform additions (REST Proxy, Schema Registry, KSQL etc.) • Third Party Connectors ( Confluent Hub) • Open Source contributions from individuals, corporations, vendors, consulting organizations • Inside and outside of Big Data/Stream Processing
  • 86. Adoption of Event Streaming 60%Fortune 100 Companies Using Apache Kafka
  • 87. Event Streaming at the Heart of the Enterprise