SlideShare a Scribd company logo
Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. Proprietary & Confidential 無断転載・無断複製の禁止
Convert the notification feature to the notification microservice
Selft-Introduction
Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. Proprietary & Confidential 無断転載・無断複製の禁止
daisuke0131 



After graduated from university, Joined Fujitsu Laboratories. 

I developed firmware, AI, Web services, ios/android apps. 



After the career, Joined startups to experience something new. 



Joined ANDPAD in 2016. Developed mobile applications. 

山下 大輔 Daisuke Yamashita



ANDPAD Chief Development Officer
Self-Introduction
What is ANDPAD?
Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. Proprietary & Confidential 無断転載・無断複製の禁止
What is ANDPAD?
Confidential
Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止
・Project Management System For Construction Industry
・Project Management, Chat, Blueprint, Inspection, Schedule Adjustment
swift/kotlin swift/kotlin swift ReactNative→Flutter Flutter
Many features in ANDPAD
Confidential
Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止
Project Management
Chat Communication
Inspection
Blueprint
The others
ANDPAD
For Administrator, Notifications, Settings and so on.
Built by Ruby on Rails
How migrate notifications
Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. Proprietary & Confidential 無断転載・無断複製の禁止
Notification feature
Confidential
Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止
For what?
・inform actions to users
What features does it have?
・push notifications
・mail deliveries
・desktop notifications
・manage big notification data
Problems
Confidential
Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止
Problems
notification data is growing rapidly
like exponential function.
100,000,000 records/year
DynamoDB is a good choice for
large data(>1,000,000,000).
ref)https://speakerdeck.com/paypay/paypaydefalsedynamodbhuo-yong-shi-li-nituite
RDS is not suitable.
Architeucture
Confidential
Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止
Start version Intermediate version Migrated version
notification data increase rapidly.
How migrate notifications
Confidential
Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止
There are 3 steps
1. Divide the notification logic from the monolithic application(Rails Application).
2. Data transfer to the new Database system(DynamoDB).
3. Develop a switching system to release the new notification service gradually.
Divide the notification logic
Confidential
Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止
Divide logics as a service class.
ANDPAD has 200-300 methods.
Data transfer to the new DB system
Confidential
Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止
Evaluate Differences
Develop the W-Write system(each service
can write each database) to transfer
notification data.(not work push/mail
notification and so on.)
Also develop features to evaluate the
differences.
Develop switching system for canary release
Confidential
Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止
down to zero.
If the differences are closing to zero,
we can release new notification service
gradually.
We develop switching system between old and
new notifications for canary release.
All step done.
Confidential
Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止
Delete old data table for notification.
New notification service is released!!
Conclusion
Confidential
Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止
・explained how to convert notification service to the
microservice in ANDPAD.
・we are now 2nd step.
If you join ANDPAD, you can experience monolith to
microservice.

More Related Content

PDF
Static analysis for go lang
PDF
ライブラリを作って5年たったので振り返る
PDF
歯磨き.go Go言語の静的解析とコード生成勉強会
PDF
potatotips_77.pdf
PPTX
Cloud Identity Connectors - Presentation by Ranjan Jain @ Cisco Live 2013
PDF
Cad worx plant user guide
PDF
Sign in with Apple
PDF
Sand river capabilities corporate
Static analysis for go lang
ライブラリを作って5年たったので振り返る
歯磨き.go Go言語の静的解析とコード生成勉強会
potatotips_77.pdf
Cloud Identity Connectors - Presentation by Ranjan Jain @ Cisco Live 2013
Cad worx plant user guide
Sign in with Apple
Sand river capabilities corporate

Similar to Convert the notification feature to the notification microservice (6)

PDF
State management for ios development
PDF
Cloud FoundryではじめるPaaSアプリケーション 開発入門講座
PDF
Spring Data for JJUG for Cross Conference Fall
PPTX
Agile in Action - Act 2: Development
PDF
Azure Design Review Checklist Availabilityの巻
PDF
PMC1
State management for ios development
Cloud FoundryではじめるPaaSアプリケーション 開発入門講座
Spring Data for JJUG for Cross Conference Fall
Agile in Action - Act 2: Development
Azure Design Review Checklist Availabilityの巻
PMC1
Ad

More from Daisuke Yamashita (13)

PDF
歯磨き.go #2
PDF
Tensorflow
PDF
Introduction of ios-chart in oss-labs#3
PDF
About SnapKit - Open source lab -
PDF
View Monitoring Tips
PDF
Swift open source library - ViewMonitor -
PDF
Let's Start Swift Open Source Activity.
PDF
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
PDF
Unity Introduction from 2D shooting game.
PDF
OpenCV on mobile
PDF
Introduction of Swift from Machine Learning
PDF
Introduction of Swift from Game Development
PDF
How to measure UIView position on Native App
歯磨き.go #2
Tensorflow
Introduction of ios-chart in oss-labs#3
About SnapKit - Open source lab -
View Monitoring Tips
Swift open source library - ViewMonitor -
Let's Start Swift Open Source Activity.
バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
Unity Introduction from 2D shooting game.
OpenCV on mobile
Introduction of Swift from Machine Learning
Introduction of Swift from Game Development
How to measure UIView position on Native App
Ad

