56
Copyright © BizReach, Inc. All Right Reserved. 新人でも大丈夫。 WEB API で業務改善 株式会社ビズリーチ 澤口 2016/11/01

新人でも大丈夫。Web apiで業務改善

  • Upload
    dcubeio

  • View
    732

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

新人でも大丈夫。WEB APIで業務改善

株式会社ビズリーチ

澤口 勲

2016/11/01

Page 2: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

アジェンダ

1. 自己紹介

2. WEB APIってなんだろう?

3. 開発チームで気づいた問題点

4. WEB APIを利用してツールを作ってみた

5. 他の部署から仕事がきた

6. まとめ

7. 質疑応答

Page 3: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

今日話すこと話さないこと

話すこと

● ごく簡単なAPIについての説明。

● WEBサービスが公開している REST APIを利用して

  実際にビズリーチの開発チームで作ったツールの事例紹介。

話さないこと

● APIの詳しい概念。

● APIの詳しい使い方。

Page 4: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

アジェンダ

1. 自己紹介

2. WEB APIってなんだろう?

3. 開発チームで気づいた問題点

4. WEB APIを利用してツールを作ってみた

5. 他の部署から仕事がきた

6. まとめ

7. 質疑応答

Page 5: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

自己紹介

● 澤口 勲

● ビズリーチ 4年目

● JAVA 5年くらい PHP 10年くらい

● 品質管理や業務改善してます

● クラフトビールとボードゲーム好き

Page 6: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

アジェンダ

1. 自己紹介

2. WEB APIってなんだろう?

3. 開発チームで気づいた問題点

4. WEB APIを利用してツールを作ってみた

5. 他の部署から仕事がきた

6. まとめ

7. 質疑応答

Page 7: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

WEB APIってなんだろう?

APIとは、アプリケーションプログラムインターフェイスの略語で、プログラミングの際に使

用できる命令や規約、関数等の集合の事を指す。ソフトウェア開発の際、いちから全て

を作るより、APIを利用すればもともとあるプログラムを呼び出して、その機能を組み込

んだソフトウェアを開発することができる。

現在Webサービスの提供事業者は自社サービスを普及させるために自社サービスの

機能の一部などを積極的に公開している。この時に利用される仕組みもAPI(WebAPI)である。逆に既に広く普及しているサービスと自社のアプリケーションやWebサービスを

APIで連携させることで、自社サービスの価値を向上させることもできる。また、APIを公

開して、機能の利用に応じて課金するビジネスモデルも一般的になっている。

引用元:http://it-trend.jp/words/api

Page 8: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

WEB APIってなんだろう?

APIとは、アプリケーションプログラムインターフェイスの略語で、プログラミングの際に使

用できる命令や規約、関数等の集合の事を指す。ソフトウェア開発の際、いちから全て

を作るより、APIを利用すればもともとあるプログラムを呼び出して、その機能を組み込

んだソフトウェアを開発することができる。

現在Webサービスの提供事業者は自社サービスを普及させるために自社サービスの

機能の一部などを積極的に公開している。この時に利用される仕組みもAPI(WebAPI)である。逆に既に広く普及しているサービスと自社のアプリケーションやWebサービスを

APIで連携させることで、自社サービスの価値を向上させることもできる。また、APIを公

開して、機能の利用に応じて課金するビジネスモデルも一般的になっている。

引用元:http://it-trend.jp/words/api

Page 9: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

WEB APIってなんだろう?

APIとは、アプリケーションプログラムインターフェイスの略語で、プログラミングの際に使

用できる命令や規約、関数等の集合の事を指す。ソフトウェア開発の際、いちから全て

を作るより、APIを利用すればもともとあるプログラムを呼び出して、その機能を組み込

んだソフトウェアを開発することができる。

現在Webサービスの提供事業者は自社サービスを普及させるために自社サービスの

機能の一部などを積極的に公開している。この時に利用される仕組みもAPI(WebAPI)である。逆に既に広く普及しているサービスと自社のアプリケーションやWebサービスを

