サポートエンジニアNightに行ってきた

スマートニュースさんのオフィスで開催された、サポートエンジニアNightに参加してきました。概要にもありますが、その名のとおりベンダー、特にクラウド系のサポートエンジニアが中心に集うイベントでした。

[サポートエンジニアNight - 2015/07/02(木)](http://eventdots.jp/event/524151)
> 普段あまり表舞台にはでてこないサポートエンジニアに光をあてる勉強会です！
今回は、BtoBのクラウドサービスの会社がどんなツールを使ってどんな風にサポートをしているか、どのような仕組みで顧客の声をプロダクトにフィードバックしているか、カスタマーサクセスをするためにセールスやプロダクトとどのように連携しているかを発表します。 

自分自身も普段、ベンダーのサポートエンジニアという立場でHadoop周りのトラブルシューティングやお客様対応をしており、クラウドとオンプレミスという違いこそあれどB2B特有の面白さ、難しさが伺えたイベントでした。また、各ベンダーの規模が様々だったので、できることとできないことがあるんだろうなあと、なんとなく想像でき、そういう意味でも面白かったです。
登壇者は以下のとおりです。公開が確認できているスライドについてもリンクしています。

| 所属/氏名    | 資料 |
|:-----------:|:---------------:|
| クラウディアン株式会社 グローバル テクニカル サポート ディレクター 後藤 哲明氏 | http://www.cloudian-blog.com/2015/07/night.html |
| Treasure Data Inc. テクニカルサポートエンジニア 髙橋 達氏 | http://www.slideshare.net/treasure-data/what-is-supportengineerintreasuredata |
| Microsoft株式会社 Microsoft Azure テクニカルサポートエンジニア 乾 純子氏 | |
| アマゾンデータサービスジャパン株式会社 クラウドサポートエンジニア 半田 達郎氏 | http://www.slideshare.net/TatsuroHanda/explore-aws-in-depth |

ちょっと遅刻してしまったため、クラウディアン後藤さんの途中からのメモとなりますが、内容はこんな感じでした（特に断りはなかったと思うのですべてのメモを公開していますが、削除したほうがよい内容があればご指摘ください）。
# クラウディアン株式会社 後藤氏
## 日常を支える道具たち
* 場所を選ばすチームをまたいでコミュニケーションできる環境が重要
* Salesforce CRM
* Bugzilla (Bug, QA, ER)
* Github
* AWS（再現環境）
* Skype

## 再現テスト環境
* 自社ラボ環境
 * 物理HW: 性能がシビアな場合
 * 数に限りあり
* AWC EC2
* Cloud Formation
* テンプレートを用意しておき短時間でクラスタ構築
 * 3node, 6, 9, or more

## トラブルシューティング
* Linux上の分散Javaアプリケーション
* 分散データベース、分散処理
* ネットワーク、プロトコル系、ストレージ系
    * お客様環境で使えるものを使わなければならない
        * 海外のお客様だと勝手に入ってやってというパターンが多いが日本は、、、
    * tcpdump, wireshark
    * iptables ポートをブロックしてあえて通信できない環境を作ったりする
    * ストレスツールで数日、数ヶ月かけてやることもある
    * EC2でSSDインスタンスを使うこともあるが高いのでケースバイケース。EBS optimizedなど
    * ファイルシステムのバグに出会うことはあまりない。ベンダー推奨に則ってないケースがおおい
    * よく使うコマンド
        * slabtop
        * iotop
        * /proc/\<pid\>
* パフォーマンス系
    * 各プロセスの統計情報、サマリとしては有効
    * Javaプロファイリング、ヒープダンプ
    * 事実を知る強力な手段
    * エビデンスに基づいた解決策
* データ整合性
* データ履歴解析
* アクセスログ解析による詳細な時系列分析
    * アクセスパターン（時間帯）
    * リクエスト種別
    * オブジェクトサイズ
    * 実行ノード、データ格納ノードの情報

## ログ解析環境
* サポート用HyperStoreクラスタがある。そこにお客様からアップロードしてもらう
    * NFSでマウントしてLinuxサーバ内で解析する
* ビッグデータの集計、解析
    * ログ自体がビッグデータ
    * 過去6ヶ月にわたる時単位、分単位のアクセス集計結果
    * システム性能の変曲点を見つける
    * 特定ユーザのリクエストのみすべて取り出して分析
    * 特定のエラーメッセージを全ログファイルから抽出し、そこに含まれるキー値をもとに全体を再検索する
    * サポートは時間との戦いなので焦る。ビッグデータが現実的な時間で解析できなければならない（grepとかじゃ間に合わない）
    * サポート用のS3クラスタにHadoopクラスタを載せてMRやPigを流して解析している
    * Pigスクリプトの例
        * リクエストログを分単位で集約、合計数、サイズ、平均、最小値、最大値を計算
    * Hadoopとの接続
        * Hortonworksによる公式認定

## サポートチームのゴール
* Innovation should come from everyone
* 開発チームと連携し、お客様のクラスタからTelemetric Dataを送ってもらい、Hadoopクラスタで解析、製品改善に活かしている

# 『What is Technical Support Engineer in TreasureData』Treasure Data Inc.　高橋氏
## 自己紹介
* [@nora96o](https://twitter.com/nora96o)
* TDは日米あわせて80名
* お客さんは100社超
* イベントの言い出しっぺ
* 今日のネタは3つ
    1. Tools/Service
    2. Roles/Missions
    3. Challenges

## Tools/Service
* サービス紹介
* 問い合わせ方法
    * email
    * online chat
    * support center
* サポートチケット管理はSupport Desk (Desk.com)
* チャットの内容はDesk.comに登録される
* バグ登録
    * JIRA, Wiki by Atlassian
* 通知
    * Slack
* Customer activity
    * Preact (with desk.com)を使ってる（サポートに特化した感じ）
* 何をサポートしているか
    * Everything about TD
    * どんどん製品やドキュメントがでてくるので大変
* どんな質問がくるか
    * クエリが遅い、エラーになる、なぜ？
    * データのインポートができない
    * 新機能要望
* すべてのサービスのログをTDに入れて解析している
* ケース数
    * 半年で2300件
    * 最近は週70件
    * チャットは10am-6pm JSTが多い。日本のアクティブな時間帯が主

## Roles/Missions
* いつでもお客さんは逃げていく
* 有償無償関係なくチャットは来る
* 従来のフェーズ毎の役割分けは意味がない。どのフェーズでもいろんな人が関わる
* サポートと各チームの関係
    * 対開発チーム：お客さんの声を伝える
    * 対顧客：早いレスポンス、問題解決
    * 対セールス：顧客のフラストレーションを伝える

## Challenges
* 1-2ヶ月での目標（サポートコストを減らすため）
    * サポートで調査した内容のシェア: Jupyter/Pandas/Github/TD
    * Desk.com to Zendesk: お客さんの要望をピックアップしやすいように
    * カスタマーデータベース（顧客のクラスタ情報を格納）: Salesforceを使う予定
    * サポートを評価するための指標の作成: 解決数？顧客からの評価？

## まとめ
* Support knows own technologies than customers. Support knows customers more than anyone.

# 『Microsoft Azure - サポートエンジニアのリアルな日常』Microsoft株式会社　乾氏
## Microsoft(MS)と日本マイクロソフト
* MS
    * ビル・ゲイツ：すべてのデスクとすべての家庭にコンピュータを
    * スティーブ・バルマー：デバイス＆サービスカンパニー
    * サティア・ナデラ：モバイルファースト、クラウドファースト
* 日本マイクロソフト
    * 1986年設立
    * 2182名（うちサポートは500名）
    * Azureサポートは品川

## MS Azure
* 世界17リージョンで展開
* 18言語対応（画面）
* 9言語でサポート
* 問い合わせ方法
    * 管理ポータル、あるいは電話
* 問い合わせ例
    * 仮想マシンの作成に失敗する
    * 仮想マシン、クラウドサービスが予期せず再起動していた
    * 仮想マシン、サービスに接続できない
    * 仮想マシン、サービスが起動しない

## サポートエンジニアの1日
* 通常の問い合わせは9-17時対応

```
8:30 海外チームでの調査状況を確認。必要に応じてIMやSkypeで通話 
9:00: 窓口開始、新着のお問い合わせを確認し、TODOを整理
9:30: 最新情報の共有
10:00: お客様へのコンタクト、担当の問い合わせの調査など
12:00: 昼食
13:00: メンバーと問い合わせの相談、レビュー
14:00: 調査
16:00: 海外のエンジニアとオンラインミーティング、事例調査方法の共有
17:30: 窓口終了: メンバーと問い合わせの相談、レビュー
データセンター側のエンジニアや国内外の担当者にメール
```
* どのように調査しているか
    * 事例調査: 世界中での調査内容がひとつのデータベースに入っている
    * ログの解析: ネットワーク、ロードバランサなどあらゆるログが見える
    * 検証:
    * デバッグ: ソースコードからの解析はEscalation Engineerのみ許されている
* ツール
    * Lyncを使ったソフトフォン
    * 正式回答はメール
    * CRMを使って他の顧客全体を管理
    * LogMeInを使って画面共有
* 手放せないもの
    * Windows Phone
    * 如何に早く、以下に必要な情報を事前に仕入れられるかが重要
    * ランチ時もメールをみている人が多い
* フィードバックの対応状況
    * 製品開発チームへのフィードバック

## サポートエンジニアのキャリアパス
* コンサルにいったり
* プレミアフィールドエンジニアからテクニカルリードになったり
* エスカレーションエンジニアから本社開発になったり様々

# 『Explore AWS in-depth - クラウドサポートエンジニアとしてのスキルアップ』 アマゾンデータサービスジャパン株式会社　半田氏
## 自己紹介
* 以前はITベンダーで仮想化インフラのインテグレーション、プリセールスなど
* 2014年より勤務
* CloudSearchのSME(Subject Matter Expert)
    * フルマネージドのクラウド型検索エンジン
    * 34の自然言語をサポート
* なぜCloudSearchか？
    * 新機能のアップデートで興味をもった --> Hebrew language support
    * 言語学を専攻しており、ヘブライ語の勉強をしていた
    * 社内勉強会で発表
    * サポートケース対応で更に詳しくなり
    * 社内プロセスを経てSME認定
    * チャットワークの発表で、日本語サポートのことを紹介してもらえた

## クラウドサポートエンジニアとは
* クラウドのユーザを
* サポートする
* エンジニア
    * 窓口担当者ではなくサポートエンジニア
    * お客様から問題解決に必要な情報を直接ヒアリング
    * 技術的な調査・検証の実施
    * グローバルの開発・運用部門とコミュニケーション

## 楽しい？
* はい！
* AWS使い放題
    * 大規模なベンチマークを試したり
    * 好きなサービスを使い倒してみたり
    * 新サービスにチャレンジしてみたり
* AWSの裏側に関われる（多くは語れないが）
* 常に新しいものに取り組むことができる
    * 新機能・新サービス
    * 実際のユースケースについて深く知ることができる

## とはいっても大変じゃ？
* はい
* 年間500を超える新機能・新サービスのリリース(2014年)
    * 新しいサービスがローンチされて即ブログを公開するお客様もいるので、早くキャッチアップしなければならない
* サポート対象が幅広い
    * すべてのサービスをすべてのエンジニアがサポートする。サービスカットじゃない
    * 得意な分野をそれぞれカバーしあっている

## スキルアップはどうしているか
* Brown Bag
    * 月2-3回程度
    * 自分の得意なサービスや技術を紹介しあう
* LL大会
    * 月1程度
* 新サービスのトレーニング
* Development Day
    * 月に1度
    * ツール開発や勉強会参加など、自由に時間を使うことができる
* ツール開発
    * 情報収集のためのスクリプトを書いたり
    * チャットツールのbot開発
        * サポートケース対応用
        * 近所のカレー情報
        * エンジニア間でいいね！機能
* Personal Project
    * 入社トレーニング後のアクティビティとして実施
        * 目標：なるべく多くのAWSを盛り込んだ何らかの「動く」サービスを作成し、既存のサポートエンジニアに対してデモを交えた成果発表を行う
        * 「俺のBeanstalk」Elastic Beanstalkを作ってみた話の紹介

## まとめ
* AWSサポートはAWSサービスを幅広くカバー
* クラウドサポートエンジニアはお客様と直接コミュニケーションをとりながら技術スキルを発揮する
* 進化の早いAWSにキャッチアップするためにスキルアップ活動もたくさんやっている