Classiのフロントエンドエンジニア環境 | Classi株式会社's Blog
エンジニアの八谷 (@hachi_eiji) です。元々はサーバサイドエンジニアなのですが、2016年9月にClassiにジョインして以降、サーバサイドだけでは飽き足らずフロントエンド開発にも首...
https://www.wantedly.com/companies/classi/post_articles/80365
SRE兼クラウドエンジニアの本間( @CkReal )です。
職種柄、手軽にサーバー構成図とかが議論しやすい nu board(ヌーボード) が必需品です。A4サイズは会社に、新書サイズはバッグの中に常備しておけば、自席でも居酒屋でも簡易ホワイトボードが手に入るのでオススメです^^
直近の記事2回で、Classiのサーバーサイド側の技術要素を紹介させていただきました。今回は、これらのコードが開発されている、Classiの開発環境や運用環境を紹介させていただきます。
Classiでは、コード管理はGithub private、社内チャットはSlack、チケット管理はBacklog、ドキュメント管理には、フロー型の情報はesa、ストック型の情報についてはConfluenceといったツールを利用しています。サービスの運用環境としては、AWS(DataStudioやBigQueryなど、一部GCPを利用)を利用しており、監視ツールとしてはMackerel,Sentry,NewRelic,Bugsnagなどを利用しています。過去には国内クラウドサービスを利用していた時代もありましたが、現在は完全にAWSで運用しています。
レガシーな教育業界においてサービスを展開していますが、AWSを利用していることもあり、CI環境としては、Github→CircleCI→CodeDeployを連携させた、比較的モダンなデプロイ手法で開発からデプロイまでのフローを運用しています。
比較的モダンなデプロイフローや、セキュアなAWSを利用しているからといって、改善点がない訳ではありません。技術を利用するのは人間であり、人間である以上、ミスを起こす可能性があるということを考慮する必要があります。私が入社したのは4月でしたが、それまでは単独のAWSアカウントで運用されていました。そのため、(当たり前の作業にはなるのですが)検証用のAWSアカウント作成を行い、技術検証用環境を分離させました。検証用アカウントに開発者の作業環境を移行していただくことで、本番環境での誤操作を防ぎつつ、AWSの新機能テストの残骸などを本番アカウントに残さないようにしています。
特に、AWSというクラウドサービスは、日々新しい機能がリリースされており、先月大変だった作業が今月の新機能リリースによって、劇的に開発および運用負荷が軽減されるといったことがあります。そのため、AWSの改善機能を安全に、素早く検証できる環境および体制が、企業の成長に大きく影響することにつながります。
また、AWSに限らず、技術のトレンドを安全にキャッチアップし続けられる環境は、エンジニアの成長にとって必須の環境だと考えています。企業が拡大してくると、ステークホルダーが多くなり、失敗しづらい事業が増えてきます。ですが、会社に導入できる技術検証だけでなく、Classiで働くエンジニアのキャリア形成のためにも、このような技術の素振りをできる環境は、技術的にも組織的にも維持し続けたいと考えています。
AWSに限らず、技術は日々ものすごい速さで進化しています。Classiにおいても、リリース当初からかなり機能も増え、当初想定していた設計に歪みをきたしているところも多々あります。システム負荷は、B2Cのソーシャルゲームなどに比べると圧倒的に小さいのですが、教育業界という性質上、扱うデータが社内で厳密なデータの取り扱いルールが策定されています。
開発からデプロイまでのスピードも、他の業界に比べて、かなりの長期間(場合によっては、複数年の計画)を必要とするプロジェクトも存在しますし、文科省の学習指導要領などを想定しながら開発を行うケースも多々あります。そのため、開発スピードの早いWeb系出身の方だと、Classiのセキュリティポリシーや開発フローに対して、正直面を食らう部分はあると思います。
ただ、Classiとしては、このようなセキュリティポリシーを守るべき手段は一つで不変なのではなく、技術の変遷によって、変動するものだと考えています。流れの早い技術変遷の中で、最新の技術だけではなく、課題解決により適切な技術を選択することもClassiのエンジニアとしては求められることになります。
Classiは、B2B2Cというビジネスモデルのため、B2Cのような最先端の技術要素で尖った開発スタイルが好みのエンジニアからは少し敬遠されるかもしれません。ただ、自分が行った仕事が、学校という教育のど真ん中に影響を与えるということは、確実に感じられると思います。このような環境下に少しでも興味がある方は、ぜひClassiにご連絡ください。