SlideShare a Scribd company logo
1 of 90
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
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
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
Embrace a Distributed World

More Related Content

What's hot

Quantum - The Network Mechanics
Quantum - The Network MechanicsQuantum - The Network Mechanics
Quantum - The Network MechanicsKiran Murari
 
Renaissance in VM Network Connectivity
Renaissance in VM Network ConnectivityRenaissance in VM Network Connectivity
Renaissance in VM Network ConnectivityIT Brand Pulse
 
Jim Webber Martin Fowler Does My Bus Look Big In This
Jim Webber Martin Fowler Does My Bus Look Big In ThisJim Webber Martin Fowler Does My Bus Look Big In This
Jim Webber Martin Fowler Does My Bus Look Big In Thisdeimos
 
Virtualization defined-wp
Virtualization defined-wpVirtualization defined-wp
Virtualization defined-wpSuneel Dogra
 
Jim Webber R E S Tful Services
Jim  Webber    R E S Tful  ServicesJim  Webber    R E S Tful  Services
Jim Webber R E S Tful ServicesSOA Symposium
 
Jimwebber soa
Jimwebber soaJimwebber soa
Jimwebber soad0nn9n
 
Cloud computing
Cloud computingCloud computing
Cloud computingMed Zaibi
 
Adaptive SLA-aware Cloud Federations
Adaptive SLA-awareCloud FederationsAdaptive SLA-awareCloud Federations
Adaptive SLA-aware Cloud Federationskeratt
 
Scalability and Reliability in the Cloud
Scalability and Reliability in the CloudScalability and Reliability in the Cloud
Scalability and Reliability in the Cloudgmthomps
 
NIC - Hybrid Cloud with NVGRE - Level 400
NIC - Hybrid Cloud with NVGRE - Level 400NIC - Hybrid Cloud with NVGRE - Level 400
NIC - Hybrid Cloud with NVGRE - Level 400Kristian Nese
 
DDHS 2009 Microsoft Heads In The Cloud Feet On The Ground Peter de Haas...
DDHS 2009   Microsoft   Heads In The Cloud Feet On The Ground   Peter de Haas...DDHS 2009   Microsoft   Heads In The Cloud Feet On The Ground   Peter de Haas...
DDHS 2009 Microsoft Heads In The Cloud Feet On The Ground Peter de Haas...Peter de Haas
 
Network Virtualization with quantum
Network Virtualization with quantum Network Virtualization with quantum
Network Virtualization with quantum openstackindia
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformKasun Indrasiri
 

What's hot (18)

Quantum - The Network Mechanics
Quantum - The Network MechanicsQuantum - The Network Mechanics
Quantum - The Network Mechanics
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
OSCON 2011
OSCON 2011OSCON 2011
OSCON 2011
 
Renaissance in VM Network Connectivity
Renaissance in VM Network ConnectivityRenaissance in VM Network Connectivity
Renaissance in VM Network Connectivity
 
Jim Webber Martin Fowler Does My Bus Look Big In This
Jim Webber Martin Fowler Does My Bus Look Big In ThisJim Webber Martin Fowler Does My Bus Look Big In This
Jim Webber Martin Fowler Does My Bus Look Big In This
 
Virtualization defined-wp
Virtualization defined-wpVirtualization defined-wp
Virtualization defined-wp
 
Jim Webber R E S Tful Services
Jim  Webber    R E S Tful  ServicesJim  Webber    R E S Tful  Services
Jim Webber R E S Tful Services
 
Web services
Web servicesWeb services
Web services
 
Jimwebber soa
Jimwebber soaJimwebber soa
Jimwebber soa
 
MOINC Server
MOINC ServerMOINC Server
MOINC Server
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Adaptive SLA-aware Cloud Federations
Adaptive SLA-awareCloud FederationsAdaptive SLA-awareCloud Federations
Adaptive SLA-aware Cloud Federations
 
Scalability and Reliability in the Cloud
Scalability and Reliability in the CloudScalability and Reliability in the Cloud
Scalability and Reliability in the Cloud
 
KempHLB
KempHLBKempHLB
KempHLB
 
NIC - Hybrid Cloud with NVGRE - Level 400
NIC - Hybrid Cloud with NVGRE - Level 400NIC - Hybrid Cloud with NVGRE - Level 400
NIC - Hybrid Cloud with NVGRE - Level 400
 
