SlideShare a Scribd company logo
1 of 53
Download to read offline
Sprayer
low latency, reliable
multichannel messaging
for Telefonica Digital
who are we?
Pablo Enfedaque
@pablitoev56

Javier Arias
@javier_arilos
Javier is a Software
Architect and developer,
worked in different
sectors such as M2M,
Telcos, Finance, Airports.

Pablo is a SW R&D engineer
with a strong background
in high performance
computing, big data and
distributed systems.
some context
Telefónica is the 4th largest telco in the
world
2 years ago Telefonica Digital was
established to spread our business to the
digital world
former Telefonica R&D / PDI was merged into
this new company
overview
we are developing an internal messaging service
to be used by our own products
we have polyglot persistence using different
NoSQL technologies
in this talk we will review Sprayer’s
architecture and, for each technology, how it is
used
why sprayer?
a common push messaging service. why?
➔ each project with messaging needs was
implementing its own server its own way
➔ 5 push messaging systems in the company
➔ none of them supporting a wide variety of
transports
➔ independent deployment and operations
the problem
cross technology push:
iOS

Android

Websockets

eMail

SMS

HTTP

FirefoxOS

point to point and pubsub:
1 to 1

PaaS, multitenant

1 to N

1 to Group
inspiration
➔ Google’s Thialfi: http://research.google.
com/pubs/pub37474.html

➔ Twitter Timeline:

http://www.infoq.

com/presentations/Twitter-Timeline-Scalability

➔ Pusher: http://www.pusher.com
➔ Pubnub: http://www.pubnub.com
➔ Amazon SNS: http://aws.amazon.com/sns/
the proposal

SPRAYER!

Sprayer is a low latency, reliable
messaging system supporting delivery
of messages to a single receiver, to
a predefined group of receivers or
to a specific list of receivers over
different channels (WebSockets, SMS,
Email, HTTP and iOS, Android or
Firefox OS native push…)
the proposal

SPRAYER!

our motto:
you care about business,
we deliver your messages
server
side API
?
server
side API
server side API challenges
➔ common interface for all channels
➔ reliable, consistent, idempotent
➔ route messages efficiently
➔ simple and user oriented
◆ manage subscriptions
◆ send messages: to list or group (topic)
◆ get delivery feedback

➔ standards based (HTTP + Json)
architecture
sprayer backend

GCM

APPLICATION
<BACKEND>

ACCEPTER
REST API

MESSAGES
DISPATCHING

APNs

sms
gateway
email
gateway

Operational
storage
messages
dispatching
?
messages
dispatching
message dispatching challenges
➔ scaling horizontally
➔ reliability
➔ different channels:
◆
◆
◆
◆
◆
◆

HTTP (outbound)
Websockets (inbound)
iOS push (APNs)
Android push (GCM)
SMS
eMail
architecture
sprayer backend
WEBSOCKETS

ANDROID

APPLICATION
<BACKEND>

ACCEPTER
REST API

MESSAGES
ROUTING

GCM

IOS

APNs

HTTP

SMS

EMAIL

Operational
storage

sms
gateway
email
gateway
outbound-stateless dispatchers
simple dispatchers: HTTP, iOS, Android...
➔ Take message, get msg subscribers,
dispatch to receiver, report feedback
➔ Completely stateless

ACCEPTER
REST API

ANDROID

Operational
storage

GCM
connection aware dispatchers
clients (websockets, HTTP long poll …)
➔ messages are stored until clients connect
➔ client inits a persistent connection
➔ potentially, millions of clients
WEBSOCKETS

ACCEPTER
REST API

DELIVE
RER

ROUTER

inboxes

Operational
storage
message
routing
?
message
routing
message routing challenges
routing (two-steps):
➔ API routes messages to N dispatchers
➔ Each dispatcher routes message to M
receivers (subscribers of a group)

both steps must be decoupled

The number of receivers could be thousands
architecture
sprayer backend
WEBSOCKETS

WS
android

ANDROID

GCM

IOS

APNs

iOS