Recently uploaded (20)

PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
Tartificialntelligence_presentation.pptx
PPTX
TLE Review Electricity (Electricity).pptx
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
August Patch Tuesday
PDF
Getting Started with Data Integration: FME Form 101
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Web App vs Mobile App What Should You Build First.pdf
PPTX
1. Introduction to Computer Programming.pptx
PDF
Encapsulation theory and applications.pdf
PDF
project resource management chapter-09.pdf
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Hybrid model detection and classification of lung cancer
PDF
A comparative study of natural language inference in Swahili using monolingua...
MIND Revenue Release Quarter 2 2025 Press Release
Zenith AI: Advanced Artificial Intelligence
Tartificialntelligence_presentation.pptx
TLE Review Electricity (Electricity).pptx
A comparative analysis of optical character recognition models for extracting...
Enhancing emotion recognition model for a student engagement use case through...
August Patch Tuesday
Getting Started with Data Integration: FME Form 101
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
SOPHOS-XG Firewall Administrator PPT.pptx
Programs and apps: productivity, graphics, security and other tools
Web App vs Mobile App What Should You Build First.pdf
1. Introduction to Computer Programming.pptx
Encapsulation theory and applications.pdf
project resource management chapter-09.pdf
Heart disease approach using modified random forest and particle swarm optimi...
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Approach and Philosophy of On baking technology
Hybrid model detection and classification of lung cancer
A comparative study of natural language inference in Swahili using monolingua...

Convert the notification feature to the notification microservice

  • 1. Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. Proprietary & Confidential 無断転載・無断複製の禁止 Convert the notification feature to the notification microservice
  • 2. Selft-Introduction Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. Proprietary & Confidential 無断転載・無断複製の禁止
  • 3. daisuke0131 
 
 After graduated from university, Joined Fujitsu Laboratories. 
 I developed firmware, AI, Web services, ios/android apps. 
 
 After the career, Joined startups to experience something new. 
 
 Joined ANDPAD in 2016. Developed mobile applications. 
 山下 大輔 Daisuke Yamashita
 
 ANDPAD Chief Development Officer Self-Introduction
  • 4. What is ANDPAD? Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. Proprietary & Confidential 無断転載・無断複製の禁止
  • 5. What is ANDPAD? Confidential Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止 ・Project Management System For Construction Industry ・Project Management, Chat, Blueprint, Inspection, Schedule Adjustment swift/kotlin swift/kotlin swift ReactNative→Flutter Flutter
  • 6. Many features in ANDPAD Confidential Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止 Project Management Chat Communication Inspection Blueprint The others ANDPAD For Administrator, Notifications, Settings and so on. Built by Ruby on Rails
  • 7. How migrate notifications Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. Proprietary & Confidential 無断転載・無断複製の禁止
  • 8. Notification feature Confidential Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止 For what? ・inform actions to users What features does it have? ・push notifications ・mail deliveries ・desktop notifications ・manage big notification data
  • 9. Problems Confidential Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止 Problems notification data is growing rapidly like exponential function. 100,000,000 records/year DynamoDB is a good choice for large data(>1,000,000,000). ref)https://speakerdeck.com/paypay/paypaydefalsedynamodbhuo-yong-shi-li-nituite RDS is not suitable.
  • 10. Architeucture Confidential Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止 Start version Intermediate version Migrated version notification data increase rapidly.
  • 11. How migrate notifications Confidential Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止 There are 3 steps 1. Divide the notification logic from the monolithic application(Rails Application). 2. Data transfer to the new Database system(DynamoDB). 3. Develop a switching system to release the new notification service gradually.
  • 12. Divide the notification logic Confidential Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止 Divide logics as a service class. ANDPAD has 200-300 methods.
  • 13. Data transfer to the new DB system Confidential Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止 Evaluate Differences Develop the W-Write system(each service can write each database) to transfer notification data.(not work push/mail notification and so on.) Also develop features to evaluate the differences.
  • 14. Develop switching system for canary release Confidential Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止 down to zero. If the differences are closing to zero, we can release new notification service gradually. We develop switching system between old and new notifications for canary release.
  • 15. All step done. Confidential Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止 Delete old data table for notification. New notification service is released!!
  • 16. Conclusion Confidential Copyright © 2020 Present ANDPAD Inc. This information is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. 無断転載・無断複製の禁止 ・explained how to convert notification service to the microservice in ANDPAD. ・we are now 2nd step. If you join ANDPAD, you can experience monolith to microservice.