DDHS 2009 Microsoft Heads In The Cloud Feet On The Ground Peter de Haas...
DDHS 2009   Microsoft   Heads In The Cloud Feet On The Ground   Peter de Haas...DDHS 2009   Microsoft   Heads In The Cloud Feet On The Ground   Peter de Haas...
DDHS 2009 Microsoft Heads In The Cloud Feet On The Ground Peter de Haas...
 
Network Virtualization with quantum
Network Virtualization with quantum Network Virtualization with quantum
Network Virtualization with quantum
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration Platform
 

Similar to Microservices in a Streaming World

101 mistakes FINN.no has made with Kafka (Baksida meetup)
101 mistakes FINN.no has made with Kafka (Baksida meetup)101 mistakes FINN.no has made with Kafka (Baksida meetup)
101 mistakes FINN.no has made with Kafka (Baksida meetup)Henning Spjelkavik
 
Message Driven and Event Sourcing
Message Driven and Event SourcingMessage Driven and Event Sourcing
Message Driven and Event SourcingPaolo Castagna
 
Distributed Reactive Architecture: Extending SOA with Events
Distributed Reactive Architecture: Extending SOA with EventsDistributed Reactive Architecture: Extending SOA with Events
Distributed Reactive Architecture: Extending SOA with EventsSteve Pember
 
AI&BigData Lab 2016. Сарапин Виктор: Размер имеет значение: анализ по требова...
AI&BigData Lab 2016. Сарапин Виктор: Размер имеет значение: анализ по требова...AI&BigData Lab 2016. Сарапин Виктор: Размер имеет значение: анализ по требова...
AI&BigData Lab 2016. Сарапин Виктор: Размер имеет значение: анализ по требова...GeeksLab Odessa
 
Microservices architecture enterprise architecture
Microservices architecture enterprise architectureMicroservices architecture enterprise architecture
Microservices architecture enterprise architectureAdhiguna Mahendra
 
building microservices
building microservicesbuilding microservices
building microservicesCisco DevNet
 
Service Discovery and Registration in a Microservices Architecture
Service Discovery and Registration in a Microservices ArchitectureService Discovery and Registration in a Microservices Architecture
Service Discovery and Registration in a Microservices ArchitecturePLUMgrid
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureFaren faren
 
Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Guido Schmutz
 
Mciro Services & Zookeeper
Mciro Services & ZookeeperMciro Services & Zookeeper
Mciro Services & ZookeeperDeepak Singhal
 
Magento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor ModelMagento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor ModelIgor Miniailo
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern LaunguageInho Kang
 
Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Rick Hightower
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Kim Clark
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsAraf Karsh Hamid
 
Intro to spring cloud &microservices by Eugene Hanikblum
Intro to spring cloud &microservices by Eugene HanikblumIntro to spring cloud &microservices by Eugene Hanikblum
Intro to spring cloud &microservices by Eugene HanikblumEugene Hanikblum
 
Message Broker implementation in Kubernetes
Message Broker implementation in KubernetesMessage Broker implementation in Kubernetes
Message Broker implementation in KubernetesSuman Chakraborty
 

Similar to Microservices in a Streaming World (20)

101 mistakes FINN.no has made with Kafka (Baksida meetup)
101 mistakes FINN.no has made with Kafka (Baksida meetup)101 mistakes FINN.no has made with Kafka (Baksida meetup)
101 mistakes FINN.no has made with Kafka (Baksida meetup)
 
Message Driven and Event Sourcing
Message Driven and Event SourcingMessage Driven and Event Sourcing
Message Driven and Event Sourcing
 
Distributed Reactive Architecture: Extending SOA with Events
Distributed Reactive Architecture: Extending SOA with EventsDistributed Reactive Architecture: Extending SOA with Events
Distributed Reactive Architecture: Extending SOA with Events
 
AI&BigData Lab 2016. Сарапин Виктор: Размер имеет значение: анализ по требова...
AI&BigData Lab 2016. Сарапин Виктор: Размер имеет значение: анализ по требова...AI&BigData Lab 2016. Сарапин Виктор: Размер имеет значение: анализ по требова...
AI&BigData Lab 2016. Сарапин Виктор: Размер имеет значение: анализ по требова...
 
Microservices architecture enterprise architecture
Microservices architecture enterprise architectureMicroservices architecture enterprise architecture
Microservices architecture enterprise architecture
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
 