APPLICATION
<BACKEND>

ACCEPTER
REST API

HTTP
sms

HTTP

email
SMS

Subscriptions
storage

Operational
storage

FEEDBACK

sms
gateway

EMAIL

email
gateway
async message
delivery feedback
?
async message
delivery feedback
async delivery feedback challenges
make msg feedback available through API
to clients
feedback must not compromise message
delivery or API
The number of updates could be millions
feedback: msg delivery, connections, push
architecture
sprayer backend
WEBSOCKETS

WS
android

ANDROID

GCM

IOS

APNs

iOS

APPLICATION
<BACKEND>

ACCEPTER
REST API

HTTP
sms

HTTP

email
SMS

Subscriptions
storage

Operational
storage

STATUS
FEEDER

sms
gateway

EMAIL

email
gateway

feedback
technology stack
subscriptions storage
sprayer backend
WEBSOCKETS

WS
android

ANDROID

GCM

IOS

APNs

iOS

APPLICATION
<BACKEND>

ACCEPTER
REST API

HTTP
sms

HTTP

email
SMS

?

Subscriptions
storage

Operational
storage

STATUS
FEEDER

sms
gateway

EMAIL

email
gateway

feedback
subscriptions storage
sprayer backend
WEBSOCKETS

WS
android

ANDROID

GCM

IOS

APNs

iOS

APPLICATION
<BACKEND>

ACCEPTER
REST API

HTTP
sms

HTTP

email
SMS

EMAIL

Operational
storage

STATUS
FEEDER

sms
gateway
email
gateway

feedback
dispatcher receiver inboxes

WEBSOCKETS

ACCEPTER
REST API

ROUTER

?
inboxes

DELIVE
RER
dispatcher receiver inboxes

WEBSOCKETS

ACCEPTER
REST API

DELIVE
RER

ROUTER

inboxes
redis
Redis is an open source, advanced keyvalue store. It is often referred to as a
data structure server (...) - (redis.io)
why redis?
- amazingly fast
- easy to use
- usage patterns: shared cache, queues,
pubsub, distributed lock, counting things
redis use cases
use cases in Sprayer:
➔ group subscribers x channel
➔ channels x group
➔ websockets channel queues (potentially
million receivers)
limitations for our use cases:
➔ memory bound
➔ queries and pagination
➔ high throughput queues
redis concerns
➔ what happens when dataset does not fit in
memory? two strategies
◆ partition datasets to different redis clusters
◆ sharding: based in tenant would be easy

➔ FT and HA
◆ easy way: master-slave with virtual IPs, switch
slave’s IP when master’s out. home made daemon
◆ sentinel based, some tests done, needs to be
supported by client library
◆ redis cluster being implemented; limited features
operational storage
sprayer backend
WEBSOCKETS

WS
android

ANDROID

GCM

IOS

APNs

iOS

APPLICATION
<BACKEND>

ACCEPTER
REST API

HTTP
sms

HTTP

email
SMS

EMAIL

?

Operational
storage

STATUS
FEEDER

sms
gateway
email
gateway

feedback
operational storage
sprayer backend
WEBSOCKETS

WS
android

ANDROID

GCM

IOS

APNs

iOS

APPLICATION
<BACKEND>

ACCEPTER
REST API

HTTP
sms

HTTP

email
SMS

EMAIL

STATUS
FEEDER

sms
gateway
email
gateway

feedback
mongodb
mongoDB (from "humongous") is a
document database (...) features: full
index support, replication & HA, autosharding... (mongodb.org)
why mongoDB?
➔ scaling & HA
➔ great performance
➔ dynamic schemas
➔ versatile
mongodb use cases
use cases in Sprayer:
➔ operational DB, administrative data
➔ message delivery feedback updates
(potentially millions of records)

limitations for our use cases:
➔ operations with sets of subscribers
➔ high throughput queues
mongodb concerns

no concerns about mongodb for our
usecase.
maybe, in the long term, can it handle
the huge amount of feedback write
operations without affecting the API?
async queues
sprayer backend
WEBSOCKETS

