Microsoft Azureで開発をする際に適したサービスと関連サービスについて紹介

はじめに

「マイクロソフト アジュール」という言葉は聞いたことがあっても、これまでクラウドサービスに触れる機会がなかった方は、具体的にどのようなサービスであるかがわからない方もいるかもしれません。

この記事では、Microsoft Azure(マイクロソフト アジュール)について全く知識がないという方へ向けて2023年時点までのクラウドサービスや業界の動向を紹介したうえで、マイクロソフト アジュールの概要や代表的なサービスについて紹介していきます。今後自社で利用するクラウドサービスを選定中という方、クラウドサービス全般について学習しているという方はぜひご覧ください。

クラウドサービスや業界の動向について

近年はテレビCM等をはじめとして様々なメディアで見かける「クラウド」という言葉ですが、世の中で一般的になったのは2000年代に入って数年した頃からでした。クラウドとは、基本的に物理的な機器を持たなくてもインターネットを経由して利用できるサービスの総称ですが、その頃はあまり馴染みがなく実態がつかめない部分が多かったため、ソフトウェア等の物として存在するサービスに固執するということも少なくありませんでした。またソフトウェア商品に関しては既存のソフトウェア型とクラウド型両方でサービスをリリースし、クラウド型の方にはクラウドであることを明確にするため、サービス名称に例えば「for Cloud」と付けるような傾向も見られました。その後、Adobe等のクリエイティブ系のソフトウェアや企業で利用するグループウェアを含めた多くのサービスでクラウド化が進み、「オンラインストレージサービス」として大容量のストレージをクラウド上で利用できるサービスも一般的となりました。DropboxやMicrosoft OneDrive、Googleドライブ、Amazon Driveといった無料・有料のオンラインストレージを一度でも利用したことがある人は少なくないでしょう。また、VM(仮想マシン)やネットワーク、DNSといったインフラ環境を全てクラウド上で構築できる「クラウドコンピューティングサービス」が大企業から続々とリリースされました。代表的なもので言うと、今回取り上げる2010年提供開始のMicrosoft Azure(マイクロソフト アジュール)、2006年提供開始のAmazonのAWS(Amazon Web Services)、2008年提供開始のGoogleのGCP(Google Cloud Platform)が挙げられ、これら3つだけで全クラウドサービスにおけるシェア率の60%以上を占める状況です。他にも中国のAlibabaやNTT、富士通、ソフトバンク等の企業が上記3サービスに追随するという様相が何年も続いています。Amazon、Microsoft、Googleの3つの関係性としては、長らくAmazonのAWSがこの3つの中の半分程のシェア率を占める独走状態であったものの、近年マイクロソフト アジュールが追い上げを見せており成長率は著しい状況です。これらクラウドサービスの推移はSynergy ResearchやCanalysといった調査会社の四半期ごとの調査報告を見ると明らかです。

将来性に関しては、2025年までにほとんどの企業がクラウドファーストの考え方を採用し、今から数年後の2027年にはクラウド市場が現在の2倍以上、かつ従来型ITを上回る規模へ成長するという予測がされています。また、今でこそオンプレミスからの移行、効率化といったマイグレーションがメインの動きとなっているものの、今後はデジタル化されたデータを最大限ビジネスに活かすという「DX/データ駆動型ビジネス」を目的としたクラウドサービスの利用がメインになってくるという予測もあります。

この中には全てのシステムのクラウド化だけではなく、オンプレミスや複数のクラウドサービスを連携したハイブリッドクラウドでの運用も含まれており、それぞれのメリットを十分に生かしたうえで、さらにクラウドによってこれまでより導入のハードルが低くなったAI(人工知能)分野の開発も今まで以上に進んでいくことでしょう。

2030年のゴールに向けた「SDGs(Sustainable Development Goals)」に含まれるサステナビリティ(持続可能性)においてもクラウドへの移行で実現できることは少なくないと言えます。物理的な機器を増やすのではなく仮想マシンを利用することで資源が削減できるのはもちろんのこと、サーバーレスやコンテナサービスを利用することで、さらにエネルギー消費率を下げることが可能となります。政府においてもこのIT機器の省電力化や地球環境に配慮したIT製品やIT基盤の開発、運用管理を「グリーン・クラウドコンピューティング」と命名して推進している状況です。以上のように、現在は大企業であればある程IT技術の進歩やDXだけに着目して推し進めるのではなく、エコにも配慮したシステム開発・運用も考慮しながら発展していかなければならない時代に突入していると見ることができます。

主なサービス形態について

