アプリエンジニアからインフラへ〜最初のタスクの振り返り&わからないタスクへの向き合い方〜

はじめに

ウィルゲート開発室のことみん(@kotomin_m)です!

私は今年の3月頃からインフラユニットになりました。 これまではSREメインと兼任としてアプリケーション開発をやってきていました。入社当初からアプリ開発がメインだったので、インフラをやるのは初めてでした。

弊社ではインフラはプロダクトのインフラ基盤全般の運用・保守などを担当、SREはアプリケーションの改善活動を担当とチームが分かれています。

このブログは、インフラエンジニアになって最初にやったタスクを振り返るパートと、わからないタスクに対してどう取り組むと良いか私の経験を伝えるパートの2本立てでお話します。 (※ ブログでは便宜上最初としていますが、本当に最初ではありません)

これから新しい技術的なことに挑戦する人に参考になれば嬉しいです!

半年後のわたしが「成長したな〜」と思うためのブログでもありますが。

タスクについて

最初のタスクは、あるプロダクトの「EC2インスタンスを増やしてスケールアウトする」というものでした。

このプロダクトではTerraformとAnsibleを使っているので、それを利用して新規構築しましょうという感じでスタートしました。

まずは自分で調べて取り組んでみようと始まったので、わからないところが多いのでもちろんChatGPTとかを頼りながら理解して進めていきました。

私が苦労したところ

色々あったのですがせっかくですのでこのブログでは、特に苦労した部分を2つピックアップして書いていきます。

TerraformとAnsibleがわからない・動かない

「Terraformって何?」「Ansibleって何?」聞いたことはあるけど。。。

IaCというインフラ環境をコード管理出来る存在として2つの名前は知っていましたが、実際に触ったことが無かったので、具体的にどんな感じなのかをコードを読みつつ、実行しながら把握していきました。

どのようにコードの変更をしたら、実際の環境がこうなる、というのはまあプログラムと一緒なので最終的には "分かってしまえば分かるじゃん" ってなりましたね。実際の構成を見てみましょうというのと合わせてコードがあると理解しやすいなと感じました。

まあ文字にするとこれだけなのですが、こうなるまでは結構苦労したなと思います。

今回は既存の複製なので特に構成変更はない、はずでした。。 Ansibleの実行でエラーになってうまくミドルウェアのインストールができない、ということが起こりました。

エラーが出るのでメッセージを読んで直しましょうということなんですが、初めてのAnsibleです。まあ一旦エラーメッセージをChatGPTに聞いたりなどします。

ほほう?

ChatGPTに聞きますが、エラーの前にそもそもそ解説される用語がわからないとか、そういうことも多くて大変でした。。これから勉強ですね。

なんだかんだ直し、最終的には無事にインストールが完走するように整備できた結果なので良かったかなと。めでたしめでたし!

AWSコンソールで設定することが結構多い

環境って作って終わりじゃないんですよね。もちろん。

作ったEC2を使えるように設定する必要があります。これもTerraformで管理している場合もありますが、管理していない部分もありました。

管理していないことはAWSコンソールから手動で設定します。

ターゲットグループ、ロードバランサー、CodePipelineの設定などです。

今までもアプリケーション側だったのでまあ知っていなくはないですが、実際に自分で設定したことは無かったので初めてでした。

設定方法をChatGPTに教えてもらいながら、他の人に確認して進めていきました。

なんとか無事に設定出来るところまでやりました。良かった。

こういった「苦労しながら完了したタスク」は成長するために必要ですね。

わからないタスクにどう取り組むか

新しいチームに配属されたとき、新しいプロダクトの開発するとき、「わからないタスク」に取り組む必要があります。というか新しくなくても、仕事をしていて「わからないタスク」をやることはめちゃくちゃ多いですよね。

新しいことをやるときに特にどう取り組むといいのでしょうか?

初めての技術となると「なにがわからないのかわからない」という状態です。特に、前提知識を持っていないことで詰まることが本当に困ります。

こういうとき私はまず何を考えているかというと、「そもそも、このタスクはどういうタスクなのか?」という背景を理解することを考えます。

新しいチームでやっていくときに最初にやるタスクは、わかっている人が選んでくれたタスクです。「なにをやるのか」「どうやるのか」というのは、初めてなので割と詳しく教えてくれますが、「なぜやるのか」というのはサラッと流されがちです。

いまこうなっているから、こういう課題があるので、今回のこの対応でその課題のここの部分を良くしたい。

みたいな全体像を理解することで、自分のタスクへの解像度が上がると思います。これを知っていると実際に取り組み始めたときにやりやすいんじゃないかな〜と思います。

これはまあタスクを始める前に頑張りましょうということなんですが、じゃあ実際取り組むときどうするのって話です。

もちろん、AIチャットに聞きます。私はChatGPTですが、このChatGPTをめちゃくちゃ使い倒します。「めちゃくちゃ知識が豊富な大先輩」なわけなので、質問しまくるわけです。 ChatGPTはデキる先輩ですが、私の実際に触っているプロダクトのことは知りません。なので、そこは情報を丁寧に伝えたうえで、自分が知りたいことを聞くというのが大事そうです。

普通に聞いてしまうと一般的な回答になってしまうので、自分が触っている設定ファイルの中身だったり、ファイル構造などを教えてちゃんと使える回答を引き出すようにするのが良さそうかな~と思ってます。

まあこういった小手先のテクニックは知らなかったら調べたほうがいいですが、もっと重要なことは別だと思います。

"ChatGPTに遠慮しない"という気持ちの方が重要です。

自分専用の使い放題シゴデキ先輩と一緒に仕事をするのです。わからないとか思ってる時間は無駄なので、聞きましょう。今自分に知識が無いものは、無いのです。これから知って理解して使えるようにしていくために、今とにかく知ることしか出来ることはありません。

とにかく、遠慮なく使って仕事を前に進めるのです。

5. まとめと今後

新しいチームで新しい仕事をするというのは、キャリアにとって面白いポイントですよね。いい経験ができていると思います。

今もわからないことは多いけれど、それを楽しむ気持ちで仕事していきたいですね!このブログを読んでいる最近チームが変わったあなた、一緒に頑張っていきましょう!

最後まで読んでくれてありがとうございました!