当社が運用している2つのSaaS製品の運用と改善を行うサイトリライアビリティエンジニアを募集しています。
■募集背景
現在,当社では授業支援システムである「schoolTakt」と教育機関向けのプラットフォームである「まなびポケット」の開発を2チーム体制で行っています。
これらのサービスはAWSとAzureでホストされており,TerraformとSaltStackで構成管理され, 大部分はKubernetesクラスタで実行されています。
比較的モダンなアーキテクチャで省力運用が可能な構成であり,これまでは3名の兼業または非常勤のサイトリライアビリティエンジニアによって運用がなされてきました。
しかし、新型コロナウィルス流行に伴う臨時休校,GIGAスクール構想に伴う急激な需要の拡大など,社会情勢の変化にともなって, 学校現場では急激にICT環境の整備が求められています。
schoolTakt と まなびポケット も急激に需要を増しており,アプリケーションの負荷特性や利用状況が大幅に変化しています。
教育現場で継続的に使ってもらうためには,アプリケーションの完成度はもちろん,授業という限られた時間の中で利用される都合上,可用性や応答性などシステムの全体の信頼性が極めて重要な要素となります。
そのため、ソフトウェアエンジニアリングの能力を活用して高いサービスの信頼性を実現するために,サイトリライアビリティエンジニアを募集します。
■業務内容詳細
- DRサイトの構築
- マルチクラウド用オーバレイネットワークの展開自動化
- UbuntuからNixOSへの移行
- 監視最適化
- コンテナ最適化(随時)
- 非機能試験自動実行基盤の整備
- Kubernetesクラスタの統廃合
■本ポジションの役割
### ソフトウェアエンジニアとして
サイトリライアビリティエンジニアはインフラストラクチャの運用者ではなくソフトウェアエンジニアです。
コードを読む,コードを書くというソフトウェアエンジニアリングによって,サービス運用のトイルを削減し,応答性が高く安定したシステムの提供に貢献することを期待します。
また,インフラストラクチャに関する知見から,製品開発を行うソフトウェアエンジニアと協同して,最適なシステムアーキテクチャを設計・構築することも期待しています。
### サイトリライアビリティエンジニア
このポジションには以下のような役割を期待しています。
- SLI/SLOの見直しと追跡
- アプリケーションアーキテクチャから妥当な監視メトリクスの整理と追跡
- 運用および開発プロセスにおける自動化の推進
- カスタマーサポートプロセスに置ける自動化の推進
業務においてOSSへの貢献は推奨されます.
M/Wやツールチェーンのバグ修正,機能追加は日常的に業務として行われ,その成果物を還元することは望ましい行為であると考えます。
同様に,自社製品に対してSREが開発者としてアプローチすることも望ましいことであると考えます
SREも製品コードを書く.製品開発をするソフトウェアエンジニアもサイト信頼性に責任を持つ.という文化を大事にしています。
### その他の担当領域
codeTaktの開発組織では明確に固定化されたポジションはありません。
専門性を突き詰めるために,特定のロールで集中的に業務を行うか,あるいは周辺領域に手を出すかは本人の裁量に委ねられます。
サイトリライアビリティエンジニアには,サービスの信頼性向上やチームの生産性の向上に関する取り組みを期待しますが,一方でプロダクションコードへのコミット,新しい社内プロジェクトへの参加などは比較的自由に行うことができます。
■配属チーム体制
新たに設置される開発組織横断的なSREに所属していただきます。
**SREチーム**3名
現在のメンバーは前述の通り全員兼務または非常勤です。
■必須条件
- C,C++, Rust, Go, Java, Python, Rubyのなかから一つ以上の言語での実務レベルの経験
- 基本的なアルゴリズムとデータ構造に関する知識
- TCP/IPとHTTPに関するプロトコルレベルの知識
- Linux上でOSSを活用した高負荷・高信頼性インフラストラクチャの設計・構築・運用経験
- Terraform, Ansible, SaltStackなどのテクノロジーを活用して,AWS, GCP, Azureといったパブリッククラウドプラットフォームへのインフラストラクチャの展開および構成管理を行った経験
- タスクの自動化とトイル削減に対する情熱
■歓迎条件
- 分散システムの設計・構築・運用経験
- 関数型言語での経験