クラウドコンピューティングには主にPaaS(Platform as a Service)、IaaS(Infrastructure as a Service)、SaaS(Software as a Service)という3つのサービス形態があり、マイクロソフト アジュールやAWS、GCPではその中のPaaS、IaaSに該当するサービスが提供されています。

PaaSは、アプリケーションの開発とデプロイメントに必要なプラットフォームが提供されるサービス形態であるため、エンジニアはアプリケーションの構築に専念することができ、サーバーやネットワークといったインフラの構築・運用管理はクラウドサービスのベンダー側に任せることができます。Azure内でPaaSに該当するサービスとしては「App Service」「SQL Database」「Functions」等があります。

IaaSは、仮想マシンやネットワーク、ストレージなどの基本的なインフラシステム一式を提供するサービス形態で、エンジニアは仮想マシン上に自社システム等を構築して任意のOSやアプリケーションを管理することとなります。

オンプレミスでのシステム運用時に必要となる機器の調達や場所の確保、サーバーやネットワークの設定・構築といった作業が不要となり、WebブラウザからアクセスできるAzureポータル上で仮想マシンを作成し、自由にOSをやアプリケーションをインストール(ベンダー側で用意された範囲内で)するだけで運用が可能となります。Azure内でIaaSに該当するサービスとしては「Virtual Machines」が代表的です。インフラ環境そのものを運用するため、システム構築・運用に関する幅広い知識が要求されるもののPaaSやSaaSと比べるとカスタマイズできる範囲が広く、自社の要件を限りなく満たした自由な開発を行いたい場合は適していると言えます。

SaaSは、クラウドベースの完成されたアプリケーションやソフトウェアを提供するモデルであるため、ユーザーは申し込みすると同時にサービスを利用することが可能です。普段の運用監視やメンテナンスはベンダー側が行うため、ユーザーは自身で利用するデータにおいてのみ責任を持てばよい状況となる他、自分でバージョンアップ作業を行わずとも常に最新の状態でサービスを利用できるというメリットがあります。

クラウド上のサービスなのでソフトウェアのようにディスクからのインストール作業も不要なので、端末のディスク残量を気にする必要がなく、インターネット環境さえ整っていれば様々な場所からのアクセスが可能です。AzureでSaaSに該当するサービスの提供はないものの、MicrosoftにおいてはExcelやWord、PowerPoint、Outlook、SharePointといった従来ソフトウェアと提供されていた様々な製品をまとめてクラウド上で利用できるMicrosoft365(以前のOffice365)が提供されています。

他にもGoogleにおけるGoogle Workspace(以前のG Suite)や、AmazonのWorkDocs、Chime、Connect、またkintone、サイボウズ等のグループウェア、Chatwork、Slack等のチャットサービスがSaaSに該当します。

Microsoft Azure(マイクロソフト アジュール)以外のクラウドサービスは?

前述したようにクラウドサービスのシェア率の大半を占めるAzure以外のサービスとしてはAWSやGCPがあります。それぞれの特徴を簡単に説明します。

AWSはサービス開始が3社の中では一番早い2006年であり、2023年時点ではシェア率のトップを占めているクラウドコンピューティングで、200以上の豊富なサービスを提供しています。クラウドの大きなメリットとなる柔軟なスケーリング、コスト削減に適した従量課金等の料金体系はもちろん、Amazonの保有するグローバルなインフラストラクチャと、蓄積されたうえで常時更新されていく知識・技術・ノウハウを自社システムに採用することが可能です。

GCPは現在、Google Workspaceなどを含めた「Google Cloud」という総合的なサービス名称に統合されています。Googleの保有する大規模なデータセンターや最新技術・知識が生かされており、かつ高可用性と耐障害性を実現したアプリケーションやシステムの開発が可能です。またSDGsに欠かせないエネルギー効率や環境への配慮といったエコフレンドリーな環境が提供されています。

中でもGCPは、機械学習モデルのトレーニングが可能な「TensorFlow」、高度なAI機能を備えた「Vision AI」「Natural Language AI」といったAIや機械学習関連のサービスが豊富という点で有名です。

Microsoft Azure(マイクロソフト アジュール)の概要

Microsoft Azureは2010年にMicorsoftよりリリースされたクラウドサービスで、仮想マシン(VM)やストレージ、データベース、ネットワークといったインフラにおける基本となるサービスはもちろん、AI・機械学習、データ分析に特化したサービスやコンテナサービス、サーバーレスなコード関数実行サービス等も提供されています。2023年時点で200以上のIaaSあるいはPaaSに該当するサービスがあり、Azureのサービスだけでも様々な分野の開発が可能な状態となっています。

