Slide 1

Slide 1 text

管理画面の高速開発を支えるツール4選 限られた開発リソースで運用コストを最小化する 管理画面チラ見せ♥ナイト #07 / アカデミスト株式会社 森川公康

Slide 2

Slide 2 text

自己紹介 ● https://alea12.net ● イラク日報全文検索 ● 株式会社ポップインサイト 取締役 ● アカデミスト株式会社 CTO

Slide 3

Slide 3 text

自己紹介 ● https://alea12.net ● イラク日報全文検索 ● 株式会社ポップインサイト 取締役 ● アカデミスト株式会社 CTO

Slide 4

Slide 4 text

自己紹介 ● https://alea12.net ● イラク日報全文検索 ● 株式会社ポップインサイト 取締役 ● アカデミスト株式会社 CTO

Slide 5

Slide 5 text

アカデミストとは ● 学術・研究資金の獲得に特化した クラウドファンディングサービス ● https://academist-cf.com ● 累計獲得資金: 1 億円弱 ● のべ支援者数: 7,000 人超

Slide 6

Slide 6 text

Q. アカデミストは何名で運営しているでしょう? A. 1 - 5 名 B. 6 - 10 名 C. 11 - 50 名 D. 51 名以上

Slide 7

Slide 7 text

アカデミストの運営体制 A. 1 - 5 名 B. 6 - 10 名 C. 11 - 50 名 D. 51 名以上

Slide 8

Slide 8 text

アカデミストの運営体制 A. 1 - 5 名 B. 6 - 10 名 C. 11 - 50 名 D. 51 名以上 社長業

Slide 9

Slide 9 text

アカデミストの運営体制 A. 1 - 5 名 B. 6 - 10 名 C. 11 - 50 名 D. 51 名以上 社長業 エンジニア 他社兼務

Slide 10

Slide 10 text

アカデミストの運営体制 A. 1 - 5 名 B. 6 - 10 名 C. 11 - 50 名 D. 51 名以上 社長業 エンジニア 他社兼務 ライター 兼務

Slide 11

Slide 11 text

社長業 エンジニア 他社兼務 ライター 兼務 アカデミストの運営体制 A. 1 - 5 名 B. 6 - 10 名 C. 11 - 50 名 D. 51 名以上 …

Slide 12

Slide 12 text

優れた管理画面の高速開発が必要! 限られた開発リソースで運用コストを最小化する

Slide 13

Slide 13 text

管理画面の高速開発を支えるツール4選 限られた開発リソースで運用コストを最小化する 管理画面チラ見せ♥ナイト #07 / アカデミスト株式会社 森川公康

Slide 14

Slide 14 text

メニュー 通知 視覚化 データ管理 セキュリティ

Slide 15

Slide 15 text

メニュー 通知 視覚化 データ管理 セキュリティ DBであれ更新して! を撲滅しよう

Slide 16

Slide 16 text

Rails 使ってますか? ● academist 本体は Rails ● 2014 年リリース時は Scratch PHP ● 近年Rails へのフルリプレイスを実施

Slide 17

Slide 17 text

RailsAdmin gem ● rails アプリに管理画面を追加する gem ● モデルに対して自動的に 良い感じの管理画面を生成する ● 対象とする table や field はカスタム可

Slide 18

Slide 18 text

DEMO

Slide 19

Slide 19 text

勘所 ● 運用担当に DB 権限を与えたいが、 以下のような懸念があるケースに有用 ○ 誤操作が心配 ○ DB ロールの発行・管理が大変 ○ SQL 覚えてもらうのが大変 ● 他言語 / FW でも同様のライブラリ有 ○ NodeJS: express-admin ○ Django: django-admin

Slide 20

Slide 20 text

メニュー 通知 視覚化 データ管理 セキュリティ DBであれ更新して! を撲滅しよう おすすめツール: RailsAdmin

Slide 21

Slide 21 text

メニュー 通知 視覚化 データ管理 セキュリティ DBであれ更新して! を撲滅しよう おすすめツール: RailsAdmin 大切な管理画面は しっかり守ろう

Slide 22

Slide 22 text

