SlideShare a Scribd company logo
インターナショナルサービス 
抑えたい3つのポイント 
2014/11/23 渋谷エンジニア朝会@Bizreach 
株式会社ビズリーチ 
プロダクトマーケティング本部zuknow事業 
マネージャー兼チーフエンジニア 
鈴木康弘やっぴー
1 
Profile 
• 鈴木康弘(yappy) 
– 株式会社ビズリーチWeb系エンジニア 
• どんな人? 
– ITコンサルタント→ 立ち上げ当初のビズリーチに転職 
– 6番目の社員、マンションの一室→ 4年間社員300人超 
– 4年間で4事業の立ち上げに参画 
• Bizreach ESS 事業(紹介会社向けサービス) 
• Bizreach CRS 事業(一般人事向けサービス) 
• RegionUP事業(Bizreachのアジア版、プロダクト責任者) 
• zuknow事業(教育系サービス、暗記帳アプリ、プロダクト責任者) 
– エンジニアリングとプロダクトマーケティングが強み
2 
友だちと競える暗記帳アプリ「zuknow」 
• 勉強を続ける事が学習者にとって最大 
の課題→解決したい 
• 2014年1月iOSアプリ公開 
• 2014年4月Androidアプリ公開 
• 11ヶ月で19万ダウンロード
3 
友だちと競える暗記帳アプリ「zuknow」 
• 実は、インターナショナルサービス 
• 50カ国で利用
4 
インターナショナルサービス抑えたい3つのポイント 
1. クライアント側の言語設定で動くように(言語リソース問題) 
2. Master-DBはUTC0で管理(時差問題) 
3. 地球の裏側にサービスを、ネットワーク遅延はDWAで解決! 
(ネットワーク遅延問題)
5 
インターナショナルサービス抑えたい3つのポイント 
1. クライアント側の言語設定で動くように(言語リソース問題) 
2. Master-DBはUTC0で管理(時差問題) 
3. 地球の裏側にサービスを、ネットワーク遅延はDWAで解決! 
(ネットワーク遅延問題)
6 
クライアント側の言語設定で動くように 
– 過去に中国語の設定にしていて、今は日本語設定で使ってるが、さっきクラ 
DB 
中国語 
• クライアント、API、DBの言語がずれる事がよくある 
イアントのOSの言語設定を英語にしてみた 
API 
日本語 
Client 
英語
7 
クライアント側の言語設定で動くように 
– 過去に中国語の設定にしていて、今は日本語設定で使ってるが、さっきクラ 
DB 
中国語 
• クライアント、API、DBの言語がずれる事がよくある 
イアントのOSの言語設定を英語にしてみた 
API 
日本語 
Client 
英語 
クライアントで構築 
される文字列は英語
8 
クライアント側の言語設定で動くように 
– 過去に中国語の設定にしていて、今は日本語設定で使ってるが、さっきクラ 
DB 
中国語 
• クライアント、API、DBの言語がずれる事がよくある 
イアントのOSの言語設定を英語にしてみた 
API 
日本語 
Client 
英語 
API側で構築する、バリ 
デーションエラーなどの 
文字列は日本語で表示
9 
クライアント側の言語設定で動くように 
– 過去に中国語の設定にしていて、今は日本語設定で使ってるが、さっきクラ 
DB 
中国語 
• クライアント、API、DBの言語がずれる事がよくある 
イアントのOSの言語設定を英語にしてみた 
API 
日本語 
Client 
英語 
DBに入っている文字 
は中国語で表示
10 
クライアント側の言語設定で動くように 
• DBに表示文字列は入れない、表示文字列は表示時に構築 
• 常にクライアント側の言語設定で動くように 
API DB 
日本語 
Client 
英語 
DBに表示文字列 
を入れない 
リクエスト内に、 
言語情報を入れ、 
表示時に構築
11 
インターナショナルサービス抑えたい3つのポイント 
1. クライアント側の言語設定で動くように(言語リソース問題) 
2. Master-DBはUTC0で管理(時差問題) 
3. 地球の裏側にサービスを、ネットワーク遅延はDWAで解決! 
(ネットワーク遅延問題)
12 
Master-DBはUTC0で管理 
• ユーザーの時差に合った時間を表示する 
• アメリカ人に日本時間を出してもしょうがない 
• DBに、日本時間のTimestampで保存してもいいが、、
13 
Master-DBはUTC0で管理 
• DBの時間はUTC0でいれる 
• APIサーバーもUTC0で動かす 
• 表示時に、表示時間文字列を時差を加味して構築 
Client API DB 
リクエスト内に、 
時差情報を入れ、 
表示時に構築 
とにかくUTC0で 
Timestampは保存
14 
インターナショナルサービス抑えたい3つのポイント 
1. クライアント側の言語設定で動くように(言語リソース問題) 
2. Master-DBはUTC0で管理(時差問題) 
3. 地球の裏側にサービスを、ネットワーク遅延はDCAで解決! 
(ネットワーク遅延問題)
15 
地球の裏側にサービスを、ネットワーク遅延はDWAで解決! 
• ネットワーク遅延、日本国内だと10~50ms 
• アメリカやヨーロッパでは約200ms 
• 単一拠点のインターナショナルサービスは地球の裏側のユーザーまでサ 
ポートしなくてはいけない 
• ネットワーク遅延は大きな問題
16 
地球の裏側にサービスを、ネットワーク遅延はDCAで解決! 
• DCA(Dynamic Content Acceleration) 
• 距離が遠い区間の通信を最適化、動的コンテンツのパフォーマンスを向 
上 
• AWSのCloudFront(CDNサービス)を使ってDWAが出来る! 
User 
CloudFront 
(CDN) 
Dynamic Content 
Static Content 
普通のアーキテクチャ
17 
地球の裏側にサービスを、ネットワーク遅延はDWAで解決! 
• CloudFrontを動的コンテンツに対しても適応 
• TTL=0に、動的コンテンツはキャッシュしないように 
• HttpHeaderも引き継げるようになった 
User CloudFront 
Dynamic Content 
Static Content 
DWAのアーキテクチャ
18 
地球の裏側にサービスを、ネットワーク遅延はDWAで解決! 
• なぜ速くなるのか? 
– TCP/IPのHand Shake回数が減る 
– Hand Shake回数が減り、Webサーバー側の負荷も下がる 
– SSL接続のTCP/IP Hand Shake回数も減る 
180ms 
Cloud 
Front 
Edge 
Location 
Dynamic Content 
360ms 
SYN 
SYN-ACK 
ACK 
GET /index.html 
SYN 
SYN-ACK 
ACK 
GET /index.html 
SYN 
SYN-ACK 
ACK 
GET /index.html 
GET /index.html 
30ms 60ms
19 
地球の裏側にサービスを、ネットワーク遅延はDWAで解決! 
• zuknowでは平均的に約700ms速くなった! 
• また、スマホの接続が不安定なときでもつながりやすくなった 
• 単一拠点のインターナショナルサービスをやるときはどうぞ 
User CloudFront 
Dynamic Content 
Static Content 
DWAのアーキテクチャ
20 
インターナショナルサービス抑えたい3つのポイント 
1. クライアント側の言語設定で動くように(言語リソース問題) 
2. Master-DBはUTC0で管理(時差問題) 
3. 地球の裏側にサービスを、ネットワーク遅延はDWAで解決! 
(ネットワーク遅延問題)
21 
ご清聴 
ありがとうございました 
ビズリーチでは、 
Scala, Java, アプリエンジニア、 
Webデザイナー等積極採用中! 
ご興味ある方は是非、お声おかけください 
http://www.bizreach.co.jp/recruit/engineer-designer/

