feature image

2020年3月31日 | ブログ記事

2019年度SysAd班を振り返る【新歓ブログリレー2020 23日目】

この記事は新歓ブログリレー2020 23日目の記事です

こんにちは、16の@to-hutohuです。
普段はSysAd班として、部内サービスの開発や運用をしています。
SysAd班について詳しくは↓をご覧ください。

SysAd班
このページではtraPのSysAd班について紹介します。 SysAdとは “System Administrator” の略語で、直訳するとシステム管理人のことです。この言葉から分かるように、SysAd班は主にサークル内での交流や開発を支援するための活動を行なっています。‌‌まずはSysAd班で開発している主なサービスや利用しているアプリケーションについて紹介していきたいと思います。 SysAd班で開発しているサービス ここでは、SysAd班が一から制作し、運用しているサービスについて紹介します。 traQ traQは、slackライクなコミュニケーションツールです。traP内部での会話…

さて、僕は先日までSysAd班のリーダーだったのですが、この一年でSysAd班は大きく形を変えたので、この記事では2019年度のSysAd班についてまとめてみようと思います。

昨年までのSysAd班と課題

昨年(2018年)まではSysAd班は班としての形は取っていましたが、全ての部内サービスの運用はほとんど元代表でもある@kazが管理していました。
@kazの功績により、非常に多くのサービスが運用されるようになりtraPのメンバーは非常に便利に活動ができるようになっていました。
数年でここまで大きなシステムを構築できたのは、@kazの圧倒的な技術力と、サークルの代表とSysAdを兼任して担っていたことによると思っています。
僕もかなり長く@kazとともにサークルの運営やSysAd関連の事情について話していたこともあり、実際にサーバーに入って作業することは多くありませんでしたが、各種サービスが今の形になった歴史的経緯や設定内容については知識として持っていました。

そんな中、2018年度末をもって@kazは東工大を卒業、traPを引退しました。
さらに@kazからSysAd班のリーダーを引き継いだ僕も学部就職が決まり、2019年度末でtraPを引退することになったため、この一年でtraPの部内サービスを来年度以降も継続して運用できるようにしていかなければならなくなりました。

前期 〜持続可能な運用を目指す〜

(説明のために時系列が前後しているところが多々あります)

traPでは、基本的に前期と後期にそれぞれプロジェクト・班のメンバーを募集するためにメンバー集会でプレゼンを行います。
僕はそこで、「持続可能な運用を目指す」という目標を掲げました。

前期SysAd班募集スライドから

この目標を達成するために様々な取り組みをしました。
今振り返ってみると「メンバー」「仕組み」「ドキュメント化」の3つに分類できるかなと思いました。

メンバー

SysAd班を構成するメンバーのことです。
サービスを運用していくためにはメンバーそれぞれが技術力を持つ必要がありました。
そして、その技術力が今後も下の代に引き継がれていく必要があります。

これに対しては、非常に安直ですが講習会を多く開催するという取り組みを行いました。
中でも力を入れたのがQSoCとWebエンジニアになろう講習会です。

QSoC

QSoCはtraQ Spring of Codeです。
名前はGSoC(Google Summer of Code)をリスペクトしています。

内容は、入部した直後のメンバーにtraQへのコントリビュートを通してGitHubの使い方やtraQでのコミュニケーションの仕方を学んでもらおうというものです。

これに参加してくれたのは人数としてはあまり多くありませんが、比較的面白い企画だったと思います。

Webエンジニアになろう講習会

通称、なろう講習会です。

WEBエンジニアになろう講習会に参加した話
webエンジニアになろう講習会というものに参加しました。webに関する全体的な事を学ぶことができる講習会でした。自分はそれまでHTMLとCSSを少し書いたことがあるくらいでしたが、この講習会に参加することができ以前とは比べ物にならないくらいスキルを身につけられたと思います。その体験談とかなんたらです。 -------------------------------------------------------------------------------- webエンジニアになろう講習会とは * webに関する幅広い知識を身につけよう! * 最短ルートでwebエンジニアになるた…
参加してくれた@hosshiiくんの記事

なろう講習会はISUCONやDockerなどの番外編も含めると全13回の講習会で、プログラミングについてほとんど知らない状態から始めて、最終的にはTwitterのクローンサービスを開発するところまでを目標としたものでした。
講習会の時間を合計すると大体45時間くらいです。

これを企画から資料作成・講習会での話・traQ上での対応までほとんど一人で行いました。
就職活動の佳境と被っていたり、研究をしないといけなかったりで正直めちゃくちゃ大変でしたが、はずみ車を回し始めるぞという強い意志で頑張りました。

これは「なろう講習会を受けた人が来年のなろう講習会を主催するようになる」ということを意味しています。
有り体に言ってしまえば、恩を着せてその見返りとして来年度のなろう講習会をやってもらうということですね。
一度このループが始まってしまえば、講習会受講生がある程度いる限り複数人で講習会運営ができるようになるので安定して技術力の継承ができるようになると考えました。
僕自身、traPへの恩が返しきれないくらいあるのでそれに報いるために頑張ったという次第です。

実際、2019年になろう講習会を受講した人たちで来年度のなろう講習会を企画しているようなので、本当にやってよかったなあとしみじみ思っています。
20の皆さんの中でWebサービス(今見てるブログとかTwitterとか全部Webサービスです!)の開発をやってみたいという人は是非traPに入って参加してみてくださいね!

仕組み

SysAd班を運営する制度のことです。

2リーダー制

前期SysAd班募集スライドから

僕がSysAd班のリーダーになるにあたって、同じ16でSysAd班の@takashi_trapにも協力を仰ぎ、2リーダー制を採用することにしました。
理由としては、

役割分担は大まかに僕が班集会の進行やタスク管理、@takashi_trapがサーバー管理やPRなどのレビューを行うことにしていました。
分担はしましたが、僕がサーバーに入って障害対応したり@takashi_trapが僕がいないときにタスク管理をしてくれたりなどそれぞれがうまく補完しあって1年間活動することができたのではないかなあと思います。

チャンネル整理

traPではコミュニケーション手段としてtraQという部内製のコミュニケーションサービスを利用しています。

部内製チャットサービス「traQ」UIのこれまで 【AdC2019 35日目】
この記事は東京工業大学デジタル創作同好会traP アドベントカレンダー2019の35日目の記事で、traQのUI記事シリーズの前編です。 後編はこちら: 部内製チャットサービス「traQ」UIのこれから 【AdC2019 53日目】 [/post/918/] -------------------------------------------------------------------------------- こんにちは、@spa (Twitter: @__spaspa__ [https://twitter.com/__spaspa__] )です。traPではSysAd班・グラフ…
traQについて詳しくはこちら

SysAd班のチャンネルは#team/SysAd以下で連絡を取り合うことが多いです。
このチャンネルに関して以下のように整理を行いました。

これにより、どこでどのようなコミュニケーションを取ればいいのかがわかりやすくなり、コミュニケーションの量も増えたように思います。
特にSysAd/randomやその下のsodanチャンネルで、様々な改善や知見の共有・障害対応などができたのは非常に良かったです。

また、SysAd外ではありますが、timesチャンネルがめちゃくちゃ活発になり、そこでも多くのコミュニケーションが発生するようになりました。
(最近times以下のチャンネルの発言数の合計が20万を超えました)

タスク割り振り

traPの部内Gitホスティングサービス内にTasksというリポジトリを作成し、そこでSysAdに関するタスクを管理するようになりました。
さらに、それらに関する更新情報をtraQに流すようにして、誰がどのような作業をしているのかなどをわかりやすくしました。

作業ログを流すチャンネル

また、後のドキュメント化の説で詳しく触れますが、運用に関するタスクに関しては作業内容をWikiにまとめるようにルール化しました。

ドキュメント化

年度初め時点では、SysAd班に関するドキュメントは殆どありませんでした。

そこで、まずはじめにサーバー構成やSysAd班で管理しているアカウントなどをWikiにまとめました。

WikiのSysAd管理物のページ
traQが載っているサーバーの構成図

これに加えて、運用と障害対応に関する作業内容についても毎回Wikiにまとめるようにしました。
作業内容をきちんとドキュメント化することによって、手動で行う必要がある定型作業などが誰でも行えるようになり、SysAd班に貢献しやすくなるというメリットを狙ってのことです。

今日時点で運用のレポートが88ページ、障害対応のレポートが21ページになっています。

運用のページ
障害対応のページ

後期 〜より多くの人が貢献できる/したくなる仕組みづくり〜

後期も募集のプレゼンの際に目標を掲げ、「より多くの人が貢献できる/したくなる仕組みづくり」としました。

後期プレゼン資料より

後期に行った取り組みについては、それぞれトピック的に書いていこうと思います。

リーダーの引き継ぎ

前期に引き続き2リーダー制を採り、僕の卒業/@takashi_trapの院進学に備えてリーダーを募集しました。
ここでマネジメント側のリーダー補佐として@temmaが、技術側のリーダー補佐として@sappi_redが就任してくれました。
共に19で@temmaは2019年の春からプログラミングを始めたという逸材です。

先日行われた、年度末のSysAd班集会で@temmaが正式にリーダーになりました。
本当にありがとうございます。応援しています。

「traPに入ってから半年が経ちました。」【AdC2019 31日目】
この記事は東京工業大学デジタル創作同好会traP アドベントカレンダー2019の31日目の記事です。 -------------------------------------------------------------------------------- こんにちは、SysAd班[1]所属のtemmaです。 今回のアドベントカレンダーではタイトルの通り、僕がtraPに入ってからの半年間を振り返りながらtraPの活動内容の一部を紹介していきたいと思います。(僕の所属の都合上、SysAd班の活動がメインになるかも) > [記事を投稿しました] traPへの入部、ありがとうございまし…

技術書典への参加

SysAd班での活動内容についてより多くの人に知ってもらうことで、「traP SysAd班で活動しています」というワードでどんなことをしているのかを理解できてもらえるように、外部への発信を増やすことにしました。
その中の1つが、技術書典への参加です。

技術書典7で頒布したSysAd TechBook1は、結果として200人以上の人に手にとっていただくことができました。
そこで出た収益は、SysAdの講習会や大会参加への補助に利用させていただいています。

現在は技術書典 応援祭にSysAd TechBook2が参加しているので、ぜひ手にとっていただけるとうれしいです!

traP SysAd TechBook 2:東工大デジタル創作同好会traP SysAd班
東京工業大学の公認サークル デジタル創作同好会traPの部内サービスを開発・運用しているSysAd班の技術書です。 SysAd班の有志が、250人以上のサークルを支える部内サービス・インフラについて書いています。 前回紹介したSlackライクな部内コミュニケーションサービスtraQの監視やパフォーマンスチューニングなど運用面の話を書いてみました。 また、通知でのインライン通信の実装やGrafanaのOAuthに対応した記事などもあります! 内容 - traP SysAd班の紹介 - QRコードを用いてtraQ連携した参加確認システム - DockerとWindows - SysAd班のイン…

ブログ記事を増やす

本としてだけではなく、ブログ記事も積極的に書いてもらいました。

SysAd班 - 東京工業大学デジタル創作同好会traP
『デジタル創作同好会traP』は、東京工業大学で活動するデジタル創作・プログラミング系サークルです。ゲーム制作を中心に、アプリ、音楽(DTM)、グラフィック(イラスト、3Dモデル、ドット絵、動画)などのクリエイティブ活動の他、競技プログラミング(競プロ)やCTFも行っています。

この記事で紹介したもの以外にもたくさん面白い記事があるので、読んでみてください。

大会への参加

前期からの継続ですが、危機管理コンテストやICTSCなどの大会にも積極的に参加しました。
結果的に、

という結果を残すことができました。

DBバックアップ体制の強化

より多くのメンバーが運用に触りやすくなるように、DBのバックアップ体制を強化しました。
ConoHaのマネージドDBを使っているサービスはマネージドなバックアップサービスを利用し、非マネージドなDBを使っているサービスはGCPのCloud Storageに世代バックアップを取るようにしました。
積極的にミスできる環境を作れたのは良かったと思います。

今後はオブジェクトストレージのバックアップ体制も整える予定です。

部内Wikiのデータを吹き飛ばしました💥【新歓ブログリレー2020 23日目】
この記事は新歓ブログリレー2020の23日目(3/31)の記事です。 19のSysAd班 [/sysad/]の翠(sappi_red)です。 時間が巻き戻ってる…? 3月2日のことでした。 「2月15日~今日の18時ごろの変更だけがすべて消えてるみたい」 正直、全然意味が分からなかったです。 すべてのデータが消えたり特定のページ・ユーザーのデータが消えたりするのは百歩譲ってわかるんですが、特定の期間のデータだけが消えるというのは腑に落ちない事態でした。 思い当たることをあげるとすれば、この日あるディレクトリを削除したことです。そのディレクトリは前回のAnsibleの記事 [/post/96…
バックアップを取っていて良かった例

各種サービスのアップデート・Docker化

数年来バージョンアップされていない部内サービスが複数あり、それらの更新・Docker化を行いました。
またそれらのデプロイの方法をAnsibleで管理し、すべてのサーバーの構成がIaCとして管理されるようになりました。
さらにさらにtraQのbot機能を利用して、ChatOps的にデプロイまでできるようになりました。

詳しくは下の記事で書いてありますが、これらの作業を行う直前の12月は@kazが遺した証明書自動更新システムが動かなくなったり、Showcaseのインスタンスが過負荷になったりとで古いシステムをそのまま残しておくのは難しくなってきていたので、いいタイミングでの更新ができました。

AnsibleとDockerとGitHub Packagesと…【新歓ブログリレー2020 16日目】
この記事は新歓ブログリレー2020の16日目(3/24)の記事です。 19の翠(sappi_red)です。普段はSysAd班 [/sysad/]で部内サービスを触ってます。 traPの部内サービス traPではOSS[1]を利用した複数の部内サービスがあります(運用しているサービス一覧 [/sysad/#--3])。 ただ、これらは保守が行き届いているとは言い難い状態でした[2]。 そこでそれらの保守性を高めるために、1月ごろからそれらのAnsible化、Docker化、GitHub Actionsを利用した上でのGitHub Packagesの利用をするようにしていき、3月に遂にそれら…

バグバウンティ制度の再開

@kaz時代から存在していたバグバウンティ制度を対象をtraQから部内で開発したサービス全体に拡大して正式な制度化しました。
これまでにはまだ1件しか報告がありませんが、この制度を通してCTF班などSysAd班外からの貢献も受けられるようになりました。

開発

ここまでは、主に運用周りの活動について書いてきましたが、開発の方もバリバリやってきました。
今年リリースした3つのサービスについて、記事を紹介します。

traQ-R

部内製チャットサービス「traQ」UIのこれまで 【AdC2019 35日目】
この記事は東京工業大学デジタル創作同好会traP アドベントカレンダー2019の35日目の記事で、traQのUI記事シリーズの前編です。 後編はこちら: 部内製チャットサービス「traQ」UIのこれから 【AdC2019 53日目】 [/post/918/] -------------------------------------------------------------------------------- こんにちは、@spa (Twitter: @__spaspa__ [https://twitter.com/__spaspa__] )です。traPではSysAd班・グラフ…

部内のコミュニケーションサービスであるtraQです。
2019年3月に現在運用されているv2がリリースされました。

2020年4月には、UIが一新されたv3が運用開始される予定です。

anke-to

部内製アンケートサービス anke-to の紹介
こんにちは、@60です。 こちらは、traP SysAd班で運用中の 部内アンケートサービス anke-to の紹介記事になります。開発に至るまでの経緯、サービスの概要、開発の流れについてお話ししていきます。 traPの部内サービスやSysAd班の開発に興味のある方などに読んでもらえると嬉しいです! (SysAdは “System Administrator” の略語で、この班では部内向けサービスの開発・運用を行っています。詳しくは SysAd班の紹介ページ [/sysad/] をご覧ください!) もくじ 1. 開発までの経緯 2. サービスの概要 3. 作成されたアンケートの例 …

部内アンケートサービスのanke-toです。
2019年4月にリリースされました。

2020年度には、UIや機能の改善を目的としてv2(anke-two)が開発開始する予定です。

booQ

部内の備品・書籍管理サービスbooQの新規開発
こんばんは19年度入学のryohaといいます。 今回はtraP SysAd班で開発した部内備品・書籍管理サービスについて以下の紹介をさせていただきます。 * 開発の背景 * 開発環境 * サービスの概要 * とりあえずリリースをした現状での評価 * 今後について よろしくお願いします。 開発の背景 発端は18年度の部内春ハッカソン [/post/438/]で書籍の貸し借りができるサービスというアイデアが出たことでした。 このアイデア以前にも部内で書籍の貸し借りはありましたが、下画像を見ればわかるように不便でアクティブなものではありませんでした。[1] このアイデアに、管理が下…

備品・書籍管理サービスのbooQです。
2019年10月にリリースされました。

現在も継続して開発が続いています。

これらのサービスの他にも、複数のサービスが開発進行中です。

まとめ

いかがでしたか?

SysAd班は2020年度もバリバリ活動していくので期待していてください!!
20の皆さんがSysAd班に入って活躍してくれるのを楽しみにしています!

明日のブログリレーの担当者は@Facishです!お楽しみに!

to-hutohu icon
この記事を書いた人
to-hutohu

traP16のとーふとふです。 こころ大好き 大岡山に来たらこころを食べましょう!!!!!

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2020年5月15日
【新歓ゲーム制作特集 第2弾】Inverse製作秘話
Saltn icon Saltn
2020年5月19日
【新歓ゲーム制作特集 第6弾】個人でゲームを作る話
Facish icon Facish
2020年4月12日
Growl Bassの研究【新歓ブログリレー2020 35日目】
fomalhaut icon fomalhaut
2020年4月6日
はじめてのドット絵
xxpoxx icon xxpoxx
2020年4月3日
猫でもわかる(諸説)ハードサーフェスモデリング
isak icon isak
2020年3月19日
Ubuntuの環境構築備忘録【新歓ブログリレー2020 11日目】
manyato icon manyato
記事一覧 タグ一覧 Google アナリティクスについて