developers.io2017 a1

48
A1. クラメソの請求を⽀える技術 〜40歳中年エンジニアの⽣存戦略〜 2017/07/01 IT推進室 植⽊和樹 1

Upload: kazuki-ueki

Post on 24-Jan-2018

1.203 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Developers.IO2017 A1

A1. クラメソの請求を⽀える技術〜40歳中年エンジニアの⽣存戦略〜

2017/07/01IT推進室 植⽊和樹

1

Page 2: Developers.IO2017 A1

2⽬次

請求システム 刷新の背景

新システムのポイント

まとめ

Page 3: Developers.IO2017 A1

3本セッションの成分

Lambdaかわいいよ

90%

エモい10%

話題

Page 4: Developers.IO2017 A1

4⾃⼰紹介

名前:植⽊ 和樹(うえき かずき)年齢:40歳出⾝:新潟県妙⾼市

ITサービスマネージャーIT推進室室⻑AWS事業部オペレーショングループ⻑オペレーション部⻑

@czkuk

Page 5: Developers.IO2017 A1

520年のエンジニア歴年齢 職歴1997年(20歳) ポケベル販売+インターネットカフェ+パソコンスクール

すごく暇だったのでFreeBSDを覚える3ヶ⽉で東京の会社になぜか就職 Perlを覚えるなぜかシステムエンジニアにLAMP + bind+ qmail + OCN エコノミー

2001年(24歳) 2回⽬の転職 東京に疲れ新潟に嫁を探しに帰る2003年(26歳) 3回⽬の転職するも半年で退職し2ヶ⽉の無職⽣活

4回⽬の転職 Javaエンジニアに Oracleも⾊々いじる2008年(31歳) リーマンショック 退職ラッシュ

なんかいろいろなサーバーの⼦守をすることに2013年(36歳) 5回⽬の転職 Twitterの求⼈をみてクラスメソッドに転職2017年(40歳) イマココ

Page 6: Developers.IO2017 A1

6

刷新の背景

Page 7: Developers.IO2017 A1

7刷新の背景1000件超の構築・運⽤から得た、急成⻑ビジネスを⽀えるデータ分析基盤と AWSインフラ環境の事例(17:00〜)|AWSSummitTokyo2017

Page 8: Developers.IO2017 A1

8刷新の背景

毎⽉300枚 営業・営業事務が専念

つらい

Page 9: Developers.IO2017 A1

9携帯電話に似た請求モデル

請求書

AWS利⽤費(従量課⾦)

監視(従量)

運⽤(固定)

請求書

構築(ワンショット)

コンサル(タイマテ)

Page 10: Developers.IO2017 A1

10旧 請求システム

Page 11: Developers.IO2017 A1

11旧 請求システム

Page 12: Developers.IO2017 A1

12新 請求システム

Page 13: Developers.IO2017 A1

13リリースまでのスケジュール

2015年12⽉ 2016年1⽉ 2⽉ 3⽉ 4⽉ 5⽉ 6⽉ 7⽉

CRM評価・請求モデル検討 開発 ★リリース

Page 14: Developers.IO2017 A1

14

ポイント

Page 15: Developers.IO2017 A1

15新システムのポイント

データの⼀元管理

API & OAuth 2.0

Serverless

Salesforce

Page 16: Developers.IO2017 A1

16

データの⼀元管理

Page 17: Developers.IO2017 A1

17新 請求システム

Page 18: Developers.IO2017 A1

18データの⼀元管理によって解消されたこと

⭕️ 曖昧な業務フロー⭕️ 契約情報の散在(データが紐付かない)⭕️ 複数マスター(顧客名のぶれ、請求先部署)⭕️ 台帳ごとのデータの⾷い違い(開始⽇、契約数)⭕️ 「このお客様どのサービス契約してましたっけ?」

Page 19: Developers.IO2017 A1

19

API & OAuth 2.0

Page 20: Developers.IO2017 A1

20API,OAuth2.0

• 主にデータの繋ぎこみだけ• Python simple_salesforce• MFクラウド請求CSVフォーマット変更を機にAPIへ• OAuth 2.0 はクライアントでの利⽤は簡単

Page 21: Developers.IO2017 A1

21【宣伝】OAuth 2.0 ってな〜に?

