見出し画像

インフラ担当者としての振る舞い

IVRyアドベントカレンダー 白組 2023年12月23日 担当のエンジニア松崎です。

インフラ担当として2023年4月に入社し、12月で9ヶ月となります。この9ヶ月間、インフラ担当者としてどのように振る舞い、貢献できるように動いてきたのかを振り返ろうと思います。私はこうやっているよ、という例ですが似たような考え・振る舞いをしている方々、悩んでいる方々に記事が届くと嬉しいです。

IVRyアドベントカレンダー、2023年は紅組と白組の2組に分かれてそれぞれのIVRyメンバーが投稿するスタイルを取っています!
他のメンバーのアドベントカレンダーも面白いので、ぜひ読んでください!

IVRyアドベントカレンダー2023年担当 紅組
IVRyアドベントカレンダー2023年担当 白組

それでは、本題に入ります🙏


インフラの理解のために手をつけたこと

  • インフラリソースを理解する

  • 理解を深めた上で改善をする

  • この先を見据える

  • さらなる力をつけるために…

それでは、それぞれを見ていきましょう。*:.。☆..。.(´∀`人)


インフラリソースを把握する

入社直後、インフラリソースの把握を進める必要があります。
幸いIVRyはTerraformによるIaC化を進めておりWHATの部分であるどのような設定がされているのかに関しては把握をある程度進めることができました。

Terraform化に貢献した弊社島筒の記事に苦労が書かれていますので興味がある人はぜひ読んでください。

Terraform HCLを読むことでHOWは理解できますが、WHYであるなぜこのようになっているのかというところは理解は進みません。開発メンバーからヒアリングをし、なぜそのような構造になったか、課題を感じているのか聞き取りを行い理解を深めていきます。

Terraform HCLの管理リポジトリコミット状況。継続的に更新・変更を行えています。

インフラに対する改善作業についてペア作業をお願いして一緒に作業をすることでも理解を深めていきます。 Terraformを本格的に利用したのはIVRyに入社してからが初めてなので、Terraformの操作、ステートの概念についても教えていただきました。

理解を深めた上で改善をする

インフラの現状・過去の遺産や課題について把握した後、現行のインフラリソースに対して改善作業を行います。改善作業の内容は負荷に応じたAWS ECSに対するリソース割り当ての見直しやElastiCache Redisのインスタンスサイズ変更など、既存のインフラリソースに対する改善作業を行うようにしました。

作業を進めるにあたり、既存インフラの改善・改修を進めることでインフラリソースに手を加えることでどのようなサービス影響が出るのか、社内・社外を交えた調整を行う必要性などいろいろなことを学ぶことができます。

改善を進める中で要望をキャッチすることもありました。ステージング環境を複数環境整備し、目的に応じて実際のインフラストラクチャー上にデプロイを行った上で動作検証を行える環境が欲しいという話を聞くことがありました。

実際にステージング環境を増やし、デプロイも環境ごとに行えるように整備し、サービスが環境ごとに独立して動作するような対応も行えるようにしました。マルチステージング環境という名前をつけ開発メンバーに提供したところ2023年12月現在、毎日のようにマルチステージング環境を利用し新しい機能開発に役立ててもらえるようになりました👍

QAEの関さん。マルチステージング環境の感想を書いてくださっています🙏

マルチステージングに関しては、入社半年記事に書いていますので、興味がありましたらぜひお読みください!

インフラの把握やTerraformの使い方がおぼつかない状態だった入社時期に比べてだいぶIVRyの開発に貢献できたかな、と思える瞬間でもありました。

この先を見据える

現状のインフラリソースの維持・拡張については課題やコストの問題はありますが、組織内に経験や実現できているロールモデルができているため開発メンバーや組織全体への新規の説明は必要がない状態です。

しかし、この先もIVRyはさまざまな事業展開・サービス・プロダクト開発を進めていきます。インフラの改善・作り直し・新しいソリューションの比較検討など手を打てる手段は多岐に及ぶため、この先を見据えた目標を定める必要があると感じています。

予測は難しいが、取れる手段と時間は限られています

1年後の予測は正確に行うことは非常に難しいし、ざっくりとしたことしかわかりません。確実なことは自分自身が歳を1年分取るぐらいしかわかりません。世の中の移り変わりも激しいです。AIソリューションをうまく取り込みサービス展開・開発を進めることもあるかもしれません。( ๑´•ω•)

何を学び、何に手をつけ、実際に長く運用することになるサービス・プロダクトはどのような成長曲線、困難を受けるのかは予測が難しいです。

予測が難しい中であっても、サービス・プロダクトの動作保証やセキュリティ対応を進めなければなりません。また、既存のインフラリソースを見直しコスト削減・かけるべきリソースの選定も考える必要があります。

インフラ専任のメンバーが少ない中で手探りで進めているのが現状ですが、変化が激しい・予測が難しいという状況は自分にとって面白いので楽しく進めさせてもらっている現状となっています。

インフラ担当者も固定メンバーが確立し、インフラにフォーカスした朝会を毎日実施、また毎週1時間は作業を消化・相談するための専用の持ち込みの時間を設けるなど日頃の改善を進められるように体制を整え、定量的・定性的に進捗の管理・振り返りが行えるようにしています。

普段行っている振り返り・作業の内容

Design Docを導入し、何を成し遂げたいのか、成し遂げるために具体的に必要な行動・調査・リソースはどのようになるのかをまとめ、開発メンバーにレビューを行い、実装・変更・調整に着手する前に全体的な作業評価を実施してから手をつけるようにもなりました。

IVRy社内で管理しているDesign Doc作成の手引き(一部)

Design DocについてはDesign Docs At Googleを参考にしていただくと良いかと思います。


さらなる力をつけるために

Terraformの新機能に対する把握、GitHubを活用したCI/CD環境整備、インフラリソースのさらなるIaC管理の強化、将来の負荷を見越したインフラ設計、アプリケーション設計の改善など力・知識をつけるべき箇所は多岐に渡りますが、事業への対応・新しいソリューション対応のためにキャッチアップは進めていく必要があります。

Terraformを上げれば、Business Source Licenseへの変更を行なった影響でOpenTofuというOSSなライセンスを持つTerraformフォーク製品が出るなどの影響も出ています。このようなニュースのキャッチアップや新技術への対応を日頃から続けていかなければなりません。

情報のキャッチアップだけではなく、自分たちに何が必要なのか。どのような製品・ソリューションが良い影響を与え、組織にとって受け入れられるものなのかを判断・吟味する能力を上げていかなければなりません。足りないところが多く、課題と感じていますが、やっていかなければなりません。

学びのサイクル。回していかなければなりません。

知識を得る、実践する、振り返りをする、チームとして知見を溜めていく。このサイクルを回し、チーム規模が今後拡大しても楽しく作業を進めつつ進められるようにやっていきます。

゚*。,。*゚*。,。*゚*。,。*゚*。,。*゚*。,。*゚*。,。*゚*。,。*゚*。,。*゚*。,。*゚

Platform Engineeringというワードが2023年初め頃より唱えられるようになりました。Platform Engineeringは、認知負荷を減らすことを目的としたプラットフォーム運用にフォーカスしたエンジニアリングのことを指すのだそうです。どのように運用し、提供をするのかといった概念を学ぶのにPlatform Engineeringという概念を元に広げていく必要があります。

生まれてまもない概念ですが、複雑化が増していくインフラリソースの管理・開発リソースの最適化を進めるにあたり、今後重要になっていく概念ではないかと考えています。

Platform Engineeringに関しては、他社様の記事にて詳しく記載されております。

より強いインフラを構築、開発チームに基盤を提供する、事業展開をサポートするにあたり学びを深めなければなりません。頑張ります。


最後に

ここまで記事を読んでいただいた皆様!IVRyでは全方面でメンバーを募集中です。インフラメンバーも募集中です!

ぜひ、募集要項を見てください!OpenDayという毎月オフィスで実施している立食懇談会もあります!

IVRyの事業に関して、電話とAIに関する記事をIVRy CEO奥西がアドベントカレンダー初日の記事にまとめています。ぜひ読んでください!


この記事が気に入ったらサポートをしてみませんか?