SlideShare una empresa de Scribd logo
1 de 73
A SOCIAL NETWORK ON STREAMS
DRIVETRIBE ENGINEERING
InfoQ.com: News & Community Site
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
drivetribe
• Over 1,000,000 software developers, architects and CTOs read the site world-
wide every month
• 250,000 senior developers subscribe to our weekly newsletter
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• 2 dedicated podcast channels: The InfoQ Podcast, with a focus on
Architecture and The Engineering Culture Podcast, with a focus on building
• 96 deep dives on innovative topics packed as downloadable emags and
minibooks
• Over 40 new content items per week
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon London
www.qconlondon.com
DRIVETRIBE
DRIVETRIBE
▸ The world biggest motoring
community.
▸ A social platform for petrolheads.
▸ By Clarkson, Hammond and May.
2
DRIVETRIBE
DRIVETRIBE
▸ A content destination at the core.
▸ Users consume feeds of content:
images, videos, long-form articles.
▸ Content is organised in
homogenous categories called
“tribes”.
▸ Different users have different
interests and the tribe model allows
to mix and match at will.
3
DRIVETRIBE
DRIVETRIBE ARTICLE
▸ Single article by James May.
▸ Contains a plethora of content and
engagement information.
▸ What do we need to compute an
aggregate like this?
4
DRIVETRIBE
DRIVETRIBE ARTICLE
▸ getUser(id: Id[User])
5
DRIVETRIBE
DRIVETRIBE ARTICLE
▸ getUser(id: Id[User])
▸ getTribe(id: Id[Tribe])
6
DRIVETRIBE
DRIVETRIBE ARTICLE
▸ getUser(id: Id[User])
▸ getTribe(id: Id[Tribe])
▸ getArticle(id: Id[Article])
7
DRIVETRIBE
DRIVETRIBE ARTICLE
▸ getUser(id: Id[User])
▸ getTribe(id: Id[Tribe])
▸ getArticle(id: Id[Article])
▸ countViews(id: Id[Article])
8
DRIVETRIBE
DRIVETRIBE ARTICLE
▸ getUser(id: Id[User])
▸ getTribe(id: Id[Tribe])
▸ getArticle(id: Id[Article])
▸ countViews(id: Id[Article])
▸ countComments(id: Id[Article])
9
DRIVETRIBE
DRIVETRIBE ARTICLE
▸ getUser(id: Id[User])
▸ getTribe(id: Id[Tribe])
▸ getArticle(id: Id[Article])
▸ countViews(id: Id[Article])
▸ countComments(id: Id[Article])
▸ countBumps(id: Id[Article])
10
DRIVETRIBE
DRIVETRIBE FEED OF ARTICLES
▸ rankArticles(forUserId).flatMap { a
=> … }
▸ getUser(id: Id[User])
▸ getTribe(id: Id[Tribe])
▸ getArticle(id: Id[Article])
▸ countViews(id: Id[Article])
▸ …
11
DRIVETRIBE
QUINTESSENTIAL PREREQUISITES
▸ Scalable. Jeremy Clarkson has 7.2M Twitter followers. Cannot really hack
it and worry about it later.
▸ Performant. Low latency is key and mobile networks add quite a bit of it.
▸ Flexible. Almost nobody gets it right the first time around. The ability to
iterate is paramount.
▸ Maintainable. Spaghetti code works like interest on debt.
12
DRIVETRIBE
THREE TIER APPROACH
▸ Clients interact with a fleet of stateless servers
(aka “API” servers or “Backend”) via HTTP
(which is stateless).
▸ Global shared mutable state (aka the Database).
▸ Starting simple: Store data in a DB.
▸ Starting simple: Compute the aggregated views
on the fly.
13
DRIVETRIBE
DRIVETRIBE ARTICLE
▸ getUser(id: Id[User])
▸ getTribe(id: Id[Tribe])
▸ getArticle(id: Id[Article])
▸ countComments(id: Id[Article])
▸ countBumps(id: Id[Article])
▸ countViews(id: Id[Article])
14
DRIVETRIBE
READ TIME AGGREGATION
▸ (6 queries per Item) x (Y items per
page)
▸ Cost of ranking and personalisation.
▸ Quite some work at read time.
▸ Slow. Not really Performant.
15
DRIVETRIBE
WRITE TIME AGGREGATION
▸ Compute the aggregation at write
time.
▸ Then a single query can fetch all the
views at once. That scales.
16
DRIVETRIBE
WRITE TIME AGGREGATION
▸ Compute the aggregation at write
time.
▸ Then a single query can fetch all the
views at once. That scales.
17
DRIVETRIBE
WRITE TIME AGGREGATION
▸ Compute the aggregation at write
time.
▸ Then a single query can fetch all the
views at once. That scales.
18
DRIVETRIBE
WRITE TIME AGGREGATION
▸ Compute the aggregation at write
time.
▸ Then a single query can fetch all the
views at once. That scales.
19
DRIVETRIBE
WRITE TIME AGGREGATION - EVOLUTION
▸ sendNotification
20
DRIVETRIBE
WRITE TIME AGGREGATION - EVOLUTION
▸ sendNotification
▸ updateUserStats
21
DRIVETRIBE
WRITE TIME AGGREGATION - EVOLUTION
▸ sendNotification
▸ updateUserStats.
▸ What if we have a cache?
▸ Or a different database for search?
22
DRIVETRIBE
WRITE TIME AGGREGATION
▸ A simple user action is triggering a
potentially endless sequence of side
effects.
▸ Most of which need network IO.
▸ Many of which can fail.
23
DRIVETRIBE
ATOMICITY
▸ What happens if one of them fails?
What happens if the server fails in
the middle?
▸ We may have transaction support in
the DB, but what about external
systems?
▸ Inconsistent.
24
Atomicity?
DRIVETRIBE
CONCURRENCY
▸ Concurrent mutations on a global
shared state entail race conditions.
▸ State mutations are destructive and
can not be (easily) undone.
▸ A bug can corrupt the data
permanently.
25
Concurrency
DRIVETRIBE
ITALIAN PASTA
▸ Model evolution becomes difficult.
Reads and writes are tightly
coupled.
▸ Migrations are scary.
▸ This is neither Extensible nor
Maintainable.
26
Extensibility
DRIVETRIBE
DIFFERENT APPROACH
▸ Let’s take a step back and try to decouple things.
▸ Clients send events to the API: “John liked Jeremy’s post”, “Maria updated
her profile”
▸ Events are immutable. They capture a user action at some point in time.
▸ Every application state instance can be modelled as a projection of those
events.
27
DRIVETRIBE
▸ Persisting those yields an append-
only log of events.
▸ An event reducer can then produce
application state instances.
▸ Even retroactively. The log is
immutable.
▸ This is event sourcing.
28
DRIVETRIBE
▸ The write-time model (command
model) and the read time model
(query model) can be separated.
▸ Decoupling the two models opens the
door to more efficient, custom
implementations.
▸ This is known as Command Query
Responsibility Segregation aka
CQRS.
29
DRIVETRIBE
EVENT SOURCING APPROACH
30
Like!!
DRIVETRIBE
EVENT SOURCING APPROACH
31
Store Like Event
Like!!
DRIVETRIBE
EVENT SOURCING APPROACH
32
Store Like Event ArticleStatsReducer
Like!!
DRIVETRIBE
EVENT SOURCING APPROACH
33
Store Like Event ArticleStatsReducer
NotificationReducer
Like!!
DRIVETRIBE
EVENT SOURCING APPROACH
34
Store Like Event
ArticleStatsReducer
NotificationReducer
UserStatsReducer
Like!!
DRIVETRIBE
EVENT SOURCING APPROACH
35
Store Like Event
ArticleStatsReducer
NotificationReducer
UserStatsReducer
And so on..
Like!!
DRIVETRIBE
EVENT SOURCING APPROACH
36
Store Like Event
ArticleStatsReducer
NotificationReducer
UserStatsReducer
Sky Is the limit
Get Articles
Like!!
DRIVETRIBE
EVENT SOURCING APPROACH
37
Store Like Event
ArticleStatsReducer
NotificationReducer
UserStatsReducer
Sky Is the limit
Get Articles
Like!!
Extensibility?
Maintainability?
DRIVETRIBE
EVENT SOURCING APPROACH
38
Store Like Event
ArticleStatsReducer
NotificationReducer
UserStatsReducer
Sky Is the limit
Get Articles
Like!!
Performance?
DRIVETRIBE
EVENT SOURCING APPROACH
39
Store Like Event
ArticleStatsReducer
NotificationReducer
UserStatsReducer
Sky Is the limit
Get Articles
Like!!
Atomicity?
DRIVETRIBE
EVENT SOURCING APPROACH
40
Store Like Event
ArticleStatsReducer
NotificationReducer
UserStatsReducer
Sky Is the limit
Get Articles
Like!!
Concurrency?
IMPLEMENTATION?
WE NEED A LOG
DRIVETRIBE
APACHE KAFKA
▸ Distributed, fault-tolerant, durable and fast append-only log.
▸ Can scale the thousands of nodes, producers and consumers.
▸ Each business event type can be stored in its own topic.
43
WE NEED A STREAM
PROCESSOR
DRIVETRIBE
APACHE FLINK
▸ Scalable, performant, mature.
▸ Elegant high level APIs in Scala.
▸ Powerful low level APIs for advanced tuning.
▸ Multiple battle-tested integrations.
▸ Very nice and active community.
45
WE NEED DATASTORE
DRIVETRIBE
ELASTICSEARCH
▸ Horizontally scalable document store.
▸ Rich and expressive query language.
▸ Dispensable. Can be replaced.
47
WE NEED AN API
DRIVETRIBE
AKKA HTTP
▸ Asynchronous web application framework.
▸ Written in Scala.
▸ Very expressive routing DSL.
▸ Any modern web application framework would do.
49
DRIVETRIBE
EVENT SOURCING IN PRACTICE
50
Store Raw events Consume raw events
Produce aggregated
views
Retrieve aggregated
views
DRIVETRIBE
EVENT SOURCING IN PRACTICE
51
Store Raw events Consume raw events
Produce aggregated
views
Retrieve aggregated
views
Stateful
DRIVETRIBE
EVENT SOURCING IN PRACTICE
52
Store Raw events Consume raw events
Produce aggregated
views
Retrieve aggregated
views
DRIVETRIBE
BLUE/GREEN APPROACH
53
MIRROR
A REAL WORLD EXAMPLE
DRIVETRIBE
COUNTING BUMPS
▸ Thousands of people like the fact that
Jeremy Clarkson is a really tall guy
▸ Users can “bump” a post if they like it
55
DRIVETRIBE
EVENT SOURCING IN PRACTICE
56
Store Raw events Consume raw events
Produce aggregated
views
Retrieve aggregated
views
DRIVETRIBE
COUNTING BUMPS
57
DRIVETRIBE
COUNTING BUMPS - FIRST ATTEMPT
58
DRIVETRIBE
COUNTING BUMPS - FIRST ATTEMPT
59
DRIVETRIBE
COUNTING BUMPS - FIRST ATTEMPT
60
▸ Use Flink with at least once
semantics
DRIVETRIBE
COUNTING BUMPS - FIRST ATTEMPT
61
▸ Use Flink with at least once
semantics
▸ Our system is eventually consistent
DRIVETRIBE
WHAT DO WE KNOW ABOUT OUT COUNTER?
62
▸ we know we’re doing some kind of combine operation over States
DRIVETRIBE 63
▸ we know we’re doing some kind of combine operation over States
▸ we want our counter to be idempotent: a |+| a === a
WHAT DO WE KNOW ABOUT OUT COUNTER?
DRIVETRIBE 64
▸ we know we’re doing some kind of combine operation over States
▸ we want our counter to be idempotent: a |+| a === a
▸ we also want our counter to be associative:
a |+| (b |+| c) === (a |+| b) |+| c
WHAT DO WE KNOW ABOUT OUT COUNTER?
DRIVETRIBE
BAND ALGEBRA
65
▸ Closed
▸ Idempotent
▸ Associative
DRIVETRIBE
COUNTING BUMPS - SECOND ATTEMPT
66
DRIVETRIBE
COUNTING BUMPS - SECOND ATTEMPT
67
▸ if all components of a case
class have a band then so does
the case class
▸ would normally bring in Set
implementation from a library
▸ normally that library would have
a law testing module
DRIVETRIBE
COUNTING BUMPS - PUTTING IT TOGETHER
68
DRIVETRIBE
OTHER ALGEBRAS WE USE
69
▸ Adding events: Semigroup/Monoid
▸ Duplicate events: Band
▸ Out of order and duplicate events: Semilattice
FIN
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
drivetribe

