オンプレミスから Azureへ クラウド初心者の ブレークスルー体験 第1回 JAZUG for Women 2023年12月15日 @Hoclyn08
自己紹介 コンテンツワークス株式会社 オンデマンドパブリッシングサービスの開発・運用 ほくりん @Hoclyn08 ○ ○ ○ プラットフォームの構築 Webバックエンドの開発・運用 バックオフィス系システムの開発・運用 TECHPLAY女子部もくもく&雑談会の運営やってます ○ 毎月最終月曜日の 19:30から 推しAzureリソース Application Insights
移行したシステムの特徴 ● サービスの特徴 ○ ○ ○ ○ フォトブック編集作成サービス (BtoC) 曜日・季節変動がある 作品公開機能がある(約 40万点) フォトブック作成 APIサービス ○ ユーザー応答性能が重要 ○ 波のあるWebトラフィック ○ 大量のスタティックコンテンツ
移行したシステムの特徴 ● 技術スタック ○ IIS ○ SQLServer ○ Active Directory ○ ほぼWindowsServer ○ .NET Framework
オンプレの課題 ● 構造的な問題 ○ ○ ● 商機にリソースをスケールできない 作品公開機能へのアクセスリクエスト多く、サーバーリソースを圧迫する オンプレ・インフラ担当の間接業務の多さ ○ ○ ○ ○ ○ ○ 事業計画からのサーバー見積 数年に一度のサーバー保守期限切れ対応 OSやSQLServerのバージョンアップ 更新プログラムの適用 監視とオンコールとエスカレーションの仕組み化 上記結果としての担当属人化 503
移行プロジェクト最大の課題 担当がクラウド初心者 ● ● ● 多数あるリソースの何を使っていいのかわか らない 公式ドキュメントが理解できない 何が正解がわからない
オンプレ構成
初期移行 イメージ
迷える子羊たちよ Azure Light-up をうけるのです...
クラウド界のア⭕ンジャーズ
Azure Light-up ハッカソンでの劇的な体験 「Azureに持っていくならPaaS。今のサービスを 3日でPaaS化してみましょう」 できた
Light-up後の移行イメージ ● ● ● ● FrontDoorでWebアプリ ケーション本体と、作品画 像などの静的コンテンツ (Blob)、JSアプリケーション (StaticWebApp)のルーティ ングパスを分離 SQLSeverからASPStateで 実現していたセッションサー バーをRedisに移行 SQLServerからAPIリクエス トログ記録用DBを CosmosDBに移行 FileShareをほぼ廃止して Blobへ移行
チャレンジできたことの一例 ● GitHubActionsを駆使しデプロイ頻度をアップ ● リソースのterraform化
やってよかったIaC(Infra As Code) ● 移行の目処がついた時点で、検証環境のリソースをterraform化した ● Azure Export for Terraform (aztfexport,旧aztfy)コマンドに助けられた ● 特に--generate-mapping-fileオプションが便利 ● 本運用環境の構築がとてもスムーズにできた
こまったときのbeing chat being chatのおかげで ● ● 公式ドキュメントが(わりと)読めるようになった PowerShellスクリプトはまずbing chatに作ってもらえ
わたしたちのブレークスルー体験とは ● Azure Light-upを経験して得たエンジニアとしてのワクワク感 ● 高品質&安心の技術支援の場があることでできた期待以上のチャレンジ ● 小さい変化を継続していくことを習慣化 ● ひとりで悩む時間を減らすいろいろなメソッドを考案