Microsoftのサービスということもあり、同社のその他サービスとの相性が良いという点が特徴的です。Windowsサーバーで構築していたオンプレミス環境の移行先として適しているのはもちろん、ハイブリットクラウド・マルチクラウドとしてオンプレミスやその他のクラウドサービスと連携しての運用も可能となっています。例えばオンプレミスとクラウド上のストレージを同期したり、オンプレミスに蓄積しているデータをクラウドのサービスで分析したりということも可能です。

またMicrosoftの誇る強力なバックボーンネットワークを利用できるという点もメリットの一つです。クラウドサービスにおいてネットワークは重要な要素となりますが、Azureは140か国に60以上のリージョンと呼ばれるデータセンターを保有しています。このリージョン間の通信がMicrosoftの強力なネットワーク内で行われることとなります。

コスト削減ができる仕組みが充実しているという点もMicrosoft Azureならではの特徴なので以下に詳しく紹介します。

料金体系と豊富な割引サービス

マイクロソフト アジュールの料金は基本的に従量課金制となっています。仮想マシンやデータベース、ストレージ等におけるリソースの利用時間やデータ転送量に応じて料金が発生しますが、課金対象となるものはサービスによって異なりそれぞれ細かく設定されています。そのため実際に利用する際は、あらかじめAzureの公式サイト内の各サービスページで詳細を確認しておくことをおすすめします。

またクラウドサービス自体がコスト削減を実現できるソリューションの一つとなっていますが、Microsoft Azureでは「Azure ハイブリッド特典」や「予約割引(Azure Reserved Virtual Machine Instances)」といった仕組みを設けています。Azure ハイブリッド特典は、オンプレミスからAzureに移行するに当たって一部サービスのライセンス再購入が不要となるサービスです。具体的な対象はソフトウェア アシュアランス(SA)付きのライセンス、またはサブスクリプションのあるWindows ServerやSQL Serverのライセンスとなっており、オンプレミスで利用していたライセンスをそのまま適用することが可能となります。

予約割引は、前払いすることで最大72%程度の割引が受けられる料金システムです。ほとんどのクラウドサービスは従量課金制となっており、これは稼働状況によってはコスト削減を目標とするために重要な要素となります。しかし大量なリソース使用が予測される場合や長期運用する場合においては、却ってオンプレミスの時より多くのコストが発生する状態にもなりかねません。固定費とならないため予算が立てづらいという課題が発生することもあるでしょう。

予約割引は1年または3年分のサービス料金を前払いすることで、使用量を気にすることなく運用することが可能となります。なお支払いは前払いだけではなく月払いとすることも可能で、月払いにしても料金が割増になることはありません。

対象となるサービスは仮想マシンの「Azure Virtual Machines」、Webシステムに特化したプラットフォームの「App Services」、データベースシステムの「SQL Database」「Azure Cosmos DB」「Azure Database」、オブジェクトストレージの「Azure Blob Storage」等となります。対象となる場合は、Azureの公式サイト内にある各サービスの紹介ページやAzureポータル内に「予約」と表示されているので、申し込み時はぜひ確認してみてください。

予約割引の仕組みは独特で、レンタル型のサーバーのように一つのサーバー契約を年払いにするというのとは異なり、「予約」の権利を購入するという状態になります。そのため取得した権利をサービスへ適用する必要がありますが、この点に関しては購入時に指定した属性に対して自動適用される仕組みとなっています。属性とは対象となるサービスや、予約のスコープ、リージョン、サイズのことです。もし指定した属性に一致するサービスが存在しない場合はせっかく権利を購入したとしてもどのサービスにも適用できない状態となるため、Azureで予約割引を利用したにもかかわらず割高になったという状況に陥らないためにも注意が必要な点となります。

無料利用枠

Azureは無料アカウントを作成するだけで30日間利用可能な200ドルのクレジットが付与され、Azureの様々なサービスにそのクレジット分を使うことができます。もし200ドルを超過した場合はその分の支払いが必要です。

さらに人気のあるサービスにおいては、上記クレジットとは別に12ヶ月間無料で利用可能である他、55以上のサービスが常時無料で利用できます。無料となる対象サービスはAzureの公式サイトで詳しく紹介されていますが、今回取り上げているストレージ関連のサービスで言うと例えばオブジェクトストレージの「Azure Blob Storage」や、アクセス頻度の少ないデータを保存する「Archive Storage」が12ヶ月無料となっています。代表的なサービスである仮想マシンの「Virtual Machines(Linux/Windows)」やデータベースシステムの「SQL Database」等も12 か月間、プライベートネットワークを構築できる「Virtual Network」やコードエディタの「Visual Studio Code」等においては常時無料となっています。