Más contenido relacionado

La actualidad más candente

Crowbar2 update
Crowbar2 updateCrowbar2 update
Crowbar2 update
osonoi
 
Tupperware: Containerized Deployment at FB
Tupperware: Containerized Deployment at FBTupperware: Containerized Deployment at FB
Tupperware: Containerized Deployment at FB
Docker, Inc.
 

La actualidad más candente (11)

Atlanta Jenkins Area Meetup October 22nd 2015
Atlanta Jenkins Area Meetup October 22nd 2015Atlanta Jenkins Area Meetup October 22nd 2015
Atlanta Jenkins Area Meetup October 22nd 2015
 
Living with microservices at Pipedrive
Living with microservices at PipedriveLiving with microservices at Pipedrive
Living with microservices at Pipedrive
 
Immutable Awesomeness by John Willis and Josh Corman
Immutable Awesomeness by John Willis and Josh CormanImmutable Awesomeness by John Willis and Josh Corman
Immutable Awesomeness by John Willis and Josh Corman
 
How kubernetes works community, velocity, and contribution - osls 2017 (1)
How kubernetes works  community, velocity, and contribution - osls 2017 (1)How kubernetes works  community, velocity, and contribution - osls 2017 (1)
How kubernetes works community, velocity, and contribution - osls 2017 (1)
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
 
