Blog ブログ

Azure Web Appsのススメ

皆様、こんにちわ。
CCSでプログラマをやっている武藤と申します。

いまやクラウドサービスはネイティブアプリを作るにあたって、欠かせない存在ですよね。
案件に応じて様々なサービスを使い分けておりますが、弊社では特にMicrosoftAzureに力を入れています。

今回はそんなMicrosoftAzureのWeb Appsサービスについて紹介したいと思います。

『Web Apps』とは

Web Appsとは、MicrosoftAzureのWebアプリケーションホスティングサーバ(PaaS)です。

(AWSに詳しい方であれば、EC2インスタンスと同じようなものと考えて頂ければあながち外れではありません。)

世の中のPaaSは基本的に「はやい!」「安い!」は当たり前の世界なので、今回の紹介ではWeb Apps「うまい!」について紹介します。

デプロイメントスロットとスワップ機能

Web Appsには「デプロイメントスロット」という機能があります。

「デプロイメントスロット」を使用することにより、1つのインスタンスに対して複数のデプロイ環境を作成することができます。
そして「スワップ機能」により、作成したデプロイ環境を相互に入れ替えることができるのです。

これを利用することにより、ステージングスロットで動作を確認し、本番スロットにスワップすることで、安全かつ簡単にエスカレーションを行うことが可能になります。

1つのインスタンスに対して複数の作業者が使用する環境を用意することもできるため、非常に便利な機能です。

作成も簡単なので、Web Appsインスタンスを作成する場合は、是非使って欲しい機能です。

バージョン管理ツールとの連携

Web Appsでは様々な種類のバージョン管理ツールと連携し、簡単かつ継続的なインテグレートを行うことができます。

例えば、GitHubと連携をすることにより、Azureポータル上から特定プロジェクトの特定ブランチを簡単にデプロイすることが可能です。

※以下に、デプロイを行うための設定手順を記載した画像を添付します。

様々なトリガーをフックすることも可能で、例えばある「ブランチにコミットされた場合に即時にデプロイを行う」という設定を行うことで、開発環境を常に最新に保つ、といった運用も可能です。

前述の「デプロイメントスロット」を指定してデプロイすることも可能なので、組み合わせると非常に便利です。

VisualStudioとの相性の良さ

Web AppsはLinuxだけではなく、Windowsプラットフォームもサポートしています。

そして同じMicrosoft製品であるVisualStudioとの相性が抜群で、AzureSDKを導入することにより、開発と展開をVisualStudio上から簡単に実行することが可能です。

Web Apps以外のサービスをVisualStudio上から管理することも可能なため、非常に便利です。

余談ではありますが

弊社ではRestAPIサーバを構築する際に、

「Windows」「Web Apps」「C#」(+「VisualStudio」)

という構成にすることが多いです。

Unityを使ってアプリ開発をしている方も多いでしょうし、クライアント開発で習熟したC#をそのままサーバ開発にも活かせるのは大きなメリットであると考えています。

PHPなどと比べると、C#は速さで勝るため、サーバの速度改善、引いてはコストの縮小に繋がります。

というわけで

今回はAzureWeb Appsサービスの「うまい!」を紹介させて頂きました。

Web Appsは多機能で、これ以外にも様々な機能が盛りだくさんなので、フル活用して面白いアプリを作っていきましょう。

また、クラウドクリエイティブスタジオでは絶賛エンジニア募集中です。
興味のある方は、是非、以下のリンクをご覧下さい。
採用情報

今回は以上となります。それでは皆様、快適なWeb Appsライフを!