皆さまこんにちは、SB C&Sの八釼です。
アプリケーションを開発・稼働させるプラットフォーム機能を提供するPaaS ( Platform as a Service ) のサービスは、パブリッククラウドを利用しているならば運用コストや開発速度の面からできる限り活用したいものです。
Azureにおいてもこういった多様なサービスが提供されますが、今回はその中でもアプリケーション用のPaaSであるAzure App Serviceについて概要をご紹介します。
Azure App Service ( App Service ) とは?
ユーザーアプリケーションを動かすための基盤であり、用途別に以下のようなサービスが提供されます。つまりこれらのサービスの総称がAzure App Serviceなのです。ただし、これはあくまで広義の分類であり狭義では(基本的には)Web Apps、API Apps、Mobile Appsです。Logic AppsとFunctionsについてはAzureにおけるサーバーレスコンピューティングソリューションという分類ができます。
Web Apps:
Webアプリケーションをホスティング
API Apps:
Web API を作成・公開
Mobile Apps:
モバイルアプリケーションのバックエンドに特化
Logic Apps:
ノーコード/ローコードサービス
Functions:
イベントドリブン型のFaaS ( Function as a Service )
稼働を支える環境
これらのサービス群(にデプロイするアプリケーション)を稼働させるための環境として「App Serviceプラン」という重要な概念が存在します。そしてこれはAzureのリソースとして作成されてデプロイされます。つまりこれは、アプリケーションを実行するための一連のコンピューティングリソースであり、App Serviceの実体なのです。少々イメージしにくいと思いますので、アプリケーションを動かすための仮想マシン(サーバー)と考えていただいても差し支えありません。
App Serviceプランを作成するためにはOSの種類や価格レベルなどを指定する必要があります。詳細については以下の公式ドキュメントをご確認いただければと思いますが、コンピューティングリソースがハイパフォーマンスを発揮できたり、その量が多くなるほど利用料金は高くなります。また上位のプランほどサポートされる機能も増えますので、要件に応じて適切なものをご選択ください。
- 公式ドキュメント | Azure App Service プランの概要
ちなみに、Web Apps、API Apps、Mobile Appsの三つは必ずApp Serviceプランリソースにてアプリケーションが実行されますが、サーバーレスコンピューティングソリューションであるLogic AppsとFunctionsは必ずしもそうではありません。
代表的なサービスWeb Apps
AzureにおいてまたApp Serviceにおいても代表的と言えるサービスが、Web Appsです。Webアプリケーションは現代人にとっては非常に身近なものですし、ざっくり言えば現在運用中のものや今後リリース予定のもののデプロイ先をApp Serviceプランに変えるだけですので、活用するユーザーが非常に多いのです。
デプロイ出来るアプリケーション
以下の三つのアプリケーションのデプロイが可能ですが、大枠としてはWindowsベースの環境かLinuxベースの環境となります。そしてその環境に応じてホストするApp Serviceプラン(仮想マシンインスタンス)のOSが決まります。ほとんどのランタイムはどちらのOSでも実行可能ですが、ASP.NETはWindowsのみRubyはLinuxのみというように、いずれかのOSでしか実行できないものがあるので、その関係でApp Serviceプランが複数必要になる可能性はあります。
その他にも、アプリケーションに必要なランタイムが組み込みイメージでサポートされていない場合などを考慮し、独自のコンテナのデプロイもできます。
- Windows ベース
- Linux ベース
- Docker コンテナ
ちなみに、静的なHTMLファイル(動的なコンテンツが比較的少ないサイト)をホストすることもできますが、基本的にはより最適化されたAzure Static Web Appsというサービスを活用することが推奨となります。
- 公式ドキュメント | Azure Static Web Apps とは
デプロイ方法
大まかに言うと自動でも手動でも可能です。クラウドフォルダ(DropboxかOneDrive)に格納したソースコードを同期してAzure上でビルドしてデプロイという方法も可能ですし、FTPを使って手動でコピーすることやZIPなどのパッケージにしてデプロイすることも可能です。もちろん、リモートリポジトリのホスティングサービス ( GitHub、Bitbucket、Azure Repos ) のリポジトリを活用した継続的デプロイも可能です。というか、むしろぜひ積極的にご活用をいただければと思います。
CI/CDパイプラインとこのようなアプリケーション用のPaaSを組み合わせて使用することで、さらなる開発(リリース)速度や品質の向上そしてコスト削減につながりDevOpsを実現する一助にもなります。
便利なツール「 Kudu 」
App Service 用のデプロイエンジンであり、トラブルシューティングと分析に使用できるツールが存在します。これがKuduであり、このコンソールにはWebブラウザを使ってアクセスします。主にはデプロイのためのエンジンですが、そこでアプリケーション(プログラム)をホストする環境の詳細について確認したり、コマンドラインにより標準的な操作(ディレクトリの変更、ファイルのコピー/名前変更/削除など) を行うことや、ファイルやフォルダをアップロードしたりダウンロードしたりもできます。前述した手動デプロイに関連する例としては、例えば作成したZIPパッケージをKuduコンソール ( Webページ上 ) のエクスプローラー領域にドラッグして簡単にアップロードすることが可能です。
PaaSのサービスについては、OSやミドルウェアなどはマイクロソフト社(クラウドサービスプロバイダー)側で管理されており、基本的にはユーザーが関知する必要はありませんが、やはり環境をブラックボックスにはしたくないものですしユーザー側でトラブルシューティングなどできるのはありがたいことです。
詳細については以下の公式ドキュメントをご確認ください。
- 公式ドキュメント | Kudu サービスの概要
代表的な便利機能
プラン(価格レベル)によっては使用の可否が変わりますが、代表的なものを二つだけ紹介します。なお、プランは後から変更することができますので必要に応じて行ってください。
自動スケール
まずそもそもの話としてApp Serviceプランのインスタンス数も後から変更することができて、1~上限値の間で任意の値を随時手動で設定することができます。
その上で、設定した条件に基づいた自動でのスケーリング(アウト/イン)も可能です。需要(アクセス)に応じて、またはユーザーが定義したスケジュールに基づいて、自動的に増減させることで、コストを最適化した形で可用性を高めることができます。
デプロイスロット
複数のバージョンを同時にホスティングすることができ、新旧入れ替え時のリスクを小さくすることができます。例えば、運用とステージング用のデプロイスロットを作成し、運用スロットに現在バージョンがステージングスロットに新バージョンをデプロイした状態で、ステージングスロットの環境をテストし問題がなければスワップ操作によりダウンタイムなしでこれらのバージョンを入れ替えユーザーに新バージョンを提供できます。つまりBlue-Greenデプロイメントを容易に実現できるのです。
最後に
クラウドネイティブシステムを設計するためにはPaaSのサービスは無視できない存在です。Azureにおいてはさまざまなアプリケーションホスティングサービスがありますし、必ずしもApp Serviceが最適というわけではありません。しかし代表的なサービスの一つではありますのでAzureで動かしたいアプリケーションがApp Serviceの仕様に合うかぜひご検討いただき、合うようであれば積極的な活用をお願いします。
弊社では、こういったPaaSのサービスの活用を考慮しつつユーザー様の状況を踏まえて最適な形でのAzureの導入のご支援を提供しておりますので、ぜひとも法人でのAzure 導入前の相談窓口であるAzure相談センターまでお気軽にお問い合わせください。Azure に精通したスタッフが丁寧にご回答いたします。
- 【 著者紹介 】
八釼 友輔 - Azure エヴァンジェリスト
SB C&S株式会社 ICT事業本部 クラウド・ソフトウェア推進本部 クラウドプラットフォーム推進統括部 マーケティング部 販売推進課
Azureの導入や運用に関するお悩みは SoftBankグループのSB C&Sにご相談ください
SoftBankグループのSB C&Sは、さまざまな分野のエキスパート企業との協力なパートナーシップによって、多岐にわたるAzure関連ソリューションをご提供しています。
「Azureのサービスを提供している企業が多すぎて、どの企業が自社にベストか分からない」
「Azure導入のメリット・デメリットを知りたい」
「Azureがどういう課題を解決してくれるのか知りたい」
など、Azureに関するお悩みならお気軽にお問い合わせください。
中立的な立場で、貴社に最適なソリューションをご提案いたします。
クラウドサーバーご検討中の方必見
お役立ち資料一覧
- クラウドサーバーの導入を検討しているがオンプレミスとどう違うのか
- AWSとAzureの違いについて知りたい
- そもそもAzureについて基礎から知りたい
- 今、話題の「WVD」って何?
そのようなお悩みはありませんか?
Azure相談センターでは、上記のようなお悩みを解決する
ダウンロード資料を豊富にご用意しています。
是非、ご覧ください。
関連情報
Azureの導入・運用に役立つ資料を
無料でダウンロードしていただけますDOWNLOAD
オンプレミスからクラウドへの移行を検討している方のために、安心・スムーズな移行を実現する方法を解説し、
運用コストの削減に有効な「リザーブドインスタンス」もご紹介するホワイトペーパーです。
- Azure 伝道師 五味ちゃんが徹底解説!Microsoft Azure
- Microsoft Azure vs Amazon Web Services 徹底比較!
- Azure OpenAI Serviceの概要と活用例
- Azure OpenAI Serviceの概要と活用例
- Azure伝道師 五味ちゃんが徹底解説! AI革命編~AI活用ガイド~
- Azure伝道師 五味ちゃんが徹底解説! Azure移行編
- 中小企業がデジタルトランスフォーメーションを取り入れるには
- パブリッククラウド導入活用に関する調査結果 ~2022年版~
- プライベートクラウドを Azureで実現!「Azure VMware Solution」とは?
- Azure へのスムーズな移行で社員の生産性を上げる、経営者の選択とは
- 簡単にクラウドセキュリティを実現する 「Azure Security Center」の機能をわかりやすく解説!
- トータルサポートでAzure移行・活用を促進 -基幹システム・SAPクラウド化の課題と解決事例
- ゼロトラストとは?概要から、Azureでできる解決策まで資料で解説
- Azure 導入事例集
- Azure 伝道師 五味ちゃんが徹底解説!AVD(旧:WVD)編
- Azureによるリモートワークの実現 -DaaSならではの柔軟なVDIの構築事例
- Microsoft Azure活用事例 - 株式会社クレオ様
- Azureだからこそ可能になる、快適で安全な仮想デスクトップ環境
- Azure 伝道師 五味ちゃんが徹底解説!Microsoft Azure
- 数あるクラウドから Azureを選択するキーポイントとは
- 「働き方改革」、 Azure VDI + Microsoft 365で実現
- オンプレミスからクラウドへのスムーズな移行とコストダウンを実現する方法
- オンプレミスのIT基盤を Azure IaaSでクラウド化する、 そのメリットとポイント
- 吉田パクえ氏が説く !失敗しないクラウドの使い方!
- クラウド vs オンプレミス 徹底比較!
- Microsoft Azure vs Amazon Web Services 徹底比較!
- Microsoft Azure製品紹介資料
- ダイレクトアクセス for Microsoft Azure ご紹介資料
- DevOpsにはAzure!その理由を徹底解説
Azureのことなら、
SB C&Sにご相談を!
導入から活用まで専門スタッフが回答いたします。
お気軽にお問い合わせください。