Submit Search
Upload
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
•
0 likes
•
424 views
LIFULL Co., Ltd.
Follow
2017/5/10 マイクロサービス化とFirebase活用事例について
Read less
Read more
Technology
Report
Share
Report
Share
1 of 23
Download Now
Download to read offline
Recommended
HOME'Sアプリ Swift化
HOME'Sアプリ Swift化
LIFULL Co., Ltd.
【 ヒカ☆ラボ 】LIFULL Home's androidアプリの開発の裏側について
【 ヒカ☆ラボ 】LIFULL Home's androidアプリの開発の裏側について
LIFULL Co., Ltd.
LIFULL HOME'Sにおけるサイトの高速化と今後の対応
LIFULL HOME'Sにおけるサイトの高速化と今後の対応
LIFULL Co., Ltd.
そうだApi公開しよう feat. 有志のエンジニア
そうだApi公開しよう feat. 有志のエンジニア
recotech
Visual Studio 2019 Updates Pickup!
Visual Studio 2019 Updates Pickup!
Hiroyuki Mori
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影
NuxtJS + REST APIで運用中サービスをNuxtJS + GraphQLに変更したことによる光と影
gree_tech
Serverlessconf Tokyo 2017 Biz serverless お客様のビジネスを支えるサーバーレスアーキテクチャーと開発としてのビジ...
Serverlessconf Tokyo 2017 Biz serverless お客様のビジネスを支えるサーバーレスアーキテクチャーと開発としてのビジ...
Hiroyuki Hiki
More Related Content
What's hot
Code for Japan 勉強会 Vol.1 CKAN入門 プロジェクトのFork、デプロイ、CIまで
Code for Japan 勉強会 Vol.1 CKAN入門 プロジェクトのFork、デプロイ、CIまで
Naoyuki Yamada
Awsjpcasestudies
Awsjpcasestudies
akitsukada
ネットワークエンジニアがWeb開発をやってみて思ったこと
ネットワークエンジニアがWeb開発をやってみて思ったこと
gree_tech
#reco_tech AWSへ全面移行した今を話ます。
#reco_tech AWSへ全面移行した今を話ます。
recotech
Azure Load Testingを試してみた
Azure Load Testingを試してみた
Hiroyuki Mori
AWS Summit San Francisco 2017 Werner Vogelsによる基調講演を徹底紹介
AWS Summit San Francisco 2017 Werner Vogelsによる基調講演を徹底紹介
Eiji Shinohara
CloudGarageのベンチマークテスト
CloudGarageのベンチマークテスト
Kazunori Inaba
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
Naoyuki Yamada
これからのインフラエンジニアについて考えていること
これからのインフラエンジニアについて考えていること
gree_tech
Alibaba Cloudのベンチマークテスト
Alibaba Cloudのベンチマークテスト
Kazunori Inaba
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
真吾 吉田
「サーバレスの薄い本」からの1年 #serverlesstokyo
「サーバレスの薄い本」からの1年 #serverlesstokyo
Masahiro NAKAYAMA
Mobile cloudnight 2015/11/11
Mobile cloudnight 2015/11/11
YUSUKE MORIZUMI
Introducing Amazon Rekognition, Amazon Polly and Amazon Lex
Introducing Amazon Rekognition, Amazon Polly and Amazon Lex
Keisuke Nishitani
AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介
AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介
Naoyuki Yamada
Azureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流について
真吾 吉田
Updates of Azure NoSQL announced at Microsoft Ignite Spring 2021
Updates of Azure NoSQL announced at Microsoft Ignite Spring 2021
Oshitari_kochi
tvOS開発前に確認すべきこと
tvOS開発前に確認すべきこと
庸介 高橋
Server side swift: Vapor
Server side swift: Vapor
Iko Nakari
Moderator Slide for Global Azure Bootcamp 2019@Sapporo
Moderator Slide for Global Azure Bootcamp 2019@Sapporo
Yasuaki Matsuda
What's hot
(20)
Code for Japan 勉強会 Vol.1 CKAN入門 プロジェクトのFork、デプロイ、CIまで
Code for Japan 勉強会 Vol.1 CKAN入門 プロジェクトのFork、デプロイ、CIまで
Awsjpcasestudies
Awsjpcasestudies
ネットワークエンジニアがWeb開発をやってみて思ったこと
ネットワークエンジニアがWeb開発をやってみて思ったこと
#reco_tech AWSへ全面移行した今を話ます。
#reco_tech AWSへ全面移行した今を話ます。
Azure Load Testingを試してみた
Azure Load Testingを試してみた
AWS Summit San Francisco 2017 Werner Vogelsによる基調講演を徹底紹介
AWS Summit San Francisco 2017 Werner Vogelsによる基調講演を徹底紹介
CloudGarageのベンチマークテスト
CloudGarageのベンチマークテスト
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
これからのインフラエンジニアについて考えていること
これからのインフラエンジニアについて考えていること
Alibaba Cloudのベンチマークテスト
Alibaba Cloudのベンチマークテスト
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
「サーバレスの薄い本」からの1年 #serverlesstokyo
「サーバレスの薄い本」からの1年 #serverlesstokyo
Mobile cloudnight 2015/11/11
Mobile cloudnight 2015/11/11
Introducing Amazon Rekognition, Amazon Polly and Amazon Lex
Introducing Amazon Rekognition, Amazon Polly and Amazon Lex
AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介
AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介
Azureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流について
Updates of Azure NoSQL announced at Microsoft Ignite Spring 2021
Updates of Azure NoSQL announced at Microsoft Ignite Spring 2021
tvOS開発前に確認すべきこと
tvOS開発前に確認すべきこと
Server side swift: Vapor
Server side swift: Vapor
Moderator Slide for Global Azure Bootcamp 2019@Sapporo
Moderator Slide for Global Azure Bootcamp 2019@Sapporo
Similar to 20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
20110824 android apps_tanaka
20110824 android apps_tanaka
一般社団法人メディア事業開発会議
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in Tokyo
Kyosuke Inoue
fluxflex meetup in Tokyo
fluxflex meetup in Tokyo
Kyosuke Inoue
Sharoid Service Menu
Sharoid Service Menu
sharoid
20120316 designerworkshoppublished
20120316 designerworkshoppublished
Yoichiro Sakurai
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
Yoichiro Sakurai
企画者が押さえておきたいHtml5アプリ開発の要点
企画者が押さえておきたいHtml5アプリ開発の要点
Monaca
2018_02_01ヒカラボ登壇資料
2018_02_01ヒカラボ登壇資料
LIFULL Co., Ltd.
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
Yoshito Tabuchi
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナー
Imamura Masayuki
いまさら聞けない!HTML5超入門
いまさら聞けない!HTML5超入門
Monaca
SwiftによるiOS開発再入門
SwiftによるiOS開発再入門
Tomoki Hasegawa
デバイス WebAPI設計の進め方
デバイス WebAPI設計の進め方
Device WebAPI Consortium
shibuya.apk vol21
shibuya.apk vol21
Takeshi Eto
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
takuma mori
iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術
vaccho
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
Teruo Adachi
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
Yasuharu Seki
OSSではじめるオープン・スタンダードのクラウド @201304
OSSではじめるオープン・スタンダードのクラウド @201304
Shinichiro Arai
第2回 近JASA セミナー 「組み込みの世界に影響を与える エンタープライズiOS」
第2回 近JASA セミナー 「組み込みの世界に影響を与える エンタープライズiOS」
feedtailor
Similar to 20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
(20)
20110824 android apps_tanaka
20110824 android apps_tanaka
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in Tokyo
fluxflex meetup in Tokyo
fluxflex meetup in Tokyo
Sharoid Service Menu
Sharoid Service Menu
20120316 designerworkshoppublished
20120316 designerworkshoppublished
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
企画者が押さえておきたいHtml5アプリ開発の要点
企画者が押さえておきたいHtml5アプリ開発の要点
2018_02_01ヒカラボ登壇資料
2018_02_01ヒカラボ登壇資料
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナー
いまさら聞けない!HTML5超入門
いまさら聞けない!HTML5超入門
SwiftによるiOS開発再入門
SwiftによるiOS開発再入門
デバイス WebAPI設計の進め方
デバイス WebAPI設計の進め方
shibuya.apk vol21
shibuya.apk vol21
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
OSSではじめるオープン・スタンダードのクラウド @201304
OSSではじめるオープン・スタンダードのクラウド @201304
第2回 近JASA セミナー 「組み込みの世界に影響を与える エンタープライズiOS」
第2回 近JASA セミナー 「組み込みの世界に影響を与える エンタープライズiOS」
More from LIFULL Co., Ltd.
20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと
20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと
LIFULL Co., Ltd.
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
LIFULL Co., Ltd.
Kubernetesセキュリティの歩き方
Kubernetesセキュリティの歩き方
LIFULL Co., Ltd.
LIFULLの全社アプリケーション実行基盤 KEEL について
LIFULLの全社アプリケーション実行基盤 KEEL について
LIFULL Co., Ltd.
Kubernetesクラスタバージョンアップを支える技術
Kubernetesクラスタバージョンアップを支える技術
LIFULL Co., Ltd.
LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL Co., Ltd.
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
LIFULL Co., Ltd.
SaPID を導入するまでとそれから
SaPID を導入するまでとそれから
LIFULL Co., Ltd.
3D間取りを支える技術
3D間取りを支える技術
LIFULL Co., Ltd.
LIFULL HOME'Sのおとり広告予測モデルの開発
LIFULL HOME'Sのおとり広告予測モデルの開発
LIFULL Co., Ltd.
大企業でアジャイル開発を推進できる条件とその心構え
大企業でアジャイル開発を推進できる条件とその心構え
LIFULL Co., Ltd.
スクラムを利用したアジャイルオフショア開発のとりくみ
スクラムを利用したアジャイルオフショア開発のとりくみ
LIFULL Co., Ltd.
実践 マーケティングテクノロジーエンジニア
実践 マーケティングテクノロジーエンジニア
LIFULL Co., Ltd.
エンジニア × マーケティングテクノロジー が必要な理由
エンジニア × マーケティングテクノロジー が必要な理由
LIFULL Co., Ltd.
「空飛ぶホームズくん」を実現するVR技術
「空飛ぶホームズくん」を実現するVR技術
LIFULL Co., Ltd.
ニオイセンサで思索する街の新たな指標
ニオイセンサで思索する街の新たな指標
LIFULL Co., Ltd.
Well-beingを測る「LIFE WILL」開発の舞台裏
Well-beingを測る「LIFE WILL」開発の舞台裏
LIFULL Co., Ltd.
㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと
㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと
LIFULL Co., Ltd.
ウェブアクセシビリティ推進活動はじめました
ウェブアクセシビリティ推進活動はじめました
LIFULL Co., Ltd.
大きめレガシープロジェクトのフロント行く末
大きめレガシープロジェクトのフロント行く末
LIFULL Co., Ltd.
More from LIFULL Co., Ltd.
(20)
20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと
20220319_新卒から活躍し続けるエンジニアが大切にしている5つのこと
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
Kubernetesセキュリティの歩き方
Kubernetesセキュリティの歩き方
LIFULLの全社アプリケーション実行基盤 KEEL について
LIFULLの全社アプリケーション実行基盤 KEEL について
Kubernetesクラスタバージョンアップを支える技術
Kubernetesクラスタバージョンアップを支える技術
LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
LIFULLでは新卒エンジニアに 丸一日のテスト研修を行なっている
SaPID を導入するまでとそれから
SaPID を導入するまでとそれから
3D間取りを支える技術
3D間取りを支える技術
LIFULL HOME'Sのおとり広告予測モデルの開発
LIFULL HOME'Sのおとり広告予測モデルの開発
大企業でアジャイル開発を推進できる条件とその心構え
大企業でアジャイル開発を推進できる条件とその心構え
スクラムを利用したアジャイルオフショア開発のとりくみ
スクラムを利用したアジャイルオフショア開発のとりくみ
実践 マーケティングテクノロジーエンジニア
実践 マーケティングテクノロジーエンジニア
エンジニア × マーケティングテクノロジー が必要な理由
エンジニア × マーケティングテクノロジー が必要な理由
「空飛ぶホームズくん」を実現するVR技術
「空飛ぶホームズくん」を実現するVR技術
ニオイセンサで思索する街の新たな指標
ニオイセンサで思索する街の新たな指標
Well-beingを測る「LIFE WILL」開発の舞台裏
Well-beingを測る「LIFE WILL」開発の舞台裏
㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと
㊗ LINE新着物件通知 リリース!! PJ進行に沿って話す、 PjM/PdMとして やったこと
ウェブアクセシビリティ推進活動はじめました
ウェブアクセシビリティ推進活動はじめました
大きめレガシープロジェクトのフロント行く末
大きめレガシープロジェクトのフロント行く末
Recently uploaded
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
arts yokohama
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
ssuser539845
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
Ayachika Kitazaki
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
Shumpei Kishi
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
Tetsuya Nihonmatsu
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
Matsushita Laboratory
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
ssuser370dd7
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
arts yokohama
2024 04 minnanoito
2024 04 minnanoito
arts yokohama
2024 03 CTEA
2024 03 CTEA
arts yokohama
Recently uploaded
(11)
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 04 minnanoito
2024 04 minnanoito
2024 03 CTEA
2024 03 CTEA
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
1.
マイクロサービス化とFirebase活用事例 【タウンWiFi × LIFULL】スマホアプリ開発の実例を大公開!
2017.5.10 株式会社LIFULL 寒川 明好
2.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。2 自己紹介 • 寒川 明好 • 株式会社LIFULL – Android開発グループ • Engineering Manager • 2010年入社 – 入社後1年半はWebを担当 – その後はアプリ開発メイン • Android • iOS • Windows Phone
3.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。3 LIFULL HOME’Sとは 最上の住まいに出逢えるよう、最大の不動産・住宅情 報と、最良の情報品質、最適な手法によって 住まい探しをお手伝いする、不動産・住宅情報の総合 サービスです。 • ブラウザ – デスクトップ – スマートフォン • アプリ – Android • Phone • Tablet • Wear – iOS • Phone • Tablet • Watch • TV
4.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。4 おかげさまでベストアプリ
5.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。5 アジェンダ • マイクロサービス化 – LIFULL HOME’Sのマイクロサービス構成 – API Gateway と Lambda について – API側の開発環境 – 運用と監視 • Firebase活用事例 – Develop : Realtime Database & Storage – Grow : Remote Config – Grow : Dynamic Links
6.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。6 Orchestration Layer マイクロサービスとは • モノリシックとマイクロサービス – モノリシック • すべての機能が1つのプロセスで稼働 – マイクロサービス • ビジネスロジック機能ごとのサービスで、それぞれ独立したプロセス で稼働 PC API SP API APP API Common Modules DB / DAO
7.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。7 Orchestration Layer マイクロサービスとは • モノリシックとマイクロサービス – モノリシック • すべての機能が1つのプロセスで稼働 – マイクロサービス • ビジネスロジック機能ごとのサービスで、それぞれ独立したプロセス で稼働 PC API SP API APP API Common Modules DB / DAO
8.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。8 LIFULL HOME’Sのマイクロサービス構成 DAO / DB • Amazon API Gateway + AWS Lambda で構成 iOS / Android Route 53 API Gateway Lambda Cloud Front S3 CloudWatch
9.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。9 API Gateway と Lambda • API Gateway – 最大で数十万の同時API呼 び出し – 従量課金 – キャッシュ – Cloud Watchでロギング – クライアント側SDKが出力 可能 – Lambda関数を指定 – Androidでは出力したクラ イアントSDKを使っていな い • Lambda – Lambda対応言語 • Node.js • Java • C# • Python – S3のイベントをフックし てコード実行 – API Gatewayと組み合わせ てRESTful通信 – 1関数1git repositoryで独 立 POINT POINT
10.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。10 API Gateway と Lambda の制限 • スロットル制限1,000rps • アカウント当たりのAPI数 60 • Timeout 30秒 • Payloadサイズ 10MB • Etc… • ディスク容量 512MB • リクエスト本文のPayloadサイズ 6MB • 関数の同時実行数 • Etc… POINT 運用コストが減る代わりに、様々なデフォルト制限がある サービスの規模に応じてAWS Supportに上限緩和申請をする ※項目によっては緩和出来ないため、AWSのドキュメントを参照
11.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。11 API側の開発環境 • 言語 – Node.js • パッケージマネージャ – Yarn • API フォーマット – Swagger • テスト – Mocha – ESlint • CI – Circle CI
12.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。12 Yarn • 言語 – Node.js • パッケージマネージャ – Yarn • API フォーマット – Swagger • テスト – Mocha – ESlint • CI – Circle CI Yarn • Facebookが2016/10にローンチ • Ultra Fast. • Mega Secure. • Super Reliable. • Offline Mode • Flat Mode $ npm install $ yarn (install) Ultra Fast!
13.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。13 API側の開発環境 • 言語 – Node.js • パッケージマネージャ – Yarn • API フォーマット – Swagger • テスト – Mocha – ESlint • CI – Circle CI Swagger • THE WORLD’S MOST POPULAR API FRAMEWORK • Open Source Initiativeが採用 • RESTful APIドキュメントの管理 • Swagger SpecでI/Oを定義する (yaml/json) • Client用のSDKとサーバーコード の生成 • Electron化で社内用ツールとして 使用
14.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。14 API側の開発環境 • 言語 – Node.js • パッケージマネージャ – Yarn • API フォーマット – Swagger • テスト – Mocha – ESlint • CI – Circle CI Mocha • ユニットテスト • 結合テスト(APIテスト) • npm ライブラリrewireでprivate functionテスト • coverage計測 • CIサーバーでpush毎にnpm run test ESlint • JavaScriptの静的検証ツール • コーディング規約を集約
15.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。15 API側の開発環境 • 言語 – Node.js • パッケージマネージャ – Yarn • API フォーマット – Swagger • テスト – Mocha – ESlint • CI – Circle CI Circle CI • ビルド毎にコンテナ起動 → 破棄 • 1コンテナは無料 • Github連携 • Slackにテスト結果通知 • yarnでも使える • Test前にlintも流す • cache_directoriesの指定 • ビルドからテストまでを高速 化 コードをPush Circle CIでテスト実行 GitHubと連携 Slackに結果を通知
16.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。16 API運用・監視 • ツール – AWS CloudWatch • デフォルトで使用可能なアラームの他、手動で様々なアラームを定 義 – 5xxエラー – Lambdaの関数ごと – 任意の文字列(ログ内容から抽出) – Invocation Count – Count over limit – Throttles • 体制 – 輪番でアプリエンジニアが監視 • CloudWatchからのアラームで検知 – 問題が発生した場合 • Lambdaでバージョン管理しているので差し戻し • リポジトリが独立しているため、他APIへの影響はほぼゼロ
17.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。17 アジェンダ • マイクロサービス化 – LIFULL HOME’Sのマイクロサービス構成 – API Gateway と Lambda について – API側の開発環境 – 運用と監視 • Firebase活用事例 – Develop : Realtime Database & Storage – Grow : Remote Config – Grow : Dynamic Links
18.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。18 Firebaseとは • Google I/O 2016 で新しいFirebaseが発表 • mobile Backend as a Service(MBaaS)と呼 ばれるクラウドサービス • ネイティブアプリに特化したプラットフォーム • Analytics, Develop, Grow, Earn によるアプリ の最大化
19.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。19 Develop : Realtime Database & Storage • 特徴 – Realtime Database • クラウドでホスティングされているデータベース • 1 つの Realtime Database インスタンスを共有して、最新のデー タによる更新を自動的に受信 – Storage • Google Cloud Storage でサポートされている 特集などシーズンに よって変わるものを すべてのユーザに提 供できる Develop が加速する WebP
20.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。20 Grow : Remote Config • 特徴 – 機能変更の公開 – ABテストの実施 通勤・通学時間から探す 所要時間から探す 通勤・通学時間から探す 所要時間から探す 様々なパターンをテストし 一番CVRが上がるものをセットできるので アプリを Grow させることができる
21.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。21 Grow : Dynamic Links • 特徴 – 1つのリンクでiOS, Android, Webで同じ動作できる – プラットフォームに応じて、適切な場所に移動できる – アプリをインストール済みかどうかで動作を変える Webの続き Webユーザをアプリユーザにすることで アプリを Grow させることができる
22.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。22 Firebaseを最大限に活用しよう $ Analytics Develop Grow Earn
23.
© LIFULL Co.,Ltd.
本書の無断転載、複製を固く禁じます。23 おわり
Editor's Notes
Api gateway と lambda を利用することでサーバーレスアーキテクチャを実現
SDKをつかう、Android側のオブジェクトを作る際に、API側のOptionalのパラメータにも、空文字などの対応をしないといけないので、パラメータ数が多いとソースの可読性が悪くなる けれどもSDKを使うと、リトライ処理や通信部分は全部対応してくれるので、パラメータ多くないときは使ったほうが楽
Flame / Blazeプランで同時接続制限が10,000から100,000に増加 画像もWebPを使うことで高速にアクセス
Download Now