Docker + jenkins in the enterprise (3)
Docker + jenkins in the enterprise (3)Docker + jenkins in the enterprise (3)
Docker + jenkins in the enterprise (3)
 
Crowbar2 update
Crowbar2 updateCrowbar2 update
Crowbar2 update
 
Tupperware: Containerized Deployment at FB
Tupperware: Containerized Deployment at FBTupperware: Containerized Deployment at FB
Tupperware: Containerized Deployment at FB
 
FEI Bratislava 2017 - Docker
FEI Bratislava 2017 - DockerFEI Bratislava 2017 - Docker
FEI Bratislava 2017 - Docker
 
DockerCon EU 2015: Placing a container on a train at 200mph
DockerCon EU 2015: Placing a container on a train at 200mphDockerCon EU 2015: Placing a container on a train at 200mph
DockerCon EU 2015: Placing a container on a train at 200mph
 
Cloud hybridation leveraging on Docker 1.12
Cloud hybridation leveraging on Docker 1.12Cloud hybridation leveraging on Docker 1.12
Cloud hybridation leveraging on Docker 1.12
 

Similar a Drivetribe: A Social Network on Streams

Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Henning Jacobs
 

Similar a Drivetribe: A Social Network on Streams (20)

Flink Forward San Francisco 2018: Aris Koliopoulos & Alex Garella - "Panta R...
Flink Forward San Francisco 2018:  Aris Koliopoulos & Alex Garella - "Panta R...Flink Forward San Francisco 2018:  Aris Koliopoulos & Alex Garella - "Panta R...
Flink Forward San Francisco 2018: Aris Koliopoulos & Alex Garella - "Panta R...
 