統合管理画面「Azure Portal」について

マイクロソフト アジュールをGUI(Graphical User Interface)で直感的かつ簡単に管理・操作できる統合管理コンソールです。ユーザーはインターネット接続さえできればブラウザを介してどこからでもアクセスしてAzureのリソースやサービスを一元管理できます

コマンド操作が必要となると、たとえマニュアルが整備されていたとしてもエンジニアとして日が浅い人には教育しなければいけない状況が発生しますが、GUIでの操作ができるためマニュアルさえあればエンジニア外の人へ操作を指示したとしても誤りが発生することも少ないと言えるでしょう。ウィジェットの追加やお気に入りリソースのピン留めによって操作しやすいようにカスタマイズすることも可能です。

Microsoft Azure(マイクロソフト アジュール)の代表的なサービス

ここではマイクロソフト アジュールで特に利用されることの多い代表的なサービスを5つに絞って紹介します。マイクロソフト アジュールには豊富なサービスがあり、中には実際にクラウドサービスでシステムを運用しないとその用途についてイメージしづらいものもありますが、ここではオンプレミスでも運用しているような基本的なサービス4つと、クラウドならではのサービス1つを取りあげます。

Azure Virtual Machines

Azure内で仮想的なコンピュータリソースを提供するサービスであり、幅広い分野のシステム開発で利用されます。ユーザーはあらかじめ用意された様々なサイズや構成の仮想マシン(VM)が選択でき、アプリケーションやワークロードに最適なリソースを割り当てることが可能です。これにより、パフォーマンスを最適化したうえでコスト削減も実現できます。

仮想マシンの作成と管理は統合管理画面のAzureポータル上で簡単に行える他、Azure PowerShell、Azure CLIといったツールを使ってコマンド操作することも可能です。またOSとしてはMicrosoftの製品であるWindows Serverはもちろん、Ubuntu、Red Hat Enterprise LinuxといったLinuxのディストリビューションの利用も可能であるため、プロジェクトや企業の方針、エンジニアの趣向等の様々なニーズに対応が可能です。

さらに可用性セットや仮想マシンスケールセットを活用することで、高い可用性と耐久性を確保し、アプリケーションのダウンタイムを最小限に抑えることも可能です。可用性セットとは、関連する仮想マシンを物理的に異なるハードウェアに配置することでアプリケーションの可用性と耐久性を向上させるための機能です。仮想マシンスケールセットは、同一のアプリケーションの複数のインスタンスを動的に展開することでトラフィックの増減に柔軟に対応し、クラウドサービスの大きな特徴であるスケーラビリティを実現できる仕組みです。

これらに加えて仮想ネットワークを使用することでシステムのセキュリティを強化することもできます。仮想ネットワークではネットワークセキュリティグループを使用してトラフィックを制御し、ファイアウォールを設定して不正アクセスからデータを保護することができます。

Azure Storage

Azure Storageという名称は、Azureにおけるクラウドベースのデータストレージソリューションの総称で、その中ではBlob、ファイル、テーブル、キューといった様々な種類のストレージが提供されています。

Blobは大容量の非構造化データの保存に適しているオブジェクトストレージで、画像、動画、ドキュメントなどを効率的に管理できます。ファイルストレージはWindows等のOSで多くの人が触れたことのあるシンプルで人間が管理しやすいストレージサービスであり、共有フォルダのように利用することができます。また、テーブルストレージは大量の構造化データをスケーラブルに格納できるタイプで、キューは非同期メッセージングを可能にするタイプです。なおクラウドのストレージサービスとしてはオブジェクトストレージ、ファイルストレージの他にブロックストレージも一般的ですが、Azureの中でブロックストレージに該当するサービスは「Azure Disk Storage」となっています。

高い可用性と耐久性があり、冗長なデータコピーと自動フェイルオーバーが可能なAzure Storageは、グローバルなデータセンターでの分散ストレージとCDN(Contents Delivery Network)統合による高速なデータ配信も可能となっています。セキュリティ関連の機能としてはデータの暗号化やアクセス制御といった機能がある他、Azure ADとの統合により、アイデンティティベースのアクセス管理もできます。さらに開発の部分で言うと、REST APIやクライアントライブラリを使用したデータへのアクセスも可能です。

