Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

Sansanの新卒インフラエンジニアとして今までやってきたこと、気づいた課題、今後やりたいこと

はじめまして、DSOC サービス開発部の福田です。 昨年4月に新卒インフラエンジニアとして入社して、日々インフラ業務に向き合っています。 学生の時は大学の同期とCTFやアプリケーション開発などに緩く参加していました。 大学3年生の時にWeb系の会社でインフラのインターンを体験する機会があり、そこでインフラエンジニアに魅了され今に至ります。

DSOC インフラグループについて

DSOCは「Sansan」と「Eight」のサービスの根幹を担うデータ統括部門で、そのインフラの主な業務を2つに分けて簡単に説明します。

  1. 各サービスの構築・運用
  2. サービスとは直接関わらない基盤の構築・運用

各サービスの構築・運用

DSOCには名刺のデータ化システム(GEES)を始め、いくつかのサービスが存在します。DSOCのインフラグループではこれらのサービスに必要なリソースの構築・運用を横断的に管理しています。

サービスに直接関わらない基盤の構築・運用

サービスには直接は関わらないような基盤、SSOシステムの運用や各インフラ環境のアカウント管理などを行っています。

本題

DSOC インフラグループに新卒として入社して約9ヶ月、たくさんのことを経験することができました。 今回は、振り返りも含めて下記3点について書きたいと思います。

  • 入社から約9ヶ月でやったきたこと
  • 日々の業務の中で感じた課題感
  • 今後やりたい・興味があること

入社して約9ヶ月でやってきたこと

入社して約9ヶ月で大まかに下記のことを行いました。

  1. 新卒研修
  2. 部署配属
  3. Amazon Linux2への移行対応
  4. 新しいプロジェクトでのインフラ構築

新卒研修

入社したのは04/01で、ちょうどコロナの影響で新卒研修の全日程が在宅で行われることになりました。引っ越しがギリギリになってしまったことが原因で椅子や机が揃っておらず、腰が痛い思いをしながら研修を受けた記憶が残っています。

jp.corp-sansan.com

部署配属

部署配属後、DSOC インフラグループの研修としてGEES(名刺のデータ化システム)のネットワークを把握する研修を行いました。具体的な研修内容としては、GEESを構成しているEC2がどこに対して通信を行っているのか把握するという内容です。比較的サービスが大きく、SansanやEightのサービスとも連携しているためネットワークの把握は大変でした。 しかし、ネットワークを把握できると自ずとアーキテクチャの全体像が見えてくるため、ドメイン知識を身に着けるという点においてとてもよかったと感じています。

GEESについては、同じチームの藤田が記事を書いています。 buildersbox.corp-sansan.com

Amazon Linux2への移行対応

4月の下旬からは一部のサーバをAmazon LinuxからAmazon Linux2に対応させる業務を行っていました。Amazon Linuxのサポート期限が2020/12/31までという背景から、GEESで利用している一部のAmazon LinuxをAmazon Linux2へ移行する対応を進めていました。 aws.amazon.com

今回対応するAmazon LinuxサーバはChefを使って設定を行っています。そのため、既存のAmazon Linux用に書かれたChefをAmazon Linux2に対応する作業を1ヶ月ほど行いました。 ChefはRuby構文で設定を書くことができます。入社するまでRubyに触れた経験があまりなく、当初全体のコードを把握することが大変でした。ほかにも、Amazon LinuxとAmazon Linux2でパッケージの名前が変わっていたり、古いパッケージだとAmazon Linux2では提供されていなかったりしており、ドキュメントや記事をみながら解決していました。また、時にはソースからインストールする必要もあり、メンターのフォローでなんとかAmazon Linux2への対応を行いました。

GEESをコンテナに移行することになり、対応完了前に終了することになりましたが、Chefという構成管理ツールの知識やインストールした各パッケージについての知識を得ることができました。

新規事業サービスの裏側のデータ化システムの構築・運用

6月からはAWSをメインで利用する新規事業サービスの裏側のデータ化システムのプロジェクトに参加しています。 このプロジェクトでは主に下記2点に向き合ってきました。

  • AWS ECSを利用したサービス基盤構築
  • サービスの監視設定

AWS ECSを利用したサービス基盤構築

新しく参加しているプロジェクトでは、ECSを利用してサービスの基盤を構築しています。参加当初、AWSに慣れておらずAWS ECSとその他周辺の知識のキャッチアップしながらの構築は大変でした。特に構築したアプリケーションが動作しないことや、エラーで停止した際の問題解決に時間がかかってしまうことが多かった印象を覚えています。理由としてはECSの周辺の知識不足から、調査の段階でIAMポリシーおよびセキュリティグループの設定確認が調査範囲から外れてしまうことでした。現在インフラ観点での調査が必要な際はこの2点に注意して調査を進めるようにしています。