You only have to change on thing to do the DevOps, everything
You only have to change on thing to do the DevOps, everythingYou only have to change on thing to do the DevOps, everything
You only have to change on thing to do the DevOps, everything
 
IBM Bluemix OpenWhisk: Cloud Foundry Summit 2016, Frankfurt, Germany: The Fut...
IBM Bluemix OpenWhisk: Cloud Foundry Summit 2016, Frankfurt, Germany: The Fut...IBM Bluemix OpenWhisk: Cloud Foundry Summit 2016, Frankfurt, Germany: The Fut...
IBM Bluemix OpenWhisk: Cloud Foundry Summit 2016, Frankfurt, Germany: The Fut...
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - DevOpsCo...
 
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
 
Vasiliy Fomichev - Harness the Power of Containers - SUGCON
Vasiliy Fomichev - Harness the Power of Containers - SUGCONVasiliy Fomichev - Harness the Power of Containers - SUGCON
Vasiliy Fomichev - Harness the Power of Containers - SUGCON
 
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
 
WordCamp US 2016 - Ryan Markel: Code Review
WordCamp US 2016 - Ryan Markel: Code ReviewWordCamp US 2016 - Ryan Markel: Code Review
WordCamp US 2016 - Ryan Markel: Code Review
 
Ryan Markel - WordCamp StL 2016 - Code Review
Ryan Markel - WordCamp StL 2016 - Code ReviewRyan Markel - WordCamp StL 2016 - Code Review
Ryan Markel - WordCamp StL 2016 - Code Review
 
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
Developer Experience at Zalando - Handelsblatt Strategisches IT-Management 2019
 
Wikilytics
WikilyticsWikilytics
Wikilytics
 
Automated Deployments with Ansible
Automated Deployments with AnsibleAutomated Deployments with Ansible
Automated Deployments with Ansible
 
The Unicorn Project and the Five Ideals.pdf
The Unicorn Project and the Five Ideals.pdfThe Unicorn Project and the Five Ideals.pdf
The Unicorn Project and the Five Ideals.pdf
 
SUGCON 2015: Docker Containers and Sitecore
SUGCON 2015: Docker Containers and Sitecore SUGCON 2015: Docker Containers and Sitecore
SUGCON 2015: Docker Containers and Sitecore
 
Criteo Infrastructure (Platform) Meetup
Criteo Infrastructure (Platform) MeetupCriteo Infrastructure (Platform) Meetup
Criteo Infrastructure (Platform) Meetup
 
Fast Delivery DevOps Israel
Fast Delivery DevOps IsraelFast Delivery DevOps Israel
Fast Delivery DevOps Israel
 
JavaScript All The Things
JavaScript All The ThingsJavaScript All The Things
JavaScript All The Things
 
Tackle 2: New capabilities for modernizing applications to leverage Kubernetes
Tackle 2: New capabilities for modernizing applications to leverage KubernetesTackle 2: New capabilities for modernizing applications to leverage Kubernetes
Tackle 2: New capabilities for modernizing applications to leverage Kubernetes
 
Icebreaker with DevOps
Icebreaker with DevOpsIcebreaker with DevOps
Icebreaker with DevOps
 

Más de C4Media

Más de C4Media (20)

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Drivetribe: A Social Network on Streams