みなさんこんにちは!システム部のパネルチームリーダーの猪股と、ITセキュリティ&品質管理を担当しているかげです。
少し前にベトナム出張に行ってきたので、その背景と現地で行った事などについて紹介します。
ベトナム出張の経緯
今回、GMOインターネットグループの仲間であるGMO-Z.com RUNSYSTEM(以下RUNSYSTEM)からモニターサイトの「infoQ Vietnam(以下infoQ VN)」を事業譲受することになり、システムの確認や改善のために現地のメンバーと顔合わせも含め、ベトナムに出張することになりました。
ベトナム入国、RUNSYSTEMオフィスへ
PCR検査やベトナムのコロナ関係アプリのインストール(結局必要なかった)などコロナ前にはなかったであろうタスクをこなし、成田からハノイ直行の便に乗り込みました。
飛行機の遅延や入国審査の混雑などにより、ホテルに着いたのは現地時間で深夜1時前、日本時間で3時前でした。
(※詳しくは同行した大山さんが「ベトナム出張体験記〜「Face to Face」の重要性実感してきた〜」でより詳しく語ってくれています。)
実質、入国して2日目にホテルから徒歩10分くらいのところにあるRUNSYSTEMのオフィスに向かいました。
オフィスに向かうまでの道は、道路整備がされていなかったり、交通ルールがあってないような状況下でした。バイクや車がこちらに気づいて止まってくれることを信じて、ドキドキしながら道路を横断し、なんとかオフィスに到着しました。
到着後、RUNSYSTEMのタウ社長に挨拶。その後、今回ミーティングをするinfoQ VNの運用メンバーのいるフロアへ移動すると、いきなり袋いっぱいのお土産をいただきました。笑
海外はこういったおもてなしが手厚いイメージがあります。
それに比べ、海外の人が日本に来たときの対応はかなりあっさりしているイメージ。本当に申し訳なく思うほどです・・・
お土産をもらい、PCR検査を終え、ようやく今回の目的のミーティング開始です。
初の対面ミーティング
私かげは、既存サイトのセキュリティチェックなどの役割で、事業譲受プロジェクトの当初から関わっていました。
今回の出張の目的は、プロジェクト完了が見えてきたことから、RUNSYSTEMの方に今までの対応の感謝を改めて伝えることと、譲受後の運用をスムーズに進めることでした。今回の訪問で、私が説明するテーマは以下の3つでした。
- 開発プロセス
- インシデント
- セキュリティ対策と残課題
開発プロセス
infoQ VNのシステム運用や開発は、引き続きRUNSYSTEMに委託します。ただし今後は、GMOリサーチの品質基準を満たしてもらう必要があり、開発プロセスもGMOリサーチのプロセスに則り行ってもらう必要があります。
※以前「GMOリサーチの開発プロセス」を紹介しているのでご覧ください。
infoQ VNは運用フェーズであり、大幅なリニューアルなども予定していないため、基本的に「運用開発」のプロセスで行います。事前に、開発プロセスの資料を提供していましたが、今回改めて運用開発のプロセスを説明しました。
運用開発における確認ポイントは、以下の点でした。
- GMOリサーチでは開発タスクをRedmineでチケット管理している
- ソースレビュー
- UT(単体テスト)
- リリース承認
- リリースのタイミング
Fit&Gapを確認するため、現在のプロセスをヒアリングしました。その中で、分かったこと、いくつか変更が必要な点があることがわかりました。
・ソースレビューは行っていない→ソースレビューを行う必要あり
・単体テストコードはない→単体テストコードも作成する必要あり
・リリース承認は、サービス担当者が行っている→GMOリサーチがリリース承認へ
私は全内容の決定権を持っているわけではないため、変更が必要な点を持ち帰って今後どうするのか検討する旨をお伝えしました。
インシデント
インシデント対応フローについては、GMOインターネットグループのルールがあり、譲受後もそのフローに則って行います。(英語のドキュメントも共有されています。)
インシデント対応についてのポイントは以下の点です。
- 報告の主体は、RUNSYSTEMではなくGMOリサーチとなる
- インシデントが発生した場合、GMOリサーチに速やかに報告してもらう必要がある
- 特に注意しインシデントとしてすぐに報告してほしいのは、サイトダウンと個人情報漏洩
また、今回はその場で体制図や連絡方法を下記のように決めることができ、とてもよかったと思います。
- インシデントの体制図を作成し、その場で記載
- インシデントや開発の連絡の窓口として、Slackのチャンネルを作成。体制図のメンバーをその場で承知
セキュリティ対策と残課題
対象サービスのセキュリティレベルをチェックするために、次の診断を実施し対策を進めました。
- Webアプリケーション脆弱性診断
- モバイルアプリ脆弱性診断
- プラットフォーム診断(openvas)
Webアプリケーション診断とモバイルアプリ診断は、外部に委託して実施しました。大きな問題は見つからなかったため、再診断の委託は行わず私が確認することにしました。
また、RUNSYSTEMで対策を進めてもらうにあたり、詳細はレポートを参照してもらう必要がありました。診断委託時に、英語でのレポート作成可否を確認しましたが、不可だったり、可能な場合でも追加料金がかかるとのことでした。
検出された脆弱性については、IssueListを作成し進捗管理を実行。
レスポンスよく対応いただき、IssueListの消化は数項目を残す程度で、ほぼ終えることができました。その後は、IssueListの残課題の進め方について確認しました。
脆弱性診断の委託を行う上で、Webサイト、モバイルアプリ(ベトナム語)を確認する必要がありました。WebサイトはGoogle翻訳でページごとに簡単に翻訳できましたが、モバイルアプリはAndroid SDKのエミュレータを使ったり、実機にテスト用のアプリをダウンロードしたりして確認。
機能は資料を見てなんとなくわかりますが、エラーメッセージはやはり訳さないとわからないため、カメラで撮影→Googleドライブにあげる→テキストに変換されたものをGoogle翻訳にかけるというステップで確認しました。
なお、最近知りましたが、Google翻訳アプリのカメラ機能を使えばもっと簡単にできました・・・。ちなみに現地での日常会話も、Google翻訳アプリが大活躍でした。
次に私、猪股のターン。 今回の出張ミッションの1つに「ソースをGMOリサーチのGithubに移管して、リリーススクリプトを作ること」がありました。なので、まずはそのあたりの確認を行いました。
- ソース管理
- リリースについて
ソース管理
ソース管理はGitを使っており、RUNSYSTEMのGitサーバに置かれている。
リリースについて
アプリサーバにログインして git pull で反映している。
環境によって変わる設定はGitの範囲外にファイルを置き、必要なときだけ修正している。
この設定ファイルについては、事前情報ではリリースする度に手動で修正していると聞いていたので非常に危険だなと思っていたところでした。
ですが実際は、一度修正したらリリースごとに修正する必要はないとのことで多少安心しました。
ミーティングのやり方
これまでオンラインでは、Slackを使ったテキストでのコミュニケーションがメインで、Zoomミーティングも数回行いました。
RUNSYSTEMは、GMOインターネットグループ各社のシステム開発も多く受けており、日本語の通訳の方が在籍しているため、基本的に日本語でコミュニケーションを取っています。
RUNSYSTEMのエンジニアの方は日本語がわかりませんし、双方ともあまり英語が得意ではないので、今回のオフラインミーティングでも、通訳の方に同席してもらい日本語で進めました。
ですが、現地で通訳を行ってくれた方はエンジニアではないので、技術的な言葉が分からず伝えるのに苦労することが若干ありましたが、事前に最低限の資料を英語で準備して臨んだこともあり、問題の確認や現状のヒアリングは問題なく進めることができました。
まとめ― 対面コミュニケーションで学んだこと―
《最終日に懇親会を開いてもらいました。意外に(と言ってしまうと失礼ですが、)料理も美味しく、日本よりビールの炭酸が控え目で味も薄めだったので飲みやすかったです》
– かげ-
今回の出張で感じた重要ポイントは、以下の2点です。
- 資料は最低限、キーワードだけでも英語で準備しておく
- ボリュームは少なめに
出張者側は通常、費用や準備時間、移動時間など多くの負担が生じますが、出張者を受け入れる先方側も同様に、会議のスケジュール確保はもちろん、その他のサポートなど多大な時間を費やすことになります。そのため、限られた時間の中でそれに見合う成果を出すには、事前の準備が必要だと再認識しました。
また、Zoomミーティングでは担当者の方と顔を見て話したことはありましたが、その際は通訳の方を通してのコミュニケーションだったので、あまり担当者の方を意識できていませんでした。
しかし、今回その担当者の方に実際に会い、同じ場所で話したり食事を一緒に取ることができ、対面はやはり全く違うなということを実感しました。
弊社では、海外の方とプロジェクトを行う機会がありますが、「プロジェクトの前に現地の人に会いに行くように」とよく言われます。
論理的にはオンラインのみでもプロジェクトを進めることはできるかもしれませんが、やはり一度会うと、お互いに真剣度が1つ上がると思いました。
-猪股-
今回の出張で、やはり実際に会って対話することは大事だと実感しました。
リモートやチャットでは伝えきれない部分も、その場で図を書いてイメージを共有できたり、詳細確認が格段に行いやすかったという印象が残っています。
帰国してからのメールやチャットでのやりとりでも、相手の顔が思い浮かぶというのは意外に大きいものです。弊社では対面コミュニケーションを大事にしているので、今後も海外出張が増えていくことでしょう。
ですが、個人的にはコロナが完全に収まってからにして欲しいところです・・・。
コロナ関係の手続きが非常に手間だったので、海外初心者としてはなるべく回避したいなあと思いました。笑
以上、ベトナム出張についてでした!
ご覧いただきありがとうございました!