APIで連携させることで、自社サービスの価値を向上させることもできる。また、APIを公

開して、機能の利用に応じて課金するビジネスモデルも一般的になっている。

引用元:http://it-trend.jp/words/api

Page 10: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

WEB APIってなんだろう?

APIを公開しているWEBサービスは たくさんあるんです!

Page 11: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

WEB APIってなんだろう?

開発チームで使うサービスにも

Page 12: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

REST API叩いてみたイメージ

# GET(データ取得)$ curl http://example.com/api_endpoint?name=hoge&age=35

# POST(データ登録)$ curl http://example.com/api_endpoint -X POST -d "user[name]=hoge" -d "user[age]=20" -d "user[gender]=male"

# PUT(データ更新)$ curl http://example.com/api_endpoint -X PUT -d "user[name]=fuga" -d "user[age]=35"

# DELETE(データ削除)$ curl http://example.com/api_endpoint -X DELETE -d "user[id]=XXXXXXXXXX"

{ "id": "XXXXXXXXXX", "name": "fuga" "age": "35" "gender": "male"}

APIにリクエストを投げるとJSONやXMLでレスポンスが返ってくる!

WEB APIってなんだろう?

Page 13: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

WEB APIってなんだろう?

イメージが湧きづらいと思いますので

ブラウザでGETリクエストを叩いてみます。(実演)

Page 14: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

WEB APIってなんだろう?

googleやamazon、Facebookなど大きなサービスの場合は

API規模もでかいので、使いやすいよう各種言語用のSDKが提供されています。

[簡単に言うと]

リクエストを送ると、XMLやJSONでレスポンスが返ってくるやつ!

Page 15: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

アジェンダ

1. 自己紹介

2. WEB APIってなんだろう?

3. 開発チームで気づいた問題点

4. WEB APIを利用してツールを作ってみた

5. 他の部署から仕事がきた

6. まとめ

7. 質疑応答

Page 16: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

開発チームで気づいた問題点

どこでもよくある問題かと思いますが・・・

開発しているサイトのError発生件数やSlowQuery件数

その発生件数の多いもの

サイトの平均表示時間、時間のかかっているページ

計測する環境はあるし、開発メンバーなら誰でも観られるけれど

一部の人しか観ていない or 毎日は観ていないってことありませんか?

Page 17: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

開発チームで気づいた問題点

サイトの規模が大きくなればなるほど増えるErrorやSlowQuery

たしかに、主要機能はちゃんと動いているのだけれど

Page 18: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

開発チームで気づいた問題点

でも、問題を認識していて危機感をおぼえているのは一部の人だけ。

そんな状況にビズリーチ開発チームもありました。

     

Page 19: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

開発チームで気づいた問題点

でも、問題を認識していて危機感をおぼえているのは一部の人だけ。

そんな状況にビズリーチ開発チームもありました。

ErrorLog発生件数、SlowQuery発生件数 数千件/週(フロント、管理画面、バッチ合計 )

     うーん、こまった>

Page 20: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

開発チームで気づいた問題点

数字を共有して、周囲に修正を呼びかけてみるもののなかなか減らない

エラーやSlowquery件数たち・・・

一部の人しか関心を持っていないみたい。

        どうしよう>

Page 21: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

開発チームで気づいた問題点

じゃあ、みんなが毎日件数を見るようにしよう!

可視化はできているんだから、デリバリーしよう。

ここ最近、新しく出てきたErrorや

発生件数が伸びてきているErrorも通知しよう。

みんなの関心を引き出そう!

Page 22: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

アジェンダ

1. 自己紹介

2. WEB APIってなんだろう?

3. 開発チームで気づいた問題点

4. WEB APIを利用してツールを作ってみた

5. 他の部署から仕事がきた

6. まとめ

7. 質疑応答

Page 23: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

WEB APIを利用してツールを作ってみた

kibanaからデータをとって開発者チャットに流そう!