Azure SQL Database

マネージドのリレーショナルデータベースサービスであり、高いパフォーマンスや可用性、セキュリティを保ったデータベース運用を実現できます。オンプレミスの「SQL Server」との互換性を持っているため、Azure SQL Databaseへ移行する場合は他のデータベースサービスに比べて簡単に行えるというメリットがあります。

高い可用性と耐久性が特徴で、自動フェイルオーバーや自動バックアップによりアプリケーションのダウンタイムを最小限に抑えることができます。個々のデータベースが独自のリソースを持つ「単一データベース」、複数のデータベースをプールにまとめて共有リソースを効率的に活用する「エラスティックプール」、単一データベースとエラスティック プールの中間に位置する「ハイブリッドプール」といったスケーラビリティオプションにより、需要に合わせたリソースの調整も可能です。

Azure Security Centerと合わせて利用することで、Azure SQL Databaseの監視やデータの暗号化等によるセキュリティ強化も可能となります。Azure Active Directoryと統合してアイデンティティベースのアクセス管理を行うこともできる他、エンジニアはSQL言語に変数や制御文の機能を加えた「T-SQL(Transact-SQL)」を利用したデータベースの操作ができるようになっています。

Azure Active Directory(Azure AD)

オンプレミスにおいてもWindows 2000 Serverから提供されていたActive Directoryですが、マイクロソフト アジュールでも同じようにディレクトリサービスシステムとして提供されています。

具体的にはActive Directoryを利用することでセキュアなユーザー認証とアプリケーションへのアクセス制御が可能となり、オンプレミスのActive Directoryとも連携してハイブリッドな環境を構築しつつ両方のIDを一元管理することもできます。また、シングルサインオン(SSO:Single Sign-On)機能を活用することで一度ログインするだけで多くのアプリケーションにアクセスすることも可能となります。さらにマルチファクタ認証(MFA:Multi-Factor Authentication)機能を使うと、アクセス制御や条件付きアクセスポリシーを使用して複数の認証要素を利用することによるセキュリティの強化もできます。

もう一つセキュリティ面においては、データの暗号化やAzure AD Identity Protectionによる不正アクセス検出が可能であり、Azure AD Privileged Identity Management(PIM)を使うことで各Azureリソースへの特権アクセス権限の付与もできます。

Azure Functions

イベント駆動型のコンピューティングサービスです。イベント駆動型と聞いてピンと来ない方もいるかもしれませんが、簡単に表すとイベントやトリガーに反応して自動的にコードを実行するサービスでサーバーレス(実行のためのサーバーを必要としない)なサービスとなります。トリガーに反応した際にはあらかじめ設定された関数が実行され、必要なリソースが確保される仕組みとなっています。

なおAzure Functionsは、記述した関数をC#、Python、JavaScriptといった異なるプログラミング言語間であっても共通の解釈を行うことができる他、例えばBlobストレージ、HTTPリクエスト、メッセージキューといった様々なイベントを設定することも可能です。セキュリティ面においては、アクセス制御やログ分析といったモニタリングによって関数の安全性とトラブルシューティングが行われるので安心です。また、Azure PortalやAzure DevOpsを利用することで関数の管理やデプロイ、監視も可能となります。

アプリケーションの需要変動に応じた柔軟なスケーリングや、実行したコードにのみ課金されるという仕組みによって無駄なコストを省けるという点はAzure Functionsの大きなメリットと言えます。

まとめ

2000年代途中から普及し出したクラウドサービスは「クラウドファースト」「クラウドネイティブ」等というような言葉に現れているように、いまやシステム開発をする際の環境として個人や企業だけではなく、政府関連のサービスでも積極的に採用される状況となっています。

全てのシステムをクラウドへ移行することはできないという企業ごとの課題はあるものの、マイクロソフト アジュールのようにハイブリッドクラウド、マルチクラウドとしてオンプレミス環境と連携して運用できるサービスであれば、クラウド化へのハードルを下げることもできるでしょう。

現在稼働中のシステムとの相性や組織の方針、将来性によってそれぞれ適したサービスは異なりますが、オンプレミス環境でWindowsやWindows Server、Microsoft365を利用している場合やそれらサービスのライセンスをそのまま使いたいと思っている場合、ハイブリッドクラウド、マルチクラウドでの運用をしたい場合はマイクロソフト アジュールが適していると言えます。ぜひこの記事をきっかけにマイクロソフト アジュールの全体像を把握していただき、選定の際は他のクラウドサービスとじっくり比較してみてはいかがでしょうか。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です