私たちSOMPO Digital Labは、2016年に発足した組織で、日本国内のみならず海外グループ会社を含め、グループ全体のデジタルトランスフォーメーションの実現に向け、既存事業の変革と新規事業の創出に取り組んでおります。
中でも「Sprintチーム」と呼ばれるデザイナーとエンジニアで組織された内製開発部隊では、SOMPOグループの種々の事業に関わる様々なプロダクト開発にチャレンジしています。
さて今回は、Sprintチームでインフラエンジニアとして活躍している藤野さんと中西さんにインタビューを行いました!
インフラエンジニアとしての仕事内容や抱える課題はもちろんのこと、インフラエンジニアになろうと決めたきっかけや、「オンプレの運用はありますか?」といった素朴な疑問も聞いてみました。
読んだ後に、「SOMPOのインフラエンジニアは、一味違う!」と感じてもらえるようなインタビューになりました。エンジニアとしての新たなキャリア・働き方を模索している方は、どうぞ最後までご覧ください!
◆お話を伺ったメンバー◆
藤野 智彦
2022年1月入社SOMPO Digital Lab Sprintチーム インフラエンジニア
プロダクトの監視運用設計、プロダクトセキュリティの強化及び設計・ツール検討を行う。
2023年からは、トータルヘルスケアアプリのプロジェクトに参画し、DevOps周りの改善に注力する。
最近嬉しかったことは、re:Inventに初参加したこと。
中西 基文
2021年8月入社SOMPO Digital Lab Sprintチーム インフラエンジニア
地方自治体向けプロジェクト、LLM活用PoC等に参画。各プロダクトのインフラ設計/構築/運用担当の傍ら、社内開発環境改善、リスク管理等にも従事。
最近ハマっていることは、Terraformの学び直し。
ーーインフラエンジニアとしてキャリアを進めることになったきっかけは何ですか?
藤野:
前職ではアプリケーションエンジニアとして働いていたのですが、アプリケーションの開発だけでなく、インフラ設計と構築も行ってきました。そんな中、アプリケーション開発をする上で、「効率よくその開発を進めるにはどうしたらいいんだろう」と考えるようになり、そうした基盤を作ることに興味を持つようになりました。
あとはちょうどSRE(Site Reliability Engineering)という言葉がトピックに上がっていた頃だったので、そうした領域をどういうものなんだろうと関心を持ち、キャリアを歩むことを決めました。
中西:
私の場合、前職まではデータベースエンジニア兼データエンジニア兼インフラエンジニア兼アプリエンジニア兼その他もろもろ......という感じで、本当に色々なことをやらせてもらっていました。その中でAWSなどクラウドでのシステム構築を担当する機会もあり、クラウドインフラ周りについても勉強させていただきました。
それに加え、少し前にデータ分析や機械学習が世間で大人気だった時期があったかと思いますが、当時私はどちらかと言うとそのデータ分析自体よりも「ユーザーにとって快適なデータ分析環境ってどんな環境だろう」「分析基盤/インフラに求められるものって何だろう」といった観点でインフラ側に面白みを感じていました。
そうしたきっかけから「インフラエンジニアやってみたいな」と志し始めました。するとなんと、当時SOMPOで働いていた友人から「一緒にインフラやらない?」と誘われて、SOMPOに入社することにしました(笑)。
ーーSOMPOのインフラエンジニアは、プロジェクトではどのような役割を担っているのでしょうか?
中西:
まずプロジェクトメンバーとしての役割ですが、基本的には要件定義の段階から参画します。具体的には大きく分けて3つの仕事があります。
- プロダクトの機能要件/非機能要件を満たすためのインフラ観点での構成の設計と、実現に向けた調整。
- アプリエンジニアと協業し、自身の手を動かしてプロダクトを構築
- リリース後を踏まえた運用保守の整理や調整・システムの性能改善
これら3つがインフラエンジニアとしての主な仕事です。外部のベンダーに頼るというより、基本的に自分達の手や頭を使って取り組むことが求められる役割です。
藤野:
インフラエンジニアの役割について補足すると、プロジェクトメンバーとして以外に、インフラの基盤を構築/改善するといったプロジェクトを横断して求められる役割もあります。
例えばプロダクトの監視設計や、各クラウドの環境を払い出すための構成管理と自動化された基盤構築といった業務ですね。こうした全プロダクトで必要になる基盤を作るという任務もありますよ。
ーープロジェクトの中で、特にウェイトが大きいフェーズはありますか?
中西:
そうですね、プロジェクトによりますが、基本的に要件定義はPMやアプリエンジニアが中心になって要件を詰めていくことが多いです。特にPoCとしての開発では高い運用要件は求められないため、私たちは一歩引いた立ち位置になることも多いです。
一方で、特に本番リリース後の運用保守フェーズを見据えた動きとなると、むしろ私たちがメインで動くことを求められるので、ウェイトとしては後ろのフェーズに行けば行くほど比重が大きくなるかと思います。
ーー1つのプロジェクトに対し、1名のインフラエンジニアがアサインされるのでしょうか?
中西:
プロジェクトの規模にもよりますが、1名が複数プロジェクトを兼任しているケースもあるのが現状です。実際には2〜3プロジェクトに対してインフラエンジニア2名が担当するといった体制をとっていることが多いですね。
こうした体制も含めて諸々整えている状態なので、今後はまた変わっていくと思います。1プロジェクトにつき1〜2名を主担当としつつ、何かあったときにカバーしあえる体制を整えられればと考えています。
ーー次に、組織全体のリスク管理方針に関するタスクでは、どのようなことをしていますか?
中西:
はい、リスク管理に関するタスクも担っており、これは意見や方針の調整役の側面が強いです。
例えばまず、システムを利用するユーザー側の意見がありますし、SOMPOグループ全体のガバナンスを管轄する部署の意見もあります。そしてもちろん、私たち開発者としての意見もありますよね。それぞれの立場から「こうしたい」「こうあるべきだ」という意見が上がってきて、それぞれにメリット/デメリットやリスクがあり、場合によってはどうしてもコンフリクトが起きてしまうこともあります。
そのような時に、現場で実際に携わっている者としての立場を踏まえつつ、組織としてこのプロジェクトではどのようなリスク管理をしていくべきかを調整しています。
少し大変なこともありますが、様々な観点の意見が聞けるため、「なるほどこういう観点もあるんだな」と気づきが得られて勉強になることも多いですね。
ーーSOMPOのインフラ構成はどのようになっていますか?オンプレシステムの運用なども行うのでしょうか?
藤野:
まず、オンプレの運用は一切ありません。主流はクラウドなのですが、メインがAWSとGCPですね。最近はLLMの関連で、Azureも少し使い始めるようになりましたね。
中西:
システム構成については、以前はサーバレスアーキテクチャやSPA(Single Page Application)の構成をテンプレート化して使い回していた時期もありました。ですが最近ではあまり利用しなくなってきており、「このプロダクトに最適なシステム構成は何だろう?」とプロジェクトごとに検討・相談しながら進めています。
藤野:
あとクラウドの基本構成としては、中西さんが触れたサーバーレスに加えて、コンテナベースの構成も利用します。そこのインフラの構成管理については、Terraformを使ってインフラをコード化するという手法(IaC Infrastructure as Code)を使って管理しています。
ーーインフラ管理では様々なツールを導入すると思いますが、SOMPO標準のツールスタックはあるのでしょうか?例えば、監視ツールはどのようなものを使っていますか?
中西:
これは、特に藤野さんが力を入れてくださっているところですね。
藤野:
AWSやGCPといったシステムのパフォーマンスや、普段エラーが発生していないかを監視するのは、「Datadog」というツールを使って分析しています。
フロントエンドに関しては、別のツールを導入しています。ユーザーがアクセスした時にどういうエラーが発生しているのか等、よりユーザーに近いところの監視では、「Sentry」というツールを使っています。
なので、コスト最適かつ適切な場所に適切なツールを配置するために、現在は2つの監視ツールを使っていますね。あとは継続的にツールによる効果を見直し、ツールの変更や統合も行っています。(例:SentryをDatadog RUMに寄せていく)
中西:
導入したいツールは比較的導入しやすく、使いたいものを使わせてもらえることが多い環境ですよね。
藤野:
そうですね、私も同感です。現在、セキュリティ関連にも力を入れているのですが、プロダクトセキュリティ周辺のツールの導入を進めている段階なんですよ。この辺りの運用も今後考えていきたいなと思っています。
ーー新しい技術を採用する上での判断基準などはありますか?
中西:
「自分達が納得してること」が、採用基準と言えるのではないかと思います。
例えば「どこかの組織が導入していたから」とか「誰かが言ってたから」とか、他者に判断基準を委ねるのではなくて、ちゃんと自分たちで検証して「これを採用したいね」「これが最適だよね」と納得したうえで導入するようにしています。
それこそ「これだよね!」となるまで、藤野さんが毎回とてもしっかり検証してくれていますので、いつもありがたいです(笑)。藤野さんから見た「採用基準」はどうでしょう?
藤野:
一番の判断基準は、ユーザーである開発者が開発に集中できるツールであることですね。そうした目線を心掛けています。ツールによって得られる効果を、開発を邪魔せずに最大限発揮することを意識して選んでいますね。開発効率を阻害せずに、新しい機能を提供するというのを念頭に置いて検証しています。
ーー実際に導入に至るまで、どのくらいの時間がかかりますか?
藤野:
どうですかね、大体2ヶ月くらいでしょうか。検証を始めてから予算を組んで導入まででしたら、そのくらいのスパンだと思います。
中西:
正式導入となると社内調整に少し時間がかかってしまうケースもありますが、「とりあえず、まずはみんなでトライアル版を試してみよう」という場合であれば、次の週から始めることもありますよ。
ーーインフラの自動化について、何か取り組まれてますか?
藤野:
色々な切り口での取り組みがありますよ。
例えばクラウド環境の払い出しに関してはCI/CD(Continuous Integration/Continuous Delivery)とIaCを使ってテンプレートを作っているので、そのテンプレートを少し書き換えるだけで環境を払い出せるようにしています。この辺りはかなり自動化されていると思います。
監視周りのDatadogの導入なども、そのテンプレートの中に組み込まれているので、この辺も自動化されていますね。セキュリティ面はShift-LeftしていくためにSASTやDASTツールをCIに組み込み、自動化を進めています。
中西:
あとは、インフラ周りの追加・変更が発生した時の話ですが、変更のプルリクエストを出した時にそのセキュリティチェックなども自動で走るようにしています。
なので「目で見て頑張らなきゃいけない」という状況を、自動化によって可能な限り減らす取り組みをしていますね。
後編では、SOMPOのインフラポリシーやインシデント対応について、そしてアプリエンジニアやPMOといった一緒に働くメンバーとのコミュニケーションや仕事の進め方についても詳しく教えていただきました!
SOMPOでインフラエンジニアとして働くイメージを、もっと膨らませてみませんか?
後編もどうぞご覧ください!
▶▶▶ NEXT 後編記事はこちら!! ▶▶▶