Page 24: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

WEB APIを利用してツールを作ってみた

kibanaにはAPIがありませんでした…。

Page 25: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

WEB APIを利用してツールを作ってみた

kibanaにはAPIがありませんでした…。

どうしよう、エラー件数の一覧画面からスクレイピング…?

でもkibanaの画面、Ajaxでデータ取得してるから取れない…。

         

  

Page 26: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

WEB APIを利用してツールを作ってみた

あれ?そういえば、ログ情報を入れてるElasticsearchは?

Page 27: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

WEB APIを利用してツールを作ってみた

あった!!

Page 28: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

WEB APIを利用してツールを作ってみた

あった!!

Page 29: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

WEB APIを利用してツールを作ってみた

業務ではJAVA8を使っているけれど、慣れたPHPで書いちゃいました。

・どうせコード量は大したことない(2〜3ファイル)

・慣れているから実装が早い

・LLなのでトライ&エラー、調整しやすい

・macに最初から環境が入ってる

Page 30: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

WEB APIを利用してツールを作ってみた

PHPでElasticSearchAPIを叩いて、ChatworkにError件数やSlowQuery件数を通知

Page 31: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

WEB APIを利用してツールを作ってみた

PHPでElasticSearchAPIを叩いて、ChatworkにError件数やSlowQuery件数を通知

ついでにGoogleSpreadsheetに新着Errorや急上昇Errorのログを取っておこう。

Page 32: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

できました。

・昨日のErrorLog件数、Slowquery件数通知BOT

・新着ErrorLog、Slowquery&急上昇ErrorLog、Slowquery通知BOT

WEB APIを利用してツールを作ってみた

Page 33: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

できました。

新着ErrorLog、Slowquery&急上昇ErrorLog、Slowquery通知BOT

[新着]

昨日と過去2週間のLogを比較し、新しく発生したメソッドと件数を通知

WEB APIを利用してツールを作ってみた

Page 34: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

できました。

新着ErrorLog、Slowquery&急上昇ErrorLog、Slowquery通知BOT

[新着]

昨日と過去2週間のLogを比較し、新しく発生したメソッドと発生件数を通知

[急上昇]

直近1週間と、それ以前3週間のLogを比較し

上昇角度(arctan)が上がっているメソッドと発生件数通知

WEB APIを利用してツールを作ってみた

Page 35: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

新着情報、急上昇を毎日始業時間に開発チームチャットへ自動投稿

 → みんなのErrorLogやSlowQueryへの関心が上がった!

   プログラムもどんどん修正されました!

WEB APIを利用してツールを作ってみた

Page 36: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

新着情報、急上昇を毎日始業時間に開発チームチャットへ自動投稿

結果半年で…

ErrorLog発生件数  90%OFF

WEB APIを利用してツールを作ってみた

Page 37: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

新着情報、急上昇を毎日始業時間に開発チームチャットへ自動投稿

結果半年で…

ErrorLog発生件数  90%OFF

SlowQuery発生件数  75%OFF                      (ほぼBatchサーバーのみ)

WEB APIを利用してツールを作ってみた

Page 38: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

他の問題を探しました

バグトラッキングシステムから、リリース物件一覧を作りたい。

● テンプレートシートをコピー

● バグトラッキングシステムからリリース日で絞ってCSVエクスポート

● シートにペーストして整形

Page 39: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

バグトラッキングシステムから、リリース物件一覧を作りたい。

                作りました。

他の問題を探しました

Page 40: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

他の問題を探しました

バグトラッキングシステムのチケットに

  リリース日項目の値が入っていないとリリース前テストから漏れる。

● マージ済ステータスだけれどリリース日が入っていないもの一覧取得

● メンションを付けてチャットで通知

Page 41: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

他の問題を探しました

バグトラッキングシステムのチケットに

  リリース日項目の値が入っていないとリリース前テストから漏れる。

                作りました。

Page 42: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

他の問題を探しました

サイトのレスポンスタイム改善プロジェクトが発足