A-2 基礎からの OAuth 2.0〜 認証と認可の概念、認可コードとアクセストークンの意味 〜

Page 22: Developers.IO2017 A1

22Problem: Salesforce 24時間API呼び出し上限

100%になるとAPIが呼べなくなる

↓業務が⽌まる

Page 23: Developers.IO2017 A1

23Solved: S3 ETag

Page 24: Developers.IO2017 A1

24

Serverless

Page 25: Developers.IO2017 A1

25とある運⽤担当者の訴え

「絶対にサーバーは管理したくないでござる」

Page 26: Developers.IO2017 A1

26新 請求システム

ココ

ココ

Page 27: Developers.IO2017 A1

27Problem: 処理に時間がかかる

Task timed out after 300.00 seconds

Page 28: Developers.IO2017 A1

28Solved: SQS Worker Queue

http://dev.classmethod.jp/cloud/aws/lambda-sqs-asynchronous-distributed-processing/

Page 29: Developers.IO2017 A1

29Solved: SQS Worker Queue

http://dev.classmethod.jp/cloud/aws/lambda-sqs-asynchronous-distributed-processing/

Page 30: Developers.IO2017 A1

30Lambdaログ監視

http://dev.classmethod.jp/cloud/aws/notify-error-cloudwatch-logs-with-lambda/

ログレベル毎に通知先を変えられるlogs2sns2.ymlがオススメ!

Page 31: Developers.IO2017 A1

31AWS Managed Services

AWS⽉額利⽤費$ 17

Page 32: Developers.IO2017 A1

32

Salesforce

Page 33: Developers.IO2017 A1

33Salesforceについて

• Salesforce初経験• 複雑な請求モデル• 請求締め処理部分はパートナー会社さんに依頼• 画⾯まわりを内製• よくできてる(テスト、カバレッジ、リリース)• Trailheadで⾃習

Page 34: Developers.IO2017 A1

34外製?内製?

• バッチなど仕様が固めやすい部分は外製• 画⾯などトライ & エラー 部分は内製• すべて内製すると製品毎に担当者を抱え込む• 過度なカスタマイズはしない• 業務をパッケージにあわせる

Page 35: Developers.IO2017 A1

35刷新後

• 半⽉かかってた請求業務が数時間に• ⼯数:80⼈⽇ → 12⼈⽇• 営業への契約確認 → ほぼゼロ• 契約内容 = 請求• マーケ施策強化• 「しがないOL」がJavaプログラマーへ転向

Page 36: Developers.IO2017 A1

36

請求システムについての説明=終 =

Page 37: Developers.IO2017 A1

37新請求システムの印象はどうでした?

意外と単純と思いませんでしたか?

Page 38: Developers.IO2017 A1

38

おっさんの昔話

Page 39: Developers.IO2017 A1

39Programmer?

AnOrdinaryEngineer

Page 40: Developers.IO2017 A1

40プログラマーって?

たぶんこういう本が好きな⼈

Page 41: Developers.IO2017 A1

41糊付けエンジニアHTTPのリクエストを受け取って

DBに格納して

条件指定して取り出して

テキスト整形してレスポンスを返す

⾼度なアルゴリズムとかデータ構造とか出てこない⼊⼒+出⼒+条件分岐+繰り返し

プログラムの基礎のみ

Page 42: Developers.IO2017 A1

42プログラミングの⼤衆化

Page 43: Developers.IO2017 A1

43Programming Interface

糊付け

フレームワーク

認証

クラウド

OS

DB

ミドルウェア

ライブラリ

ツール

それぞれ専⾨的知識

Page 44: Developers.IO2017 A1

なんでもできる⼈なんていない

44

Page 45: Developers.IO2017 A1

45フルスタック?フルフェーズ?

マーケ 営業 開発・構築 保守運⽤ 請求・会計

ビジネス戦略

⼈事・労務

各分野の専⾨家を「エンジニア」としてサポート

Page 46: Developers.IO2017 A1

4640歳の⽣存戦略

半径5メートル

Page 47: Developers.IO2017 A1

47まとめ

プログラムが書けるようになろう

API, OAuth2.0 は覚えて損なし

コードレビューしてもらおう

社内各部の⼥性と仲良くなれました

パーツの組み合わせでシステムは作れる

Page 48: Developers.IO2017 A1

48