2017/01/24 Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス) にて「AWSとサーバーレスと監視」というタイトルでLT発表した際の資料です。
> "84ͱαʔόʔϨεͱࢹSansan株式会社 Eight事業部 インフラエンジニア 菅井祐太朗
View Slide
Copyright © 2014 Sansan, Inc. All rights reserved. 1> ⾃⼰紹介l Sansan株式会社 Eight事業部l インフラエンジニアl 活動(現在)l ⼀般社団法⼈LOCAL理事l 活動(以前)l Chef実践⼊⾨l Asakusa.rbl るびま(Rubyist向けWeb Magazine)編集l 最近、Go⾔語の勉強をはじめました。l 趣味は電⾞、⾶⾏機、⾳楽、料理、お酒、読書、ゲーム(最近はPC)、インターネット
Copyright © 2014 Sansan, Inc. All rights reserved. 2> ⾃⼰紹介l ⼀般社団法⼈LOCAL理事l ⽬的: 北海道の技術者コミュニティの活動を⽀援し、盛り上げるl 活動l オープンソースカンファレンス北海道の運営l LOCALが⾏うイベントの企画運営l イベント⽀援l 学⽣交通費⽀援制度l 会場確保やスタッフなどイベント運営の補佐
Copyright © 2014 Sansan, Inc. All rights reserved. 3> アジェンダl Sansanの説明l SansanとAWSl EightとMackerell Eightとサーバーレスl サーバーレスと監視l サーバーレスと権限管理
Copyright © 2014 Sansan, Inc. All rights reserved. 4> Sansanの紹介ビジネスの出会いを資産に変え、働き⽅を⾰新する
Copyright © 2014 Sansan, Inc. All rights reserved. 5> 「新しい働き⽅」を体現する神⼭ラボ
Copyright © 2014 Sansan, Inc. All rights reserved. 6> 法⼈向け名刺管理サービス「Sansan」営業を強くする名刺管理
Copyright © 2014 Sansan, Inc. All rights reserved.7> Sansanの仕組み① 名刺をスキャン ② OCR処理&オペレーター⼊⼒OCRとオペレーターによる多重⼊⼒③データベース化• テキストデータ• 画像データ④アプリケーションで活⽤名刺の検索・閲覧・編集②データ送信インターネットお客様Database名刺を“資産”として管理名刺を資産として管理⼊⼒サービスクラウドサービス
Copyright © 2014 Sansan, Inc. All rights reserved.8> 業種、規模問わず4,000社が導⼊
9
Copyright © Sansan, Inc. All rights reserved.Eightのしくみ10スマホで撮影 ⼈⼒で⼊⼒ スマホ & PCで活⽤
Copyright © Sansan, Inc. All rights reserved.情報は常に最新名刺の変更を⾃動でお知らせEightのしくみ11Eightでつながると、相⼿が転職や昇進などで名刺を変更した場合に、通知が届きます。
Copyright © Sansan, Inc. All rights reserved.メッセージで気軽に連絡新しいビジネスコミュニケーションEightのしくみ12メールや電話よりも気軽に相⼿に連絡でき、スムーズなコミュニケーションが可能です。
Copyright © Sansan, Inc. All rights reserved.Eightのしくみ13ビジネスプロフィールオンライン名刺として活⽤プロフィールはWeb上に公開できます。メールの署名などに⼊れて、オンライン名刺としてもご利⽤できます。
Copyright © 2014 Sansan, Inc. All rights reserved. 14> SansanとAWS会社の各サービスにAWSを使⽤しています
Copyright © 2014 Sansan, Inc. All rights reserved. 15> EightとMackerell Eightでは、監視サービスにMackerelを使⽤していますl これまではNagiosを使っていましたが、1⽉中に完全移⾏をしました
Copyright © 2014 Sansan, Inc. All rights reserved. 16> EightとMackerell 監視対象Amazon EC2 Elastic LoadBalancingAmazon LambdaDynamoDBAmazon RDSElastiCacheAmazon RedshiftAmazonCloudSearchAmazon SQSAmazon Kinesis
Copyright © 2014 Sansan, Inc. All rights reserved. 17> EightとMackerell 監視項⽬(EC2)l Connectivityl プロセス監視l ロードアベレージl swapl といった基本的なものたちl + Nagios 時代からのチェック監視Amazon EC2
Copyright © 2014 Sansan, Inc. All rights reserved. 18> Eightとサーバーレスここまでは、これまで⼀般的だったサーバ監視ここからは、サーバーレスに関する監視について
Copyright © 2014 Sansan, Inc. All rights reserved. 19> サーバーレス化Eightでのリコメンドアーキテクチャをバッチからサーバーレス化することで刷新しリアルタイムに処理できるようにしました
Copyright © 2014 Sansan, Inc. All rights reserved. 20> リコメンド
Copyright © 2014 Sansan, Inc. All rights reserved. 21> サーバーレス化旧:⽇次バッチ新:リアルタイム・ストリーミング・アーキテクチャデータ加⼯データ収集 レーティングデータキャッシュリコメンド⽣成配信ユーザ⾏動24時間リアルタイムデータ加⼯⾏動ログユーザ⾏動 レーティングデータリコメンド⽣成キャッシュ 配信
Copyright © 2014 Sansan, Inc. All rights reserved. 22> サーバーレス化この後説明するLambdaとKinesisはこのサーバレス化において中核を担うサービスです
Copyright © 2014 Sansan, Inc. All rights reserved. 23> EightとMackerell Lambdaとはl アプリケーション実⾏環境l フルマネージドl サーバの管理が不要l 他サービスと連携できるl API Gateway, S3, DynamoDB, Kinesis Stream等…l 使った分だけ課⾦されるAmazon Lambda
Copyright © 2014 Sansan, Inc. All rights reserved. 24> EightとMackerell 監視項⽬(Lambda)l 実⾏時間l エラー数l 呼び出された回数l 同時実⾏数制限を超えた数Amazon Lambda
Copyright © 2014 Sansan, Inc. All rights reserved. 25> EightとMackerell Kinesis(Stream)とはl ストリームデータを扱うl フルマネージドl いわば、データを流すパイプl しかもスケールするパイプAmazon Kinesis
Copyright © 2014 Sansan, Inc. All rights reserved. 26> EightとMackerell 監視項⽬(Kinesis)l 流⼊してきたバイト数l 流⼊してきたレコード数l 読み取り操作で制限値を超えちゃった数l 書き込み操作で制限値を超えちゃった数l 読み取り中のレコードと最新のレコードとの時差(遅延)Amazon Kinesis
Copyright © 2014 Sansan, Inc. All rights reserved. 27> サーバーレスなシステムの管理l ピタゴラ装置の監視をどうやるかl 各サービスが連携して動作するl 全体像を⾒た上でどこがつまるとまずいのかアプリケーションエンジニアと認識を合わせる必要があったl 監視項⽬を出してもらって実際の設定を調整したl 権限管理がわりと⼤変l どこにロールを挟み込めるのか確認l どのようなアクションをしたいのかアプリケーションエンジニアからヒアリング
Copyright © 2014 Sansan, Inc. All rights reserved. 28> サーバーレスと権限管理l 権限l 何のサービスがl 何のアクションをl どのリソースに対して⾏いたいのか設定する28新:リアルタイム・ストリーミング・アーキテクチャデータ加⼯データ収集 レーティングデータキャッシュリコメンド⽣成配信ユーザ⾏動リアルタイム
Copyright © 2014 Sansan, Inc. All rights reserved. 29> サーバーレスと権限管理l 権限(例)l Lambdaがl DynamoDBのDescribeStream, GetItemなどなどをl ○○テーブルたちに⾏いたい29新:リアルタイム・ストリーミング・アーキテクチャデータ加⼯データ収集 レーティングデータキャッシュリコメンド⽣成配信ユーザ⾏動リアルタイム
Copyright © 2014 Sansan, Inc. All rights reserved. 30> サーバーレスと権限管理l 権限管理l つまりは、⼈やグループだけでなくl アプリケーション動作に必要なロールを管理するということl Eightでは、Terraformを使って権限を管理している30
Copyright © 2014 Sansan, Inc. All rights reserved. 31> まとめや感想l サーバーレスなものたちの管理⽅法はまだ決まってない感じが強いl デプロイ系l 監視などl ⼿探り感はあったが必要な監視やデプロイツールを考える過程でのチーム内ディスカッションはいい経験だったl ほかチームでのアーキテクチャ選定時に、⾃分たちのチームでの知⾒を広めることができてよかったl ほかチームもサーバーレス化の検討をしていていい影響を与えられたl アプリケーションエンジニアにServerless Confで発表してもらおうと思っています31
Copyright © 2014 Sansan, Inc. All rights reserved. 32> おまけもうすこしだけお付き合いください。
Copyright © 2014 Sansan, Inc. All rights reserved. 33> Sansanでは⼀緒に働いてくれる⼈を募集中です!
Copyright © 2014 Sansan, Inc. All rights reserved. 34> 最後にエンジニアとデザイナーの話.NETRubyinfraiOS AndroidR&DData Analystエンジニアの勢⼒図こんな感じです。各開発部⾨及び他1部署にデザイナーはいます。
Copyright © 2014 Sansan, Inc. All rights reserved. 35> エンジニア・デザイナー補助制度書籍購⼊費⽤補助環境整備補助 ソフトウェア購⼊補助端末購⼊補助※iOS/Androidエンジニア限定勉強会参加補助 有料カンファレンス参加補助