管理画面 守ってますか? ● /admin や admin.xxx へのアクセスで 認証画面に到達できてしまうことが… ● 辞書型 / Bruteforce を考慮すると 認証画面が露出すること自体がリスク

Slide 23

Slide 23 text

AWS WAF ● https://aws.amazon.com/waf/ ● セキュリティルールに基づいた WAF をクラウド上に構築可能 ● IP アドレス / HTTP ヘッダ 等で アクセスを制御可能

Slide 24

Slide 24 text

at academist ● ほとんどのリソースを AWS に配置 ● 最前段に CloudFront を置いており そこに WAF Web ACL を設定 ● CloudWatch でモニタリング

Slide 25

Slide 25 text

メニュー 通知 視覚化 セキュリティ 大切な管理画面は しっかり守ろう おすすめツール: AWS WAF データ管理 DBであれ更新して! を撲滅しよう おすすめツール: RailsAdmin

Slide 26

Slide 26 text

メニュー 通知 視覚化 定例 MTG の 資料作成工数を 0 に セキュリティ 大切な管理画面は しっかり守ろう おすすめツール: AWS WAF データ管理 DBであれ更新して! を撲滅しよう おすすめツール: RailsAdmin

Slide 27

Slide 27 text

HighCharts ● 個人的 3 大グラフ描画ライブラリの一角 ○ 他は Gruff, Google Charts ○ chartkick も気になっています ● サーバでデータを生成、ブラウザで描画 ● 商用ライセンスが必要なケースもあり

Slide 28

Slide 28 text

HighCharts + Rails ● サーバ側で HighCharts に 投げつけるデータを用意 ● groupdate gem 使いたい

Slide 29

Slide 29 text

at academist ● 重要指標について HighCharts を使ったグラフを描画 ○ 支援件数 ○ 支援総額 ○ ユーザ数 ● 資料の作成時間が 0 に! ○ スクショを貼るだけ

Slide 30

Slide 30 text

メニュー 通知 視覚化 定例 MTG の 資料作成工数を 0 に おすすめツール: HighCharts セキュリティ 大切な管理画面は しっかり守ろう おすすめツール: AWS WAF データ管理 DBであれ更新して! を撲滅しよう おすすめツール: RailsAdmin

Slide 31

Slide 31 text

メニュー 通知 視覚化 定例 MTG の 資料作成工数を 0 に おすすめツール: HighCharts 通知 as a 管理画面 セキュリティ 大切な管理画面は しっかり守ろう おすすめツール: AWS WAF データ管理 DBであれ更新して! を撲滅しよう おすすめツール: RailsAdmin

Slide 32

Slide 32 text

Slack 使ってますか? ● academist でもヘビーユース ● 以下のような通知が日々流れます ○ 新着の支援 ○ 問い合わせ ○ ニュースレター登録 ○ CloudWatch Metrics etc ...

Slide 33

Slide 33 text

message のカスタマイズ ● Slack message にアクションを追加 ● 当該通知に対する主要なアクションは 管理画面に行かずとも実施可能に

Slide 34

Slide 34 text

Slack Message Builder ● ブラウザで Slack メッセージを シミュレート可能 ● コードを書く → 通知を試す → コードを書く … のループが不要に!

Slide 35

Slide 35 text

メニュー セキュリティ データ管理 通知 視覚化 大切な管理画面は しっかり守ろう DBであれ更新して! はなくしましょう 定例 MTG の 資料作成工数を 0 に おすすめツール: AWS WAF おすすめツール: RailsAdmin おすすめツール: HighCharts 通知 as a 管理画面 おすすめツール: Slack as a 管理画面

Slide 36

Slide 36 text

優れた管理画面の高速開発が出来ます! 適切なツールを効果的に組み合わせることで

Slide 37

Slide 37 text

Questions? セキュリティ データ管理 通知 視覚化 大切な管理画面は しっかり守ろう DBであれ更新して! はなくしましょう 定例 MTG の 資料作成工数を 0 に おすすめツール: AWS WAF おすすめツール: RailsAdmin おすすめツール: HighCharts 通知 as a 管理画面 おすすめツール: Slack as a 管理画面

Slide 38

Slide 38 text

Thank you for listening!