GoogleAnalyticsを見ればいいのですが・・・

● 担当者しか毎日は見ないので他の人は経過がわからない

● 権限的にアクセスできない人もいる

● 一覧性が悪い(一度に表示すると重い)

Page 43: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

他の問題を探しました

サイトのレスポンスタイム改善プロジェクトが発足

GoogleAnalyticsを見ればいいのですが・・・

             

              やっぱり作りました

Page 44: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

作ったもの一覧

● 前日のErrorLog,Slowquery件数をサーバー毎に開発者チャットに通知

● 新着、伸び率の情報をサーバー毎に通知

● バグトラッキングシステムからリリース物件一覧表を作成

● バグトラッキングシステムの入力不備を通知

● GoogleDriveにある開発資料の定期バックアップ

● UnitTestのテスト数、カバレッジ率、成功率などを通知

● サイトのレスポンスタイム、時間のかかっているものを記録

● 定時の時報

● etc….

Page 45: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

アジェンダ

1. 自己紹介

2. WEB APIってなんだろう?

3. 開発チームで気づいた問題点

4. WEB APIを利用してツールを作ってみた

5. 他の部署から仕事がきた

6. まとめ

7. 質疑応答

Page 46: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

他の部署から仕事がきた

業務の合間にWEB APIを叩きまくっていたある日…。

Page 47: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

他の部署から仕事がきた

業務の合間にWEB APIを叩きまくっていたある日…。

マーケティング部の効果測定用レポートの作成に時間がかかっている。

主要な広告媒体はAPI公開を公開しているので自動化したい。

Page 48: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

他の部署から仕事がきた

各広告媒体からAPIで取得→ googleスプレッドシートに出力+完了通知

サーチネットワーク(検索広告)ディスプレイアドネットワーク(バナー広告)

スポンサードサーチ(検索広告)ディスプレイアドネットワーク(バナー広告)

Page 49: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

まとめ

● 情報は手を伸ばすより、向こう側から来る方がよい

  興味のある人、必要のある人は自分から情報にアクセスするが

  関心の少ない人も定期的に通知がくると見てくれる。

  情報の集まる場所もなるべく1箇所に集約する。

  (作るだけじゃなくて、見る意義を伝えることも大事)

Page 50: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

アジェンダ

1. 自己紹介

2. WEB APIってなんだろう?

3. 開発チームで気づいた問題点

4. WEB APIを利用してツールを作ってみた

5. 他の部署から仕事がきた

6. まとめ

7. 質疑応答

Page 51: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

まとめ

● 情報は手を伸ばすより、向こう側から来る方がよい

● 自分の業務もいいけれど、チームの業務にも目を向ける

● できることからはじめてみよう

Page 52: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

まとめ

● 自分の業務もいいけれど、チームの業務にも目を向ける

自分の業務効率を改善するのも大事だけれど

チームが抱えている問題に目を向ける。

問題というと難しいけれど、面倒だなぁと思うこと、本当はこうだったらいいのにと

思った事のそばに問題はあります。

Page 53: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

まとめ

● できることからはじめてみよう

使い方がわかってしまえば、APIはかんたんです。

興味のある言語を勉強するついででもよいですし

まず「使っているWEBアプリ API」で検索してみましょう。

  

Page 54: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

おまけ

WEBサービス同士をノンプログラミングで繋いで連携するWEBサービス

IFTTT(イフト)https://ifttt.com/

zapier(ザピア)https://zapier.com/

mythingshttps://mythings.yahoo.co.jp/

  

Page 55: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

アジェンダ

1. 自己紹介

2. WEB APIってなんだろう?

3. 開発チームで気づいた問題点

4. WEB APIを利用してツールを作ってみた

5. 他の部署から仕事がきた

6. まとめ

7. 質疑応答

Page 56: 新人でも大丈夫。Web apiで業務改善

Copyright © BizReach, Inc. All Right Reserved.

ご静聴ありがとうございました。