building microservices
building microservicesbuilding microservices
building microservices
 
Service Discovery and Registration in a Microservices Architecture
Service Discovery and Registration in a Microservices ArchitectureService Discovery and Registration in a Microservices Architecture
Service Discovery and Registration in a Microservices Architecture
 
Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !
 
Mciro Services & Zookeeper
Mciro Services & ZookeeperMciro Services & Zookeeper
Mciro Services & Zookeeper
 
Magento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor ModelMagento Developer Talk. Microservice Architecture and Actor Model
Magento Developer Talk. Microservice Architecture and Actor Model
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern Launguage
 
Architecting for Scale
Architecting for ScaleArchitecting for Scale
Architecting for Scale
 
Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)
 
Microservices vs monolithics betabeers
Microservices vs monolithics   betabeersMicroservices vs monolithics   betabeers
Microservices vs monolithics betabeers
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration Patterns
 
Intro to spring cloud &microservices by Eugene Hanikblum
Intro to spring cloud &microservices by Eugene HanikblumIntro to spring cloud &microservices by Eugene Hanikblum
Intro to spring cloud &microservices by Eugene Hanikblum
 
Message Broker implementation in Kubernetes
Message Broker implementation in KubernetesMessage Broker implementation in Kubernetes
Message Broker implementation in Kubernetes
 

Recently uploaded

Thiophen Mechanism khhjjjjjjjhhhhhhhhhhh
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhhThiophen Mechanism khhjjjjjjjhhhhhhhhhhh
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhhYasamin16
 
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改yuu sss
 
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理e4aez8ss
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFAAndrei Kaleshka
 
Conf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming PipelinesConf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming PipelinesTimothy Spann
 
Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Colleen Farrelly
 
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort servicejennyeacort
 
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...Boston Institute of Analytics
 
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...Amil Baba Dawood bangali
 
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDINTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDRafezzaman
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Cathrine Wilhelmsen
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectBoston Institute of Analytics
 
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default  Presentation : Data Analysis Project PPTPredictive Analysis for Loan Default  Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPTBoston Institute of Analytics
 
Real-Time AI Streaming - AI Max Princeton
Real-Time AI  Streaming - AI Max PrincetonReal-Time AI  Streaming - AI Max Princeton
Real-Time AI Streaming - AI Max PrincetonTimothy Spann
 
Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Seán Kennedy
 
Vision, Mission, Goals and Objectives ppt..pptx
Vision, Mission, Goals and Objectives ppt..pptxVision, Mission, Goals and Objectives ppt..pptx
Vision, Mission, Goals and Objectives ppt..pptxellehsormae
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 217djon017
 
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...limedy534
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024thyngster
 
Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Seán Kennedy
 

Recently uploaded (20)

Thiophen Mechanism khhjjjjjjjhhhhhhhhhhh
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhhThiophen Mechanism khhjjjjjjjhhhhhhhhhhh
Thiophen Mechanism khhjjjjjjjhhhhhhhhhhh
 
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
 
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
科罗拉多大学波尔得分校毕业证学位证成绩单-可办理
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFA
 
Conf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming PipelinesConf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
Conf42-LLM_Adding Generative AI to Real-Time Streaming Pipelines
 
Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024
 
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
 
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
NLP Data Science Project Presentation:Predicting Heart Disease with NLP Data ...
 
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
 
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTDINTERNSHIP ON PURBASHA COMPOSITE TEX LTD
INTERNSHIP ON PURBASHA COMPOSITE TEX LTD
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis Project
 
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default  Presentation : Data Analysis Project PPTPredictive Analysis for Loan Default  Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
 
Real-Time AI Streaming - AI Max Princeton
Real-Time AI  Streaming - AI Max PrincetonReal-Time AI  Streaming - AI Max Princeton
Real-Time AI Streaming - AI Max Princeton
 
Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...
 
Vision, Mission, Goals and Objectives ppt..pptx
Vision, Mission, Goals and Objectives ppt..pptxVision, Mission, Goals and Objectives ppt..pptx
Vision, Mission, Goals and Objectives ppt..pptx
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2
 
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
Effects of Smartphone Addiction on the Academic Performances of Grades 9 to 1...
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
 
Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...
 

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…
  • 6.
  • 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
  • 67.
  • 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
  • 88.
  • 89.