More Related Content

Similar to 渋谷エンジニア朝会@Bizreach 20141123

リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例
Recruit Technologies
 
20170705 apiをつくろう
20170705 apiをつくろう20170705 apiをつくろう
20170705 apiをつくろう
CData Software Japan
 
Power BI 勉強会 #9 Power BI 概要と最近のこと
Power BI 勉強会 #9 Power BI 概要と最近のことPower BI 勉強会 #9 Power BI 概要と最近のこと
Power BI 勉強会 #9 Power BI 概要と最近のこと
Takeshi Kagata
 
チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発
Satoshi Takano
 
Minitabへようこそ
MinitabへようこそMinitabへようこそ
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
Recruit Lifestyle Co., Ltd.
 
MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来 MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来
株式会社MonotaRO Tech Team
 
データプロダクトを支えるビッグデータ基盤
データプロダクトを支えるビッグデータ基盤データプロダクトを支えるビッグデータ基盤
データプロダクトを支えるビッグデータ基盤
Google Cloud Platform - Japan
 
トレジャーデータ新サービス発表 2013/12/9
トレジャーデータ新サービス発表 2013/12/9トレジャーデータ新サービス発表 2013/12/9
トレジャーデータ新サービス発表 2013/12/9
Treasure Data, Inc.
 
