Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS and Serverless and Monitoring

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Yutaro Sugai Yutaro Sugai
January 24, 2017

AWS and Serverless and Monitoring

2017/01/24 Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)
にて「AWSとサーバーレスと監視」というタイトルでLT発表した際の資料です。

Avatar for Yutaro Sugai

Yutaro Sugai

January 24, 2017
Tweet

More Decks by Yutaro Sugai

Other Decks in Programming

Transcript

  1. Copyright © 2014 Sansan, Inc. All rights reserved. 1 >

    ⾃⼰紹介 l Sansan株式会社 Eight事業部 l インフラエンジニア l 活動(現在) l ⼀般社団法⼈LOCAL理事 l 活動(以前) l Chef実践⼊⾨ l Asakusa.rb l るびま(Rubyist向けWeb Magazine)編集 l 最近、Go⾔語の勉強をはじめました。 l 趣味は電⾞、⾶⾏機、⾳楽、料理、お酒、読書、ゲーム(最近 はPC)、インターネット
  2. Copyright © 2014 Sansan, Inc. All rights reserved. 2 >

    ⾃⼰紹介 l ⼀般社団法⼈LOCAL理事 l ⽬的: 北海道の技術者コミュニティの活動を⽀援し、盛り上 げる l 活動 l オープンソースカンファレンス北海道の運営 l LOCALが⾏うイベントの企画運営 l イベント⽀援 l 学⽣交通費⽀援制度 l 会場確保やスタッフなどイベント運営の補佐
  3. Copyright © 2014 Sansan, Inc. All rights reserved. 3 >

    アジェンダ l Sansanの説明 l SansanとAWS l EightとMackerel l Eightとサーバーレス l サーバーレスと監視 l サーバーレスと権限管理
  4. Copyright © 2014 Sansan, Inc. All rights reserved. 4 >

    Sansanの紹介 ビジネスの出会いを資産に変え、 働き⽅を⾰新する
  5. Copyright © 2014 Sansan, Inc. All rights reserved. 5 >

    「新しい働き⽅」を体現する神⼭ラボ
  6. Copyright © 2014 Sansan, Inc. All rights reserved. 6 >

    法⼈向け名刺管理サービス「Sansan」 営業を強くする名刺管理
  7. Copyright © 2014 Sansan, Inc. All rights reserved. 7 >

    Sansanの仕組み ① 名刺をスキャン ② OCR処理&オペレーター⼊⼒ OCRとオペレーターによる多重⼊⼒ ③データベース化 • テキストデータ • 画像データ ④アプリケーションで活⽤ 名刺の検索・閲覧・編集 ②データ送信 インターネット お客様 Database 名刺を “資産”として管理 名刺を 資産として管理 ⼊⼒サービス クラウド サービス
  8. Copyright © 2014 Sansan, Inc. All rights reserved. 8 >

    業種、規模問わず4,000社が導⼊
  9. 9

  10. Copyright © Sansan, Inc. All rights reserved. 情報は常に最新 名刺の変更を⾃動でお知らせ Eightのしくみ

    11 Eightでつながると、相⼿が転職や昇進などで 名刺を変更した場合に、通知が届きます。
  11. Copyright © Sansan, Inc. All rights reserved. メッセージで気軽に連絡 新しいビジネスコミュニケーション Eightのしくみ

    12 メールや電話よりも気軽に相⼿に連絡でき、 スムーズなコミュニケーションが可能です。
  12. Copyright © Sansan, Inc. All rights reserved. Eightのしくみ 13 ビジネスプロフィール

    オンライン名刺として活⽤ プロフィールはWeb上に公開できます。 メールの署名などに⼊れて、 オンライン名刺としてもご利⽤できます。
  13. Copyright © 2014 Sansan, Inc. All rights reserved. 14 >

    SansanとAWS 会社の各サービスにAWSを使⽤しています
  14. Copyright © 2014 Sansan, Inc. All rights reserved. 15 >

    EightとMackerel l Eightでは、監視サービスにMackerelを使⽤しています l これまではNagiosを使っていましたが、1⽉中に完全移 ⾏をしました
  15. Copyright © 2014 Sansan, Inc. All rights reserved. 16 >

    EightとMackerel l 監視対象 Amazon EC2 Elastic Load Balancing Amazon Lambda DynamoDB Amazon RDS ElastiCache Amazon Redshift Amazon CloudSearch Amazon SQS Amazon Kinesis
  16. Copyright © 2014 Sansan, Inc. All rights reserved. 17 >

    EightとMackerel l 監視項⽬(EC2) l Connectivity l プロセス監視 l ロードアベレージ l swap l といった基本的なものたち l + Nagios 時代からのチェック監視 Amazon EC2
  17. Copyright © 2014 Sansan, Inc. All rights reserved. 18 >

    Eightとサーバーレス ここまでは、これまで⼀般的だったサーバ監視 ここからは、サーバーレスに関する監視について
  18. Copyright © 2014 Sansan, Inc. All rights reserved. 19 >

    サーバーレス化 Eightでのリコメンドアーキテクチャを バッチからサーバーレス化することで 刷新しリアルタイムに処理できるようにしました
  19. Copyright © 2014 Sansan, Inc. All rights reserved. 21 >

    サーバーレス化 旧:⽇次バッチ 新:リアルタイム・ストリーミング・アーキテクチャ データ加⼯ データ収集 レーティング データ キャッシュ リコメンド ⽣成 配信 ユーザ⾏動 24時間 リアルタイム データ加⼯ ⾏動ログ ユーザ⾏動 レーティング データ リコメンド ⽣成 キャッシュ 配信
  20. Copyright © 2014 Sansan, Inc. All rights reserved. 22 >

    サーバーレス化 この後説明するLambdaとKinesisは このサーバレス化において中核を担うサービスです
  21. Copyright © 2014 Sansan, Inc. All rights reserved. 23 >

    EightとMackerel l Lambdaとは l アプリケーション実⾏環境 l フルマネージド l サーバの管理が不要 l 他サービスと連携できる l API Gateway, S3, DynamoDB, Kinesis Stream等… l 使った分だけ課⾦される Amazon Lambda
  22. Copyright © 2014 Sansan, Inc. All rights reserved. 24 >

    EightとMackerel l 監視項⽬(Lambda) l 実⾏時間 l エラー数 l 呼び出された回数 l 同時実⾏数制限を超えた数 Amazon Lambda
  23. Copyright © 2014 Sansan, Inc. All rights reserved. 25 >

    EightとMackerel l Kinesis(Stream)とは l ストリームデータを扱う l フルマネージド l いわば、データを流すパイプ l しかもスケールするパイプ Amazon Kinesis
  24. Copyright © 2014 Sansan, Inc. All rights reserved. 26 >

    EightとMackerel l 監視項⽬(Kinesis) l 流⼊してきたバイト数 l 流⼊してきたレコード数 l 読み取り操作で制限値を超えちゃった数 l 書き込み操作で制限値を超えちゃった数 l 読み取り中のレコードと最新のレコードとの時差(遅延) Amazon Kinesis
  25. Copyright © 2014 Sansan, Inc. All rights reserved. 27 >

    サーバーレスなシステムの管理 l ピタゴラ装置の監視をどうやるか l 各サービスが連携して動作する l 全体像を⾒た上でどこがつまるとまずいのかアプリケーションエ ンジニアと認識を合わせる必要があった l 監視項⽬を出してもらって実際の設定を調整した l 権限管理がわりと⼤変 l どこにロールを挟み込めるのか確認 l どのようなアクションをしたいのかアプリケーションエンジニア からヒアリング
  26. Copyright © 2014 Sansan, Inc. All rights reserved. 28 >

    サーバーレスと権限管理 l 権限 l 何のサービスが l 何のアクションを l どのリソースに対して⾏いたいのか設定する 28 新:リアルタイム・ストリーミング・アーキテクチャ データ加⼯ データ収集 レーティング データ キャッシュ リコメンド ⽣成 配信 ユーザ⾏動 リアルタイム
  27. Copyright © 2014 Sansan, Inc. All rights reserved. 29 >

    サーバーレスと権限管理 l 権限(例) l Lambdaが l DynamoDBのDescribeStream, GetItemなどなどを l ◦◦テーブルたちに⾏いたい 29 新:リアルタイム・ストリーミング・アーキテクチャ データ加⼯ データ収集 レーティング データ キャッシュ リコメンド ⽣成 配信 ユーザ⾏動 リアルタイム
  28. Copyright © 2014 Sansan, Inc. All rights reserved. 30 >

    サーバーレスと権限管理 l 権限管理 l つまりは、⼈やグループだけでなく l アプリケーション動作に必要なロールを管理するということ l Eightでは、Terraformを使って権限を管理している 30
  29. Copyright © 2014 Sansan, Inc. All rights reserved. 31 >

    まとめや感想 l サーバーレスなものたちの管理⽅法はまだ決まってない 感じが強い l デプロイ系 l 監視など l ⼿探り感はあったが必要な監視やデプロイツールを考える過程 でのチーム内ディスカッションはいい経験だった l ほかチームでのアーキテクチャ選定時に、⾃分たちのチームで の知⾒を広めることができてよかった l ほかチームもサーバーレス化の検討をしていていい影響を与え られた l アプリケーションエンジニアにServerless Confで発表しても らおうと思っています 31
  30. Copyright © 2014 Sansan, Inc. All rights reserved. 32 >

    おまけ もうすこしだけお付き合いください。
  31. Copyright © 2014 Sansan, Inc. All rights reserved. 33 >

    Sansanでは ⼀緒に働いてくれる⼈を募集中です!
  32. Copyright © 2014 Sansan, Inc. All rights reserved. 34 >

    最後にエンジニアとデザイナーの話 .NET Ruby infra iOS Android R&D Data Analyst エンジニアの勢⼒図こんな感じです。 各開発部⾨及び他1部署にデザイナーはいます。
  33. Copyright © 2014 Sansan, Inc. All rights reserved. 35 >

    エンジニア・デザイナー補助制度 書籍購⼊ 費⽤補助 環境整備補助 ソフトウェア購⼊補助 端末購⼊補助 ※iOS/Androidエンジニア限定 勉強会参加補助 有料カンファレンス 参加補助