監視設定の改善

システムを運用する段階では、サービス監視の設定に向き合っていました。経験のある先輩社員に監視の設計を行ってもらい、実際の監視設定を担当しました。学生の時にサービスの監視に触れたことが一度もなく、なぜ監視を行うのかあまり理解できていませんでしたが、監視設定を経験することで現在はシステムの正常、異常を確認するために監視を行うという理解をしています。 特にシステムが異常(アラート)になった際にどこに(ex メモリ、CPU、ネットワーク)に問題があって異常になったのか知る必要があります。単に異常であることを知らせることも大切ですが、異常になった際にどこになぜ、異常になったのかわかるように監視を設計することも大切だと考えています。今回サービス監視に関わることで、サービスの正常性や異常性を監視するためにはどのような監視が必要か、学ぶ良い機会となりました。

日々の業務の中で感じた課題感

約9ヶ月の業務の中でインフラグループで利用するリソースの構築・運用や新規事業のプロジェクトに参加することで広く経験を積むことができました。さらに、日々の業務の中で課題だと感じたこともあります。今回は普段の面談や研修などで気づくことができ特に重要だと考えた課題を2つ紹介します。

  • タスクを管理する力
  • 伝えることの難しさ

タスクを管理する力

インフラの業務の中で、複数のタスクを持つことは当たり前です。複数のタスクを持ち始めるようになった当初、うまく管理できず、期限内に終わらないこともありました。結果、相手の作業を止めてしまうことがありました。 自分が持っているタスクの中に類似したタスクがあれば、一緒に進めることで効率の向上を期待できます。一方のタスクで得た知識をもう一方のタスクで活かすことができ、別々のタスクとして時間を開けて行うより効率的です。 タスクの重要度理解に関してヒアリングを行い、どの程度重要なのかを把握します。そこからタスクの優先度を決定してタスクを消化していけるようになってきました。

伝えることの難しさ

今までの業務の中で一人で業務を進めることはほぼ無く同僚や上司と常にコミュニケーションを取りながら業務を進めてきました。コミュニケーションにおいて、「伝える」ということが私にはとても難しく、伝わらないことや相手の時間を必要以上にとってしまうことがありました。原因は、自分の中で考えていることを伝えようとする際に情報を抜いて伝えてしまうことでした。特に問題が起きた際にこの傾向が強かったと考えています。 その課題を解決するために、ある程度のテンプレートを作っておくことを試しました。例えば質問であれば大まかに下記を埋めて質問するようにしました。もちろん必要に応じて付け加えますが、大まかにテンプレートを作っておくことで、必要な情報が抜けることが少なくなり、正しく、早く伝えることができるようになったと考えています。

  1. 質問したいことを短く書く
  2. やりたいことや背景(タスクの詳細等)
  3. やったことや問題が起きている箇所の詳細
  4. 最後にもう一度質問を書く

今後やりたいこと

約9ヶ月業務に向きあい、その中で身に付けたい力や興味が沸いた技術領域も出てきました。上記で述べた課題や、新規事業のプロジェクトに参加して考えるようになった今後やりたいことを紹介します。

  • 日々の業務の中で課題を見つけることができるようになる
  • サービス監視についての技術力を向上させたい

日々の業務の中で課題を見つけることができるようになる

今後は少しずつでも自分で課題を見つけれるようになり、面談やでは得られないような小さな課題を見つけ、より自身の強みを活かせるようになりたいと考えています。自ら課題を見つけることができるようになるために、振り返りのフレームワークを使って振り返りを短いスパンで行うことを試しています。

サービス監視についての技術力を向上させたい

新規事業プロジェクトで監視の設定を行う機会がありました。プロジェクトのインフラ運用の中でサービスを停止させないための対策や、サービス停止の予兆に気づくことができるようにするために、サービスを俯瞰して監視項目を設計する必要があります。それらを満たすためにはどのような監視が必要かを考えることに興味を持つようになりました。監視についての知識、知見をサービスに触れながら技術力を向上させたいと考えています。

おわりに

今回の記事では私がSansanのDSOCで新卒インフラとしてやってきたことや、抱えている課題、今後やりたいことについて書きました。 入社前は大規模なインフラに関わることがなく、不安でしたが先輩社員の方々のおかげで一歩ずつ成長できていると思います。これからSansanのインフラエンジニアとして邁進していきます。


buildersbox.corp-sansan.com

© Sansan, Inc.