WS
android

ANDROID

GCM

?

IOS

APNs

sms

HTTP

iOS

APPLICATION
<BACKEND>

ACCEPTER
REST API

HTTP

email
SMS

EMAIL

STATUS
FEEDER

sms
gateway
email
gateway

?

feedback
async queues
sprayer backend
WEBSOCKETS

ANDROID

IOS
APPLICATION
<BACKEND>

GCM

APNs

ACCEPTER
REST API
HTTP

SMS

EMAIL

STATUS
FEEDER

sms
gateway
email
gateway
rabbitmq
robust messaging for applications,
easy to use
(www.rabbitmq.com)
why rabbitmq?
➔ very fast
➔ reliable
➔ builtin clustering
rabbitmq use cases
use cases in Sprayer:
➔ jobs for dispatchers (API => dispatchers)
➔ feedback status updates: message
delivery, connections, device status
(dispatchers => API)

limitations for our use cases:
➔ not scaling well to millions of queues
(websocket receiver inboxes)
rabbitmq concerns
no concerns!
rabbitmq is best suited to very high
throughput messaging
full tech stack
sprayer backend
WEBSOCKETS

ANDROID

IOS
APPLICATION
<BACKEND>

GCM

APNs

ACCEPTER
REST API
HTTP

SMS

EMAIL

STATUS
FEEDER

sms
gateway
email
gateway
sum up
design threats
design threats
related data in different places:
redis, rabbitmq and mongo
we are not transactional, our
components remain sane in case of a DB
failure, idempotent operations help
here
light implementation of Unit of Work
architectural pattern
architecture guidelines
architecture guidelines
➔ asynchronous processing / queues everywhere
➔ dedicated dispatchers for each transport
➔ common API interface
➔ used the best tool for each responsibility:
polyglot persistence
➔ processes as stateless as possible
YES, SPRAYER DOES!

thanks for coming

More Related Content

What's hot

Getting Started with AWS Device Farm
Getting Started with AWS Device FarmGetting Started with AWS Device Farm
Getting Started with AWS Device FarmAmazon Web Services
 
Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API GatewayMark Bate
 
Android Cloud to Device Messaging with the Google App Engine
Android Cloud to Device Messaging with the Google App EngineAndroid Cloud to Device Messaging with the Google App Engine
Android Cloud to Device Messaging with the Google App EngineLars Vogel
 
Workshop: Building Containerized Swift Applications on Amazon ECS
Workshop: Building Containerized Swift Applications on Amazon ECSWorkshop: Building Containerized Swift Applications on Amazon ECS
Workshop: Building Containerized Swift Applications on Amazon ECSAmazon Web Services
 
Publisher / subscriber integrations using Episerver
Publisher / subscriber integrations using EpiserverPublisher / subscriber integrations using Episerver
Publisher / subscriber integrations using EpiserverMark Everard
 
AWS July Webinar Series: Overview: Build and Manage your APIs with Amazon API...
AWS July Webinar Series: Overview: Build and Manage your APIs with Amazon API...AWS July Webinar Series: Overview: Build and Manage your APIs with Amazon API...
AWS July Webinar Series: Overview: Build and Manage your APIs with Amazon API...Amazon Web Services
 
Serverless Image Rekognition with Squirrels
Serverless Image Rekognition with SquirrelsServerless Image Rekognition with Squirrels
Serverless Image Rekognition with SquirrelsMarco Tesch
 
Smart Dispatch by Sacha Nacar
Smart Dispatch by Sacha NacarSmart Dispatch by Sacha Nacar
Smart Dispatch by Sacha NacarAlan Quayle
 
Announcing Amazon AppStream 2.0 - January 2017 Online Tech Talks
Announcing Amazon AppStream 2.0 - January 2017 Online Tech TalksAnnouncing Amazon AppStream 2.0 - January 2017 Online Tech Talks
Announcing Amazon AppStream 2.0 - January 2017 Online Tech TalksAmazon Web Services
 
AWS Lambda Tutorial | Introduction to AWS Lambda | AWS Tutorial | AWS Trainin...
AWS Lambda Tutorial | Introduction to AWS Lambda | AWS Tutorial | AWS Trainin...AWS Lambda Tutorial | Introduction to AWS Lambda | AWS Tutorial | AWS Trainin...
AWS Lambda Tutorial | Introduction to AWS Lambda | AWS Tutorial | AWS Trainin...Edureka!
 
Application Server-less Web Applications - Serverless Toronto Meetup
Application Server-less Web Applications - Serverless Toronto Meetup Application Server-less Web Applications - Serverless Toronto Meetup
Application Server-less Web Applications - Serverless Toronto Meetup Daniel Zivkovic
 
Essential API Facade Patterns: Synchronous to Asynchronous Conversion (Episod...
Essential API Facade Patterns: Synchronous to Asynchronous Conversion (Episod...Essential API Facade Patterns: Synchronous to Asynchronous Conversion (Episod...
Essential API Facade Patterns: Synchronous to Asynchronous Conversion (Episod...Apigee | Google Cloud
 
컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...
컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...
컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...Amazon Web Services Korea
 
T3CON11 Building a service oriented application with FLOW3
T3CON11 Building a service oriented application with FLOW3T3CON11 Building a service oriented application with FLOW3
T3CON11 Building a service oriented application with FLOW3Christopher Hlubek
 

What's hot (20)

Getting Started with AWS Device Farm
Getting Started with AWS Device FarmGetting Started with AWS Device Farm
Getting Started with AWS Device Farm
 
雲端媒體串流
雲端媒體串流雲端媒體串流
雲端媒體串流
 
Next level of Appium
Next level of AppiumNext level of Appium
Next level of Appium
 
API Façade Pattern
API Façade PatternAPI Façade Pattern
API Façade Pattern
 
Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API Gateway
 
Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API Gateway
 
Salesforce APIs
Salesforce APIsSalesforce APIs
Salesforce APIs
 
Android Cloud to Device Messaging with the Google App Engine
Android Cloud to Device Messaging with the Google App EngineAndroid Cloud to Device Messaging with the Google App Engine
Android Cloud to Device Messaging with the Google App Engine
 
Workshop: Building Containerized Swift Applications on Amazon ECS
Workshop: Building Containerized Swift Applications on Amazon ECSWorkshop: Building Containerized Swift Applications on Amazon ECS
Workshop: Building Containerized Swift Applications on Amazon ECS
 
Publisher / subscriber integrations using Episerver
Publisher / subscriber integrations using EpiserverPublisher / subscriber integrations using Episerver
Publisher / subscriber integrations using Episerver
 
AWS July Webinar Series: Overview: Build and Manage your APIs with Amazon API...
AWS July Webinar Series: Overview: Build and Manage your APIs with Amazon API...AWS July Webinar Series: Overview: Build and Manage your APIs with Amazon API...
AWS July Webinar Series: Overview: Build and Manage your APIs with Amazon API...
 
Serverless Image Rekognition with Squirrels
Serverless Image Rekognition with SquirrelsServerless Image Rekognition with Squirrels
Serverless Image Rekognition with Squirrels
 
Smart Dispatch by Sacha Nacar
Smart Dispatch by Sacha NacarSmart Dispatch by Sacha Nacar
Smart Dispatch by Sacha Nacar
 
Announcing Amazon AppStream 2.0 - January 2017 Online Tech Talks
Announcing Amazon AppStream 2.0 - January 2017 Online Tech TalksAnnouncing Amazon AppStream 2.0 - January 2017 Online Tech Talks
Announcing Amazon AppStream 2.0 - January 2017 Online Tech Talks
 
AWS Lambda Tutorial | Introduction to AWS Lambda | AWS Tutorial | AWS Trainin...
AWS Lambda Tutorial | Introduction to AWS Lambda | AWS Tutorial | AWS Trainin...AWS Lambda Tutorial | Introduction to AWS Lambda | AWS Tutorial | AWS Trainin...
AWS Lambda Tutorial | Introduction to AWS Lambda | AWS Tutorial | AWS Trainin...
 
Application Server-less Web Applications - Serverless Toronto Meetup
Application Server-less Web Applications - Serverless Toronto Meetup Application Server-less Web Applications - Serverless Toronto Meetup
Application Server-less Web Applications - Serverless Toronto Meetup
 
What Keeps Amazon Web Services Cloud On Top?
What Keeps Amazon Web Services Cloud On Top?What Keeps Amazon Web Services Cloud On Top?
What Keeps Amazon Web Services Cloud On Top?
 
Essential API Facade Patterns: Synchronous to Asynchronous Conversion (Episod...
Essential API Facade Patterns: Synchronous to Asynchronous Conversion (Episod...Essential API Facade Patterns: Synchronous to Asynchronous Conversion (Episod...
Essential API Facade Patterns: Synchronous to Asynchronous Conversion (Episod...
 
컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...
컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...
컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...
 
T3CON11 Building a service oriented application with FLOW3
T3CON11 Building a service oriented application with FLOW3T3CON11 Building a service oriented application with FLOW3
T3CON11 Building a service oriented application with FLOW3
 

Similar to Sprayer: low latency, reliable multichannel messaging

Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019Haufe-Lexware GmbH & Co KG
 
SignalR powered real-time x-plat mobile apps!
SignalR powered real-time x-plat mobile apps!SignalR powered real-time x-plat mobile apps!
SignalR powered real-time x-plat mobile apps!Sam Basu
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureJohn Archer
 
SignalR Powered X-Platform Real-Time Apps!
SignalR Powered X-Platform Real-Time Apps!SignalR Powered X-Platform Real-Time Apps!
SignalR Powered X-Platform Real-Time Apps!Sam Basu
 
Praxistaugliche notes strategien 4 cloud
Praxistaugliche notes strategien 4 cloudPraxistaugliche notes strategien 4 cloud
Praxistaugliche notes strategien 4 cloudRoman Weber
 
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature ReleaseIgnite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature ReleaseTaylor Brown
 
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.jsAsynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.jsChristian Heindel
 
Schnellere Digitalisierung mit einer cloudbasierten Datenstrategie
Schnellere Digitalisierung mit einer cloudbasierten DatenstrategieSchnellere Digitalisierung mit einer cloudbasierten Datenstrategie
Schnellere Digitalisierung mit einer cloudbasierten DatenstrategieMongoDB
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...Ludovic Piot
 
Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience NA 2020
Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience NA 2020Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience NA 2020
Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience NA 2020InfluxData
 
Amit Dixit Resume 1
Amit Dixit Resume 1Amit Dixit Resume 1
Amit Dixit Resume 1amit dixit
 
SignalR Intro + WPDev integration @ Codetock
SignalR Intro + WPDev integration @ CodetockSignalR Intro + WPDev integration @ Codetock
SignalR Intro + WPDev integration @ CodetockSam Basu
 
GigaSpaces CCF 4 Xap
GigaSpaces CCF 4 XapGigaSpaces CCF 4 Xap
GigaSpaces CCF 4 XapShay Hassidim
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)QAware GmbH
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKSPhil Reay
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKSPhil Reay
 
Customize Your Enterprise Mobile Salesforce.com Integrations with Red Hat
Customize Your Enterprise Mobile Salesforce.com Integrations with Red HatCustomize Your Enterprise Mobile Salesforce.com Integrations with Red Hat
Customize Your Enterprise Mobile Salesforce.com Integrations with Red HatMaggie Hu
 

Similar to Sprayer: low latency, reliable multichannel messaging (20)

Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
 
SignalR powered real-time x-plat mobile apps!
SignalR powered real-time x-plat mobile apps!SignalR powered real-time x-plat mobile apps!
SignalR powered real-time x-plat mobile apps!
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft Azure
 
SignalR Powered X-Platform Real-Time Apps!
SignalR Powered X-Platform Real-Time Apps!SignalR Powered X-Platform Real-Time Apps!
SignalR Powered X-Platform Real-Time Apps!
 
Praxistaugliche notes strategien 4 cloud
Praxistaugliche notes strategien 4 cloudPraxistaugliche notes strategien 4 cloud
Praxistaugliche notes strategien 4 cloud
 
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature ReleaseIgnite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
 
Resume ram-krishna
Resume ram-krishnaResume ram-krishna
Resume ram-krishna
 
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.jsAsynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
Asynchrone Echtzeitanwendungen für SharePoint mit SignalR und knockout.js
 
Schnellere Digitalisierung mit einer cloudbasierten Datenstrategie
Schnellere Digitalisierung mit einer cloudbasierten DatenstrategieSchnellere Digitalisierung mit einer cloudbasierten Datenstrategie
Schnellere Digitalisierung mit einer cloudbasierten Datenstrategie
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
 
Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience NA 2020
Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience NA 2020Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience NA 2020
Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience NA 2020
 
Pushpendra
PushpendraPushpendra
Pushpendra
 
shiv_chandra_pathak
shiv_chandra_pathakshiv_chandra_pathak
shiv_chandra_pathak
 
Amit Dixit Resume 1
Amit Dixit Resume 1Amit Dixit Resume 1
Amit Dixit Resume 1
 
SignalR Intro + WPDev integration @ Codetock
SignalR Intro + WPDev integration @ CodetockSignalR Intro + WPDev integration @ Codetock
SignalR Intro + WPDev integration @ Codetock
 
GigaSpaces CCF 4 Xap
GigaSpaces CCF 4 XapGigaSpaces CCF 4 Xap
GigaSpaces CCF 4 Xap
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
 
Customize Your Enterprise Mobile Salesforce.com Integrations with Red Hat
Customize Your Enterprise Mobile Salesforce.com Integrations with Red HatCustomize Your Enterprise Mobile Salesforce.com Integrations with Red Hat
Customize Your Enterprise Mobile Salesforce.com Integrations with Red Hat
 

More from Pablo Enfedaque

EuroPython 2015 - Decorators demystified
EuroPython 2015 - Decorators demystifiedEuroPython 2015 - Decorators demystified
EuroPython 2015 - Decorators demystifiedPablo Enfedaque
 
Execution model and other must-know's
Execution model and other must-know'sExecution model and other must-know's
Execution model and other must-know'sPablo Enfedaque
 
The (unknown) collections module
The (unknown) collections moduleThe (unknown) collections module
The (unknown) collections modulePablo Enfedaque
 
Python: the coolest is yet to come
Python: the coolest is yet to comePython: the coolest is yet to come
Python: the coolest is yet to comePablo Enfedaque
 

More from Pablo Enfedaque (8)

EuroPython 2015 - Decorators demystified
EuroPython 2015 - Decorators demystifiedEuroPython 2015 - Decorators demystified
EuroPython 2015 - Decorators demystified
 
Why I miss MongoDB
Why I miss MongoDBWhy I miss MongoDB
Why I miss MongoDB
 
Python 2 vs. Python 3
Python 2 vs. Python 3Python 2 vs. Python 3
Python 2 vs. Python 3
 
Execution model and other must-know's
Execution model and other must-know'sExecution model and other must-know's
Execution model and other must-know's
 
The (unknown) collections module
The (unknown) collections moduleThe (unknown) collections module
The (unknown) collections module
 
Decorators demystified
Decorators demystifiedDecorators demystified
Decorators demystified
 
Python: the coolest is yet to come
Python: the coolest is yet to comePython: the coolest is yet to come
Python: the coolest is yet to come
 
From Oracle to MongoDB
From Oracle to MongoDBFrom Oracle to MongoDB
From Oracle to MongoDB
 

Recently uploaded

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
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 DevelopmentsTrustArc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
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...apidays
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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 SolutionsEnterprise Knowledge
 
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 RobisonAnna Loughnan Colquhoun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Recently uploaded (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Sprayer: low latency, reliable multichannel messaging