【kintone café松江#1】kintoneの可能性
【kintone café松江#1】kintoneの可能性【kintone café松江#1】kintoneの可能性
【kintone café松江#1】kintoneの可能性
Koji Asaga
 
20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリング20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリング
Innova Inc.
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
Google Cloud Platform - Japan
 
私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由
gree_tech
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
Yuki Ando
 
インタリオカンファレンス案内(修正版)3
インタリオカンファレンス案内(修正版)3インタリオカンファレンス案内(修正版)3
インタリオカンファレンス案内(修正版)3Tomoaki Sawada
 
Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門
You&I
 
クラウド座談会資料
クラウド座談会資料クラウド座談会資料
クラウド座談会資料
知礼 八子
 
D1-2-S07 オンプレミスのデータウェアハウス基盤を BigQuery へ
D1-2-S07 オンプレミスのデータウェアハウス基盤を BigQuery へD1-2-S07 オンプレミスのデータウェアハウス基盤を BigQuery へ
D1-2-S07 オンプレミスのデータウェアハウス基盤を BigQuery へ
Hideaki Tokida
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
softlayerjp
 

Similar to 渋谷エンジニア朝会@Bizreach 20141123 (20)

リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例
 
20170705 apiをつくろう
20170705 apiをつくろう20170705 apiをつくろう
20170705 apiをつくろう
 
Power BI 勉強会 #9 Power BI 概要と最近のこと
Power BI 勉強会 #9 Power BI 概要と最近のことPower BI 勉強会 #9 Power BI 概要と最近のこと
Power BI 勉強会 #9 Power BI 概要と最近のこと
 
チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発
 
Minitabへようこそ
MinitabへようこそMinitabへようこそ
Minitabへようこそ
 
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
 
MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来 MonotaRO のデータ活用と基盤の過去、現在、未来
MonotaRO のデータ活用と基盤の過去、現在、未来
 
データプロダクトを支えるビッグデータ基盤
データプロダクトを支えるビッグデータ基盤データプロダクトを支えるビッグデータ基盤
データプロダクトを支えるビッグデータ基盤
 
トレジャーデータ新サービス発表 2013/12/9
トレジャーデータ新サービス発表 2013/12/9トレジャーデータ新サービス発表 2013/12/9
トレジャーデータ新サービス発表 2013/12/9
 
【kintone café松江#1】kintoneの可能性
【kintone café松江#1】kintoneの可能性【kintone café松江#1】kintoneの可能性
【kintone café松江#1】kintoneの可能性
 
20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリング20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリング
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
 
私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由私たちがGCPを使い始めた本当の理由
私たちがGCPを使い始めた本当の理由
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
 
インタリオカンファレンス案内(修正版)3
インタリオカンファレンス案内(修正版)3インタリオカンファレンス案内(修正版)3
インタリオカンファレンス案内(修正版)3
 
Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門Microsoft Team Foundation Service 入門
Microsoft Team Foundation Service 入門
 
