1
/
5

小さく失敗できる環境を維持する。Classiのエンジニア環境において、心がけていること

SRE兼クラウドエンジニアの本間( @CkReal )です。

職種柄、手軽にサーバー構成図とかが議論しやすい nu board(ヌーボード) が必需品です。A4サイズは会社に、新書サイズはバッグの中に常備しておけば、自席でも居酒屋でも簡易ホワイトボードが手に入るのでオススメです^^

直近の記事2回で、Classiのサーバーサイド側の技術要素を紹介させていただきました。今回は、これらのコードが開発されている、Classiの開発環境や運用環境を紹介させていただきます。

Classiのフロントエンドエンジニア環境 | Classi株式会社's Blog
エンジニアの八谷 (@hachi_eiji) です。元々はサーバサイドエンジニアなのですが、2016年9月にClassiにジョインして以降、サーバサイドだけでは飽き足らずフロントエンド開発にも首...
https://www.wantedly.com/companies/classi/post_articles/80365
Classiのサーバサイドの今とこれから | Classi株式会社's Blog
エンジニアの森田 (@chiastolite) です。2016年7月に社員1号としてClassiにジョインし、現在はRailsのサーバサイド全般を担当しています。好きな寿司のネタは炙りエンガワで...
https://www.wantedly.com/companies/classi/post_articles/83068

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にご連絡ください。


Classi株式会社の最新情報 - Wantedly
会社の取り組みや社員インタビューなどClassi株式会社の魅力をお届けしています。会社の理念は「子供の無限の可能性を解き放ち、学びの形を進化させる」です。 ソフトバンクとベネッセのJVですが、参入ハードルの高い公教育の領域でICTサービスを提供するということなので、ベンチャーにはできない信用力や販売力を活かした力強い成長と、大企業にはできないスピード感で、ユニークなポジションを築いています。
https://www.wantedly.com/companies/classi
クラウドエンジニア
拡大を続ける国内No.1の教育サービスを支える、インフラエンジニア募集!
Classi株式会社は、2014年にベネッセホールディングスとソフトバンクが共同で立ち上げた、累計導入2,300校、累計利用生徒210万人以上が利用する教育プラットフォームである「Classi(クラッシー)」、学校のICT化を支援する保護者連絡ツール「tetoru(テトル)」の開発・運営をする会社です。学校(School)× テクノロジー(Technology)を組み合わせた「SchoolTech」を推進しています。 SchoolTechとは、EdTechの中でも、特に公教育である「学校」で活用されることを目的としたテクノロジーを指している用語で、現在私たちのサービスは多くの小学校・中学校・高等学校の生徒/児童・先生・保護者に利用していただいています。 今日の児童・生徒たちは、既にデジタルネイティブ世代であることはもちろん、自分の人生を切り拓いていくための学びの場である学校では、ますますICT教育が果たす役割の重要性が増してきています。このような時代での我々の役割と責任について理解し、今後もサービスの拡充、領域の拡大を進めていきます。
Classi株式会社
Classi株式会社's job postings
20 Likes
20 Likes

Weekly ranking

Show other rankings