ICTトラブルシューティングコンテスト DMM.com ラボ ツチノコ杯 に学生運営として参加してきました! #ictsc
ちょっとしたご縁がありまして、第4回 ICTトラブルシューティングコンテストに学生運営として参加させて頂きました!
ICTトラブルシューティングコンテストとは
全国の専門学校生、高専生、大学生、大学院生を対象とした サーバー・ネットワークのトラブルシューティングや運用技術をチーム単位で競うコンテストであり、競技参加選手だけではなく、コンテストの企画、運営も学生が行う、学生の、学生による、学生のためのコンテストです。
トラブルシューティングコンテストとは | ICTSC | ICT トラブルシューティングコンテスト より
運営チームも参加者同様に学生のみで構成されており、どのような問題を作るのか、どのようなネットワーク構成にするのか、どのようなやり方を取るのかなどを学生が決定しました。
何をやったのか
学生運営チームは大まかにネットワーク周り担当とサーバ周り担当に分かれて作業していて、自分はその中でもサーバ周り担当をしていました。
特に構成管理ツールであるAnsibleを使ってサーバを俯瞰的に管理するのをやっていました。
ansibleを使った構成に関してはLT大会で簡単に話しました!
最初は某クラウドで動いていたGitBucketで管理していたのですが、ちょっと使いづらいよね…という事になって「じゃあ、折角だしGitHubでやろう!」という話が学生から出た結果、プライベートリポジトリを使ってPRベースでのplaybook開発を進めました。
この方式を使う事で一定水準のコードを安定して運用することが出来ました。
あまり上手く運用出来なかったのでスライドには書けなかったのですが、サーバの構成状態を管理出来るserverspecとvagrantをjenkinsで動かすことで、GitHubにPRが提出されたらそれを自動的にjenkinsが検知、そのまま自動的にビルドしてansible playbookのテストを行いました。
GitHubやjenkinsの結果をslackに通知することで、テストが落ちたときのみ確認することが出来るので非常に便利でした。
この辺りの機構を含め、 @kuro_m88 先輩に多くお手伝い頂きました、本当にありがとうございました!!
運営としてコンテストに参加してみて
普段、大学では自分に近いレイヤーの方との話が多くなります。
この事は自分の居る場所に対して深い知識を集めることも出来るのですが、その反面自分と違う分野が得意な方々とは一緒に作業することが出来ません。
今回のコンテストでは学生が運営を行うという事で、Cisco製品を初めとするネットワーク機器の操作に慣れている方々と一緒に作業することが出来ました。この事は自分の曖昧なネットワーク知識だけでは中々話に付いていく事が出来ず、自分の知識を更に深める事が出来たように思えます。
また、サポートとして活動してくださった大人のサポートチームの方々にも大変お世話になりました。色々な事で詰まった部分を助けて頂いたり、学生目線ではどうしても思いつかないような部分を手助けして頂きました。
GitHubリポジトリ
今回の運営業務の過程で作成したplaybookを初めとして、いくつかのプロダクトがオープンソースとして公開されています!
ICT Trouble Shooting Contest – GitHub
当日対応した分や、一部gitに落とし込めなかった部分など、実際運用した物とは若干の差異こそありますが、ほぼ同じものです。
是非参考にしてみてください!
まとめ
第4回ICTトラブルシューティングコンテスト、運営として参加出来て本当に良かったです!次回開催も予定されておりますので、またチャンスがあれば運営として参加出来ればと思っています。
運営に誘ってくれた @staybuzz君、ansibleで詰まった際など技術的な支援をしてくださった @kuro_m88 さん、 @netmarkjpさん、その他多すぎて書き切れませんが、関係者や参加者の皆様、本当にありがとうございました!