クラウド座談会資料
クラウド座談会資料クラウド座談会資料
クラウド座談会資料
 
D1-2-S07 オンプレミスのデータウェアハウス基盤を BigQuery へ
D1-2-S07 オンプレミスのデータウェアハウス基盤を BigQuery へD1-2-S07 オンプレミスのデータウェアハウス基盤を BigQuery へ
D1-2-S07 オンプレミスのデータウェアハウス基盤を BigQuery へ
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
120315 bcp solution
120315 bcp solution120315 bcp solution
120315 bcp solution
 

渋谷エンジニア朝会@Bizreach 20141123

  • 1. インターナショナルサービス 抑えたい3つのポイント 2014/11/23 渋谷エンジニア朝会@Bizreach 株式会社ビズリーチ プロダクトマーケティング本部zuknow事業 マネージャー兼チーフエンジニア 鈴木康弘やっぴー
  • 2. 1 Profile • 鈴木康弘(yappy) – 株式会社ビズリーチWeb系エンジニア • どんな人? – ITコンサルタント→ 立ち上げ当初のビズリーチに転職 – 6番目の社員、マンションの一室→ 4年間社員300人超 – 4年間で4事業の立ち上げに参画 • Bizreach ESS 事業(紹介会社向けサービス) • Bizreach CRS 事業(一般人事向けサービス) • RegionUP事業(Bizreachのアジア版、プロダクト責任者) • zuknow事業(教育系サービス、暗記帳アプリ、プロダクト責任者) – エンジニアリングとプロダクトマーケティングが強み
  • 3. 2 友だちと競える暗記帳アプリ「zuknow」 • 勉強を続ける事が学習者にとって最大 の課題→解決したい • 2014年1月iOSアプリ公開 • 2014年4月Androidアプリ公開 • 11ヶ月で19万ダウンロード
  • 4. 3 友だちと競える暗記帳アプリ「zuknow」 • 実は、インターナショナルサービス • 50カ国で利用
  • 5. 4 インターナショナルサービス抑えたい3つのポイント 1. クライアント側の言語設定で動くように(言語リソース問題) 2. Master-DBはUTC0で管理(時差問題) 3. 地球の裏側にサービスを、ネットワーク遅延はDWAで解決! (ネットワーク遅延問題)
  • 6. 5 インターナショナルサービス抑えたい3つのポイント 1. クライアント側の言語設定で動くように(言語リソース問題) 2. Master-DBはUTC0で管理(時差問題) 3. 地球の裏側にサービスを、ネットワーク遅延はDWAで解決! (ネットワーク遅延問題)
  • 7. 6 クライアント側の言語設定で動くように – 過去に中国語の設定にしていて、今は日本語設定で使ってるが、さっきクラ DB 中国語 • クライアント、API、DBの言語がずれる事がよくある イアントのOSの言語設定を英語にしてみた API 日本語 Client 英語
  • 8. 7 クライアント側の言語設定で動くように – 過去に中国語の設定にしていて、今は日本語設定で使ってるが、さっきクラ DB 中国語 • クライアント、API、DBの言語がずれる事がよくある イアントのOSの言語設定を英語にしてみた API 日本語 Client 英語 クライアントで構築 される文字列は英語
  • 9. 8 クライアント側の言語設定で動くように – 過去に中国語の設定にしていて、今は日本語設定で使ってるが、さっきクラ DB 中国語 • クライアント、API、DBの言語がずれる事がよくある イアントのOSの言語設定を英語にしてみた API 日本語 Client 英語 API側で構築する、バリ デーションエラーなどの 文字列は日本語で表示
  • 10. 9 クライアント側の言語設定で動くように – 過去に中国語の設定にしていて、今は日本語設定で使ってるが、さっきクラ DB 中国語 • クライアント、API、DBの言語がずれる事がよくある イアントのOSの言語設定を英語にしてみた API 日本語 Client 英語 DBに入っている文字 は中国語で表示
  • 11. 10 クライアント側の言語設定で動くように • DBに表示文字列は入れない、表示文字列は表示時に構築 • 常にクライアント側の言語設定で動くように API DB 日本語 Client 英語 DBに表示文字列 を入れない リクエスト内に、 言語情報を入れ、 表示時に構築
  • 12. 11 インターナショナルサービス抑えたい3つのポイント 1. クライアント側の言語設定で動くように(言語リソース問題) 2. Master-DBはUTC0で管理(時差問題) 3. 地球の裏側にサービスを、ネットワーク遅延はDWAで解決! (ネットワーク遅延問題)
  • 13. 12 Master-DBはUTC0で管理 • ユーザーの時差に合った時間を表示する • アメリカ人に日本時間を出してもしょうがない • DBに、日本時間のTimestampで保存してもいいが、、
  • 14. 13 Master-DBはUTC0で管理 • DBの時間はUTC0でいれる • APIサーバーもUTC0で動かす • 表示時に、表示時間文字列を時差を加味して構築 Client API DB リクエスト内に、 時差情報を入れ、 表示時に構築 とにかくUTC0で Timestampは保存
  • 15. 14 インターナショナルサービス抑えたい3つのポイント 1. クライアント側の言語設定で動くように(言語リソース問題) 2. Master-DBはUTC0で管理(時差問題) 3. 地球の裏側にサービスを、ネットワーク遅延はDCAで解決! (ネットワーク遅延問題)
  • 16. 15 地球の裏側にサービスを、ネットワーク遅延はDWAで解決! • ネットワーク遅延、日本国内だと10~50ms • アメリカやヨーロッパでは約200ms • 単一拠点のインターナショナルサービスは地球の裏側のユーザーまでサ ポートしなくてはいけない • ネットワーク遅延は大きな問題
  • 17. 16 地球の裏側にサービスを、ネットワーク遅延はDCAで解決! • DCA(Dynamic Content Acceleration) • 距離が遠い区間の通信を最適化、動的コンテンツのパフォーマンスを向 上 • AWSのCloudFront(CDNサービス)を使ってDWAが出来る! User CloudFront (CDN) Dynamic Content Static Content 普通のアーキテクチャ
  • 18. 17 地球の裏側にサービスを、ネットワーク遅延はDWAで解決! • CloudFrontを動的コンテンツに対しても適応 • TTL=0に、動的コンテンツはキャッシュしないように • HttpHeaderも引き継げるようになった User CloudFront Dynamic Content Static Content DWAのアーキテクチャ
  • 19. 18 地球の裏側にサービスを、ネットワーク遅延はDWAで解決! • なぜ速くなるのか? – TCP/IPのHand Shake回数が減る – Hand Shake回数が減り、Webサーバー側の負荷も下がる – SSL接続のTCP/IP Hand Shake回数も減る 180ms Cloud Front Edge Location Dynamic Content 360ms SYN SYN-ACK ACK GET /index.html SYN SYN-ACK ACK GET /index.html SYN SYN-ACK ACK GET /index.html GET /index.html 30ms 60ms
  • 20. 19 地球の裏側にサービスを、ネットワーク遅延はDWAで解決! • zuknowでは平均的に約700ms速くなった! • また、スマホの接続が不安定なときでもつながりやすくなった • 単一拠点のインターナショナルサービスをやるときはどうぞ User CloudFront Dynamic Content Static Content DWAのアーキテクチャ
  • 21. 20 インターナショナルサービス抑えたい3つのポイント 1. クライアント側の言語設定で動くように(言語リソース問題) 2. Master-DBはUTC0で管理(時差問題) 3. 地球の裏側にサービスを、ネットワーク遅延はDWAで解決! (ネットワーク遅延問題)
  • 22. 21 ご清聴 ありがとうございました ビズリーチでは、 Scala, Java, アプリエンジニア、 Webデザイナー等積極採用中! ご興味ある方は是非、お声おかけください http://www.bizreach.co.jp/recruit/engineer-designer/