見出し画像

【Azure】ミーティングマネジメントツールのインフラ環境移行を担当しました

こんにちは。パーソルプロセス&テクノロジー プロダクト統括部 プロダクトインフラグループ の小泉です。

初めてnoteを書くので、簡単に自己紹介すると、
前職はカスタマサポート、社内情シス、PythonのWebアプリ開発など、いろいろと転々としていました。そんな中でインフラエンジニアに興味が湧いて、2023年6月にプロダクトインフラグループに転職してきました。


プロダクトインフラグループとは

プロダクト統括部では、立ち上げフェーズの新規プロダクト事業であるTIMO(ミーティングマネジメントツール)、AutoMeta(資料作成・整理のためのファイル管理ツール)であったり、拡大フェーズのMITERAS(仕事可視化/勤怠管理システム)、HITO Link(採用管理システム)等の自社プロダクトがあります。

プロダクトインフラグループでは、複数の自社プロダクトのインフラを担当しています。設計構築から保守運用まで、インフラに関わる業務を幅広く担当します。
今回は、インフラエンジニアとしてはまだまだ経験が浅い自分が、最初に関わらせてもらったTIMOのインフラ環境移行についてお話ししようと思います。

TIMOについては、開発エンジニアの方が書いたChatGPTについての記事もあります。こちらも良ければご覧ください!

インフラ移行

私が入社したちょうどそのころ、システムのパフォーマンスが課題でインフラを刷新したいという要望が上がっていました。
そんな中、新しいインフラ環境を作る担当者がまだ決まっておらず、タイミングよく入社した私に話が回ってきました。
今回、設計は既に決まっていて、構築を私が担当することになりました。(もしプロジェクトの立ち上げ期に参加していれば、要件定義や設計に関わる可能性もあります)。

インフラ環境はAzureクラウドを利用しており、主な構成はこんな感じでした。

新環境は、同じくAzureでこんな構成にすることになりました。

特に大きく変わったのは、アプリケーションを仮想マシンではなく、AppServiceというAzureサービスで動かすよう変更した点です。
AppServiceはマネージドサービスで、管理者がOS管理することなく様々な言語のWeb アプリケーションをホスト(デプロイ)できます。 また、オートスケールに対応していて、負荷が高くなってきたら、自動でインスタンスを増やして負荷分散をすることができます。

オートスケールの検証

今回、パフォーマンスに問題が発生したときの対策として、オートスケール機能を利用しました。
オートスケールは、CPUやメモリ使用率などを見て、一定の負荷以上になった場合や、特定の時間帯を指定して自動でスケールアウト・スケールインしてくれる機能です。

具体的には、アプリ開発メンバーに協力してもらい、負荷テストを実施してオートスケールの挙動をチェックしたり、負荷に対してどれくらいの規模までスペックを拡張(スケールアウト)するかを検討したりしました。

いつオートスケールを発動させるか?というのを決めるには、過去のデータであったり、負荷テストの結果だったりを踏まえて検討することになります。
スケールアウトが発動した後、すぐにスケールインしてしまうと負荷が十分に低くなる前にスペックダウンしてしまう懸念があるので、十分に負荷が低くなるのはどのくらいか?を検討する必要があります。
他にも、インフラ側としては予算も検討対象の一部なので、サービスの価格プランを把握したうえで検討する必要があり、考えることがたくさんあって難しさも感じました。

最後に

クラウドのインフラ構築は初めてで、クラウド特有の用語やサービスについて、一体どのような機能を持っているのか理解するのに戸惑うこともありました。しかし、少しずつ理解を深めるうちに、膨大なドキュメントからいろいろな機能を見つけ出し、「これが欲しい機能なのかな?」と試してみたくなる面白さを感じました。

<一緒に働いていただける方(中途/新卒) 募集中です!>

就職/転職活動中や、まだ情報収集中の方、少しでも興味を持っていただけた方は、以下のアドレスに「note見た!」とご連絡いただけると幸いです💡

プロダクト統括部/採用担当アドレス:pdo_js@persol-pt.co.jp