Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Всякое случается:
cобытия управляют продуктами
28 мая 2016
Днепропетровск
OWOX BI services
Information provided for decisions
API Polling VS Event listening
DO action;
WHILE (action IS NOT complete)
{
sleep(time);
check action status;
}
process res...
{
"version": "1.2",
"body": {
"id": 1,
"email": "m.ostapenko@owox.com",
"title": "Maxim Ostapenko",
"language": "RU"
},
"o...
Event PROS & CONS
1. Less resources
2. No race condition
3. Reactive application
1. Circular reference
2. Inflexible messa...
1. Data processing
2. Asynchronous workflow
3. Change management
4. Data streaming / logging
Common applications
1. Security
Identity & Access Management Service
1. Scalability
GCP inside
1. 7 days replicated storage
when service is bu...
Pub Sub
Distributed event ordering
IF ( Transactional data OR State updates OR Logs )
Logical clock
ELSE
order independent design
Alternative middleware
in memory storagemanaged
External integration: payments
Stripe
OWOX BI
Cardcharge
Unsuccessful
Cardcharge
Unsuccessful
Cardcharge
Unsuccessful
Card...
External integration: statistics updated
Facebook
OWOX BI
Gettotalcosts+
detailedcostdata
100$+costdata
Gettotalcosts
100$...
External integration: email marketing stats
SparkPost
OWOX BI
5messagessent
IDs:1,2,3,4,5
ID:1—opened
200OK
ID:2—opened
50...
Project management events
● OWOX BI Billing
Subscribers
● OWOX BI Attribution
● OWOX BI Pipelines
● OWOX BI Marketing
● OW...
Access management events
● OWOX BI Pipeline
Subscribers
● OWOX BI Pipeline
● OWOX BI Billing
● OWOX BI Attribution
● OWOX ...
Event-driven marketing
Event-driven marketing
SELECT
user_email,
language,
created
FROM (
SELECT
user_email,
language,
created,
order,
MAX(order)...
Event-driven marketing
TO: {{user_email}}
FROM: bi@owox.com
Subject:
{{if language = “ru”}} Добро пожаловать!
{{else}} Wel...
Questions time
Maxim Ostapenko
m.ostapenko@owox.com
Upcoming SlideShare
Loading in …5
×

Всякое случается: события управляют продуктами

90 views

Published on

Максим Остапенко, Product manager OWOX

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Всякое случается: события управляют продуктами

  1. 1. Всякое случается: cобытия управляют продуктами 28 мая 2016 Днепропетровск
  2. 2. OWOX BI services
  3. 3. Information provided for decisions
  4. 4. API Polling VS Event listening DO action; WHILE (action IS NOT complete) { sleep(time); check action status; } process results; DO action; Event handler invoked: process results;
  5. 5. { "version": "1.2", "body": { "id": 1, "email": "m.ostapenko@owox.com", "title": "Maxim Ostapenko", "language": "RU" }, "order": 1464244102, "author": { "name": "owox-bi:core" } } Message JSON
  6. 6. Event PROS & CONS 1. Less resources 2. No race condition 3. Reactive application 1. Circular reference 2. Inflexible message format 3. +1 service
  7. 7. 1. Data processing 2. Asynchronous workflow 3. Change management 4. Data streaming / logging Common applications
  8. 8. 1. Security Identity & Access Management Service 1. Scalability GCP inside 1. 7 days replicated storage when service is busy or no connection 1. Routing Topics + Subscriptions 1. No message ordering 2. At least once message delivery Google Cloud PubSub
  9. 9. Pub Sub
  10. 10. Distributed event ordering IF ( Transactional data OR State updates OR Logs ) Logical clock ELSE order independent design
  11. 11. Alternative middleware in memory storagemanaged
  12. 12. External integration: payments Stripe OWOX BI Cardcharge Unsuccessful Cardcharge Unsuccessful Cardcharge Unsuccessful Cardcharge Unsuccessful Cardcharge Successful
  13. 13. External integration: statistics updated Facebook OWOX BI Gettotalcosts+ detailedcostdata 100$+costdata Gettotalcosts 100$ Gettotalcosts 100$ Gettotalcosts+ detailedcostdata 80$+costdata Gettotalcosts 80$
  14. 14. External integration: email marketing stats SparkPost OWOX BI 5messagessent IDs:1,2,3,4,5 ID:1—opened 200OK ID:2—opened 503Unavailable ID:2—opened 200OK ID:1—clicked 200OK
  15. 15. Project management events ● OWOX BI Billing Subscribers ● OWOX BI Attribution ● OWOX BI Pipelines ● OWOX BI Marketing ● OWOX BI Smart Data ● OWOX BI Billing ● OWOX BI Billing Publishers
  16. 16. Access management events ● OWOX BI Pipeline Subscribers ● OWOX BI Pipeline ● OWOX BI Billing ● OWOX BI Attribution ● OWOX BI Pipelines ● OWOX BI Marketing ● OWOX BI Smart Data ● ... Publishers ● OWOX BI Billing ● OWOX BI Attribution ● OWOX BI Pipelines ● OWOX BI Marketing ● OWOX BI Smart Data ● ...
  17. 17. Event-driven marketing
  18. 18. Event-driven marketing SELECT user_email, language, created FROM ( SELECT user_email, language, created, order, MAX(order) OVER(PARTITION BY user_email) max_order FROM [OWOX:PubSubEventLogs.usersSignupEvents]) WHERE order=max_order
  19. 19. Event-driven marketing TO: {{user_email}} FROM: bi@owox.com Subject: {{if language = “ru”}} Добро пожаловать! {{else}} Welcome! {{end}} Body: {{if language = “ru”}} Вот полезная информация для начинающих ... {{else}} Here are some tips to get you started ... {{end}}
  20. 20. Questions time Maxim Ostapenko m.ostapenko@owox.com

×