BLOGAzureブログ

【特集】サーバーレスアーキテクチャを実現する
「Azure Functions」

2016.10.26

クラウドサーバーご検討中の方必見 お役立ち資料一覧

変化への柔軟な対応とスピーディーな
サービス開発

ビジネスのデジタル化が進むなかで、企業は、膨大なデータの活用を通じて顧客が何を望んでいるかを知り、多様化する顧客に最適な顧客体験を提供していくことが求められています。

このようなビジネス環境の変化に柔軟に対応していくため、システム開発の考え方も変化しています。従来主流だった、すべての要件を固め、前工程の成果物の品質を確保しながら順々に開発を進める「ウォーターフォール型」と呼ばれる手法は、要求された仕様通りに開発が進むというメリットがある一方、開発途中で仕様に変更があった場合には柔軟に対応しにくいというデメリットがありました。

そこで「イテレーション」と呼ばれる、短い開発期間単位を反復することで、プロジェクト途中で発生する変化にも柔軟に対応できる「アジャイル型」の開発手法を採用する企業が増えているのです。

またシステムのアーキテクチャにも、変化が生まれています。

すべての機能が1つのプロセスとなっている、いわゆるモノリシックなシステムでは、大規模になればなるほど複雑化して開発に時間がかかったり、障害が起きたときには問題の切り分けや原因の特定が困難になるというデメリットがありました。 そこで提唱され始めたのが、個別に開発された小さなサービスを組み合わせて、大規模な1つのサービスを提供する「マイクロサービス」という考え方です。

これは、用途・目的ごとにコンポーネント化されたサービスをつくり、これらをAPIで連携させることで、変化に強くて柔軟性が高く、サービス障害にも対応しやすいシステムを構築しようというもので、現在、AmazonやLINE、クックパッドなどのコンシューマー向けインターネット企業を中心に採用されています。

アジャイルやマイクロサービスを支える
「サーバーレスアーキテクチャ」

前述したアジャイルやマイクロサービスを支えるインフラとして、AzureをはじめとするPaaS型のクラウドサービスの利用が進んでいますが、最近注目されているのが「サーバーレスアーキテクチャ」という考え方です。

これは、画像処理や注文処理、ファイルの保守といった他のアプリケーションからの通信等のイベントをトリガーとして、その都度処理を実行する「非常駐型」のアプリケーションインフラのことです。

従来、アプリケーション開発者や管理者は、クラウドサービスを利用する際には、事前にサーバーやデータベース、ストレージといったインフラのリソースを最適化したり、アプリケーション開発後には、必要に応じてアプリケーションサーバーをスケールアウトする必要がありました。

こうしたプロビジョニングや運用管理の負荷を軽減しようと、各クラウド事業者では、サーバーレスアーキテクチャを実現するためのアプリケーション(サーバーレスアプリケーション)を提供しています。そして、Azureで提供されるサーバーレスアプリケーションが「Azure Functions」なのです。

Azure Functionsとは何か

Azure Functionsは、データの処理やシステムの統合、IoTデバイスの操作、APIで連携されたマイクロサービスの構築に適したソリューションで、マネージドサービスとして提供されています。

現在、プレビュー版が公開されており、利用者はアプリケーションサーバーを自前で用意することなく、またサーバーのスケーラビリティや運用管理なども気にせずに、容易に、システムを構築できます。

このシステムで可能なこととしては、例えばモバイルのカメラで画像を撮影したとき、カメラ撮影をトリガーにして撮影された画像を「Blob Storage」にアップロードし、アップロード完了を2番目のトリガーにして、画像をモバイルなどのデバイスにあわせたサイズにリサイズするなど、コンテンツ管理システム(CMS)におけるモバイル投稿などへの応用が考えられます。

Azure Functionsで可能になることの一例

Azure Functionsは、JavaScriptやC#、Python、PHPなど、さまざまな言語で機能を作成でき、サーバーレスにイベント主導の操作を実行できます。また、トリガーとなるイベントはAzureに限定されません。Azure App Serviceをはじめとする既存のAzureサービスや、サードパーティ、オンプレミスのサービスと統合が可能です。

課金は消費したリソースに対してのみ。コードが実行される時間分だけの料金を支払えば利用できます。

今後、アプリケーション開発のスピード向上や、ビジネス環境の変化に強いシステム開発に対するニーズは高まり、サーバーレスアーキテクチャはますます注目されていくことが考えられます。

システム開発から稼働、運用、修正、機能強化をできるだけ短期間で進めていくために、開発担当者と運用担当者が連携していくDevOpsを取り入れたいと考える企業にとっても、Azure Functionsは重要性を増していくでしょう。

photo:Thinkstock / Getty Images

Azureの導入や運用に関するお悩みは SoftBankグループのSB C&Sにご相談ください

SoftBankグループのSB C&Sは、さまざまな分野のエキスパート企業との協力なパートナーシップによって、多岐にわたるAzure関連ソリューションをご提供しています。

「Azureのサービスを提供している企業が多すぎて、どの企業が自社にベストか分からない」
「Azure導入のメリット・デメリットを知りたい」
「Azureがどういう課題を解決してくれるのか知りたい」
など、Azureに関するお悩みならお気軽にお問い合わせください。
中立的な立場で、貴社に最適なソリューションをご提案いたします。

クラウドサーバーご検討中の方必見
お役立ち資料一覧

クラウドサーバーご検討中の方必見 お役立ち資料一覧
  • クラウドサーバーの導入を検討しているがオンプレミスとどう違うのか
  • AWSとAzureの違いについて知りたい
  • そもそもAzureについて基礎から知りたい
  • 今、話題の「WVD」って何?

そのようなお悩みはありませんか?
Azure相談センターでは、上記のようなお悩みを解決する
ダウンロード資料を豊富にご用意しています。
是非、ご覧ください。

Azureの導入・運用に役立つ資料を
無料でダウンロードしていただけますDOWNLOAD

オンプレミスからクラウドへの移行を検討している方のために、安心・スムーズな移行を実現する方法を解説し、
運用コストの削減に有効な「リザーブドインスタンス」もご紹介するホワイトペーパーです。

Azureのことなら、
SB C&Sにご相談を!

導入から活用まで専門スタッフが回答いたします。
お気軽にお問い合わせください。