こんにちは。asken でインフラエンジニアをしている沼沢です。
昨年 asken 初のインフラエンジニアとして僕が入社してからずっとインフラエンジニアは僕1人だったのですが、23年9月より新たなメンバーがジョインしてチームになることをきっかけに、チームで共通認識を持ち同じ方向を向いて仕事ができるようにするため、asken におけるインフラチームの Mission と Vision を策定しました。
本稿では、この Mission & Vision についてお話します。
Mission
一般的にインフラエンジニアの部門はコストセンターとされており、事実、直接的に売上に貢献しにくい存在です。
また、目に見えるユーザー価値の提供という観点でも遠い存在です。
そんな中で、自分たちにできることはなんだろうと考えた時に、我々はあらゆることを加速させる手助けができるのではないかと考えました。
僕のような会社の一社員が、会社で働く上で意識しなければならないことの1つは会社の成長だと考えています。
会社の成長の加速を手助けすることができれば、間接的に会社の成長に寄与できるのではないか。
では、会社の成長を加速させるためには何をすれば良いのか。
それは事業の成長を加速させることだと考えました。
では、事業の成長を加速させるには?
それはプロダクトの成長を加速させることかなと。
では、プロダクトの成長とはなにか?
プロダクトによってユーザーの課題が解決され、その対価としてお金をいただく、そしてユーザー数の増加に伴って売上や利益が延びていくこと、これが成長と考えます。
エンジニアには、ユーザーの課題を解決するための追加機能を開発したり、時には既存機能の改善したりすることが求められると思います。
その活動を加速させることが、プロダクトの成長を加速させることに繋がると考え、そのために我々は活動する。
そういう意志をこの Mission に込めています。
Vision
Vision は2つあります。
とにかく横文字を使いたかったのが滲み出ていますね。
1つずつ説明していきます。
Be Accelerator
Mission では「加速させる」という言葉がキーワードでした。
そこで、Mission の実現に向けて目指したい姿として、「加速させる存在になる」ことを考えました。
Accelerator(アクセラレータ)とは、「加速させる物」という意味です。
コンピューターにおけるハードウェアアクセラレーション等、何かを加速させる物に対して使われる単語です。
この単語を用い、「我々は加速させるための存在になる」ことを目指す、そのことを表現する言葉として「Be Accelerator」を Vision としました。
Mission にある通り、我々はプロダクトの成長を加速させる活動をすることで会社の成長を加速させたいので、この Vision は当然といえば当然の内容かなと考えます。
この Vision に近付くために、以下のようなことを意識して活動していきます。
- プロダクトの成長をより速く
- システムの改善をより速く
- 組織のスケールをスムーズに
Asken for the System
asken では「ひとびとの明日を今日より健康にする」という Mission を掲げ、テクノロジーの力でこの Mission の実現に向けて活動をしています。
あすけんというプロダクトの提供もその活動の1つであり、皆さまの日々の食生活の改善を支援することで健康的な身体作りや健康的な身体の維持を手助けしています。
食生活を改善することで健康的に痩せることができたり、免疫力を高めて病気を未然に防いだり、骨や筋肉に必要な栄養を摂取して怪我しにくい身体になったり。
これ、よく考えたら(よく考えなくても)システムも同じなんですよね。
- ユーザーに安定したサービスを提供するための日々の改善
- 日々の状態をチェックし不調が起きる予兆が無いか確認
- ユーザーに安心して使ってもらうための継続的なバージョンアップやパッチの適用
- etc...
こういったことを日頃から行うことで、問題が起きないようにしたり、問題が起きる前に対処できるようにしたり、問題が起きてもなるべく影響が小さくなるようにしておくことが重要です。
また、asken の企業 Value の1つに「健康を基点に」というものがあります。
https://www.asken.inc/recruit
この Value と同様に、システムも健康を基点に考え、「我々がシステムの asken になる」という想いをこの「Asken for the System」として表現しました。
- システムの健康を維持するための予防的改善
- システムの不調やその予兆をいち早く察知
これらのことを意識して活動していく所存です。
ちなみに、この Vision の策定に当たっては、以前読んだ元 Supership 山崎さんのブログにも影響されています。
トラブル対応は全く無駄 - 最速配信研究会(@yamaz)
良い話なのでぜひ一読してみてください。
これから
これらの Vision に向かってこれからやろうとしていることを一部ご紹介します。
Be Accelerator
リリース・ロールバック作業の簡易化、自動化
プロダクトの成長を加速させるため、出したいものを出したい時に出せるようにする必要があります。
そのためには、リリース作業を簡単に、自動的に行えるようにする仕組みづくりが必要です。
本稿執筆時点では、今でも手作業によるリリース・ロールバックを行っている部分があり、それらを改善していきます。
負荷試験をいつでも実行可能に
ありがたいことに、2023年10月時点で会員数は940万人を突破し、持っているデータ量はとてつもなく大きくなっています。
そのため、本番相当のデータ量を持った負荷試験環境がすぐには用意できない状況です。
これを簡単かつ迅速に用意できるようにすることで、負荷試験をいつでも実行できる仕組みを整えます。
共通基盤の用意、運用
インフラチームのカバー範囲は、asken の事業用システム全体です。
例えばデプロイの仕組みなどを各事業ごとに別々で用意するのは非効率です。
そういったものを共通基盤化することで各開発チームの負担を軽減します。
セキュリティ等のポリシーチェックの効率化
会社が成長し、事業が増えていくとインフラチームのメンバーが全てをチェックするのは限界があります。
全ての事業で、インフラにおける一定のセキュリティ設定や一定のルールに沿ったインフラ構成を適用できるようにしていきたいと考えています。
そこで、Terraform Module の提供や Policy as Code による自動チェックを導入し、全社で共通のセキュリティ設定やインフラの構築をサポートしていきます。
そうすることで、インフラチームが組織拡大のボトルネックにならないようにします。
Asken for the System
耐障害性の向上
弊社では AWS を利用してシステムを構築しています。
Multi-AZ など一般的な可用性確保は行っていますが、単一障害点になりえる箇所が存在しています。
それらの可用性を向上させ、さらなる耐障害性の向上を目指します。
また、プロダクトのコアではない機能のうち、高い専門性を必要とする機能を外部のサービスへ移行することも検討しています。
餅は餅屋へ任せることで、更に安定したシステムへと昇華させていく予定です。
事業継続性の向上
ユーザーのため、会社のためには、耐障害性とは別で事業の継続性の確保も必要です。
災害などの大規模な障害を想定したバックアップ・リカバリプランを検討、策定し、定期的なリカバリ試験の実施を計画します。
システムの健康維持
システムの健康を維持するにはいつも最新の状態でいることが望ましいです。
各種ミドルウェア等の製品についてのバージョンアップを安全かつ安心して行えるような構成への変更や仕組みづくりをしていきます。
また、インフラのコストも気になるポイントです。いくらシステムが健康でも、無駄なコストがかかっていては健康とは言えません。
単にコストを削減するのではなく「最適化」していくことで、無駄を省き必要なところにコストをかけられるようにしたいと考えています。
コスト効率の良い構成への変更も視野に活動していきます。
最後に
上記はほんの一部で、他にもやりたいことがたくさんあります。
インフラもメンバーが増えてやれることが増えたので、今後も「あらゆることを加速させるチーム」としてどんどん活動していきます!