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

AWS and Serverless and Monitoring

AWS and Serverless and Monitoring

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

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エンジニア限定 勉強会参加補助 有料カンファレンス 参加補助