Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Background of Development of Next-Generation Ma...

LINE DEVDAY 2021
November 11, 2021
410

Background of Development of Next-Generation Marketing Data Utilization Infrastructure "Business Manager"

LINE DEVDAY 2021

November 11, 2021
Tweet

More Decks by LINE DEVDAY 2021

Transcript

  1. Agenda - What is Business Manager? - About the system

    - Findings from development - Summary
  2. LINE Ads Account LINE Official Account Business Manager Delivery LINE

    Ads LINE Official Account Other Service Account1 Other Service Account2 Business Manager etc
  3. LINE Ads Account LINE Official Account Business Manager Other Service

    Account1 Other Service Account2 Business Manager
  4. LINE Ads Account LINE Official Account Business Manager Other Service

    Account1 Other Service Account2 Business Manager Delivery LINE Ads LINE Official Account etc
  5. LINE Ads Account LINE Official Account Business Manager Delivery Other

    Service Account1 Other Service Account2 Analytics Business Manager LINE Ads LINE Official Account etc
  6. Cross targeting (As Is) LINE Ads LINE Official Account Brand

    A Company LINE Ads LINE Official Account Brand B
  7. Business Manager (To Be) LINE Ads LINE Official Account Brand

    A Company LINE Ads LINE Official Account Brand B
  8. Manage an organization Organization A Data Data Data Data Data

    Data Data Data LINE Official Account 2 LINE Ads 2 LINE Official Account 1 LINE Ads 1
  9. Manage an organization Organization A LINE Tag 1 Data LINE

    Tag 2 Data LINE Tag 3 Data LINE Tag 4 Data LINE Official Account 2 LINE Ads 2 LINE Official Account 1 LINE Ads 1
  10. Manage an organization Organization A LINE Tag 1 Audience 1

    LINE Tag 2 Audience 2 LINE Tag 3 Audience 3 LINE Tag 4 Audience 4 LINE Official Account 2 LINE Ads 2 LINE Official Account 1 LINE Ads 1
  11. Verification LINE Ads 2 LINE Ads 1 LINE Official Account

    2 LINE Official Account 1 Organization A Audience 1 Audience 2 Audience 3 Audience 4
  12. Verification LINE Ads 2 LINE Ads 1 LINE Official Account

    2 LINE Official Account 1 Organization A Audience 1 Audience 2 Audience 3 Audience 4 WFSJGJFE WFSJGJFE WFSJGJFE WFSJGJFE
  13. Create LINE tags and audience data LINE Official Account 1

    LINE Ads 1 LINE Ads 2 Organization A LINE Tag 1 Audience 1 LINE Tag 2 Audience 2 LINE Tag 3 Audience 3
  14. Create LINE tags and custom audiences LINE Official Account 1

    LINE Ads 1 LINE Ads 2 Organization A LINE Tag 1 Audience 1 LINE Tag 2 Audience 2 LINE Tag 3 Audience 3 Audience 4 LINE Tag 4
  15. LINE DMP “LINE DMP: Connect the All B2B Products with

    Over 100M Users” https://linedevday.linecorp.com/2020/ja/sessions/6695 LINE Services LINE DMP LINE Platform Client Data LINE Ads LINE Official Account ・・・
  16. Cross Targeting (As Is) API LINE DMP API Other services

    LINE Ads LINE Official Account etc Audience data
  17. Business Manager (To Be) Management System Business Manager API API

    Kafka Batch Permissions Consumer LINE DMP API Other services LINE Ads LINE Official Account etc Audience data
  18. System collaboration patterns Management System Business Manager API API Kafka

    Batch Permissions Consumer LINE DMP API Other services LINE Ads LINE Official Account etc Audience data
  19. REST API Management System Business Manager API API Kafka Batch

    Permissions Consumer LINE DMP API Other services LINE Ads LINE Official Account etc Audience data
  20. Messaging Management System Business Manager API API Kafka Consumer LINE

    DMP API Other services LINE Ads LINE Official Account etc Audience data Batch Permissions
  21. Messaging Management System Business Manager API API Kafka Consumer LINE

    DMP API Other services LINE Ads LINE Official Account etc Audience data Batch Permissions
  22. Messaging Management System Business Manager API API Kafka Consumer LINE

    DMP API Other services LINE Ads LINE Official Account etc Audience data Batch Permissions
  23. System overview Management System Business Manager API API Kafka Batch

    Permissions Consumer LINE DMP API Other services LINE Ads LINE Official Account etc Audience data
  24. Synchronize transactions between DB and Kafka “Twemoji” ©Twitter, Inc and

    other contributors (Licensed under CC-BY 4.0) https://twemoji.twitter.com/
  25. Sync Business Manager changes to LINE DMP - Synchronize transactions

    between DB and Kafka - Users can change data permissions on Business Manager - Changes need to sync to LINE DMP at least once and in the correct order
  26. 1. API Callback Pros - Simple - Proven method in

    other teams Cons - API performance issue
  27. 1. API Callback Pros - Simple - Proven method in

    other teams Cons - API performance issue
  28. 2. CDC(Change Data Capture) Pros - Real-time - Proven method

    in other teams Cons - Consumer design is difficult - Needed to build a dedicated infrastructure - API Callbacks are also needed
  29. 2. CDC(Change Data Capture) Pros - Real-time - Proven method

    in other teams Cons - Consumer design is difficult - Needed to build a dedicated infrastructure - API Callbacks are also needed
  30. 3. Polling publisher Pros - Simple - Ensure correct order

    Cons - Not in real-time - It does not scale if many changes occurred
  31. 3. Polling publisher Pros - Simple - Ensure correct order

    Cons - Not in real-time - It does not scale if many changes occurred
  32. Final architecture Permissions MySQL Event queue Batch 1 (polling) Kafka

    transaction update Permissions (resolved) MySQL Batch 2 (polling)
  33. REST APIs Management System Business Manager API API Kafka Batch

    Permissions Consumer LINE DMP API Other services LINE Ads LINE Official Account etc Audience data
  34. Internal API Business Manager Internal API API LINE DMP backend

    me API LINE Ads API LINE Official Account LINE DMP LINE Ads LINE Official Account
  35. Cost of maintaining API docs “Twemoji” ©Twitter, Inc and other

    contributors (Licensed under CC-BY 4.0) https://twemoji.twitter.com/
  36. Cost of maintaining API docs - Every time change code,

    modify API docs as well - Complicated specifications, tight schedule - API docs in internal-wiki
  37. springdoc-openapi - Swagger UI, Kotlin support - Can customize programmatically

    - Helps automating the generation of API docs using Spring Boot projects https://github.com/springdoc/springdoc-openapi
  38. API doc review - Can review on GitHub Pull-Request -

    API docs are auto-generated by Jenkins - ReDoc (https://github.com/Redocly/redoc)
  39. Frontend integration > npx openapi-typescript api-spec.yml --version 3 --output generated.ts

    - Convert OpenAPI v3 YAML to TypeScript interface - openapi-typescript (https://github.com/drwpow/openapi- typescript)
  40. Many IDs - More account types will be added -

    More data types will be added - There are more than 20 types of IDs in Business Manager
  41. ID as a Value Object “Twemoji” ©Twitter, Inc and other

    contributors (Licensed under CC-BY 4.0) https://twemoji.twitter.com/
  42. Value Object DDD(Domain Drive Design) - Just a data class

    as a simple wrapper for primitive values - Value Equality, Immutability
  43. Mob programming - Pair programming with all team members -

    Screen sharing via Zoom - Working on the same git branch - Infrastructure task is also done by “mob”
  44. Always on Zoom - Always stay connected to Zoom -

    Turn off the mic and camera - Talk to team members at any time
  45. Daily huddle - A 15-30 minutes daily team meeting -

    Start at 11:00 a.m. - Discuss system design - Share even the most trivial things - Manage tasks
  46. Stream all changes to Slack - Trello, GitHub pull-request, CI

    Results, etc. - Releases are done by bot (ChatOps)
  47. Summary - There are many challenges in the development of

    Business Manager - We are hiring - Business Manager is a next-generation data utilization platform