AWSコラム

AWSエンジニアのためのブログメディア

PaaSとは?PaaSを利用するメリットとAWSで提供されているPaaS

 

PaaSとは


PaaS(Platform as a Service)とは、アプリケーションなどを構築するためのプラットフォームをクラウド上で提供するサービスです。

アプリケーションを動かすためのハードウェアやOS、ミドルウェアをセットで提供することで、アプリケーションの開発者はインフラストラクチャの管理をする必要がなくなります。

インフラストラクチャの管理は、リソースの調達やメンテナンス、拡張の計算、ミドルウェアのバージョンアップなど、非常にコストがかかるものです。

PaaSはこれらのコストのかかる作業を開発者に意識させることなく、アプリケーション開発をすぐに開始できる状態で提供するサービスです。

PaaSを用いることでアプリケーションの開発や運用に集中することができます。

PaaSを利用するメリット


PaaSをするメリットとして挙げられるのはまず、アプリケーションの開発に集中できるということです。

そのPaaSが対応している開発言語であれば、すぐにアプリケーション開発や検証を始めることができ、時間とリソースコストを節約できます。サーバーの構築に費やす時間が削減できるため、開発者はより良いアプリケーションを作ることが可能です。

また、クラウド上のリソースとの連携が容易である点もメリットといえます。AWSのPaaSであれば、AWS上の他のサービスやリソースと連携が容易であり、さらに通信速度や信頼性も高いものとなります。

AWSにおけるPaaS


AWSは顧客のニーズに合わせたさまざまなIaaS、PaaS、SaaSを総合して提供しています。IaaSはインフラストラクチャ、PaaSはプラットフォーム(アプリケーションを動かすための環境)、SaaSはソフトウェア(具体的なアプリケーション)を提供するサービスです。

AWSでもさまざまなPaaSが提供されています。今回はその中でも代表的なサービスをいくつか紹介していきます。

AWSで提供されているPaaSその1 Lambda


AWSで提供されているPaaSの代表的なものとしてまず、AWS Lambdaが挙げられます。AWS Lambdaはアプリケーションのコードをアップロード(デプロイ)するだけでクラウド上で実行できるサービスです。

AWS Lambdaの特徴

ユーザーはAWSにコードをデプロイするだけで、そのアプリケーションの動作の確認を行うことができます。アプリケーションを動かすためのリソースなどは実行時に必要な分だけ自動的に使用されます。

そのためAWSの利用料金もコードを実行している時間のみにかかる仕組みで、アプリケーションの動作確認を行うのに非常に便利です。また、モバイルアプリケーションなどでサーバ処理が必要なときだけに利用することなども考えられます。

このようにサーバやストレージを意識することなく利用できる環境は、PaaSといえます。

AWS Lambdaの導入事例や料金

導入事例としてはコカ・コーラの自販機と連携するアプリがあります。コストカットのため自販機の決済時のみに瞬時に利用でき、信頼性の高いAWS Lambdaは自販機のアプリと非常に相性が良いサービスといえるでしょう。

コカ・コーラはAWS LambdaとAWS Step Functionsの組み合わせによってCokeon.comのサービスを構築しており、自販機アプリとして必要な信頼性と大幅なコストカットの両方を実現できる良い選択となっています。

AWS Lambdaの利用料金はコードの実行時に使用した分のみとなります。具体的にはLambda関数の呼び出しのリクエスト数、そして処理の時間に対して課金が行われます。

他のサービスと同様にAWS Lambdaにも無料枠があり、一ヶ月あたり100万件のリクエストと40 万GB-秒のコードの実行時間の範囲が無料です。

AWS Lambda利用料金の割引サービス

また、AWS LambdaはCompute Savings Plansの対象となります。Compute Savings PlansはAWSのサービスを一定範囲以上利用する代わりに通常の利用よりも安価に提供するプランです。

Compute Savings Plansを使った場合は最大で17%もの費用削減になります。

さらにProvisioned Concurrencyという機能を有効にした場合は、追加料金がかかります。Provisioned ConcurrencyはLambdaで実行するアプリケーションのパフォーマンスをより詳細にチューニングできる機能です。

この機能もリクエスト数と実行時間に対して課金される仕組みとなっています。

AWSで提供されているPaaSその2 Amazon S3


AWSで提供されているPaaSとして次に挙げられるのはAmazon S3です。Amazon S3はAWSで提供されているオブジェクトストレージサービスです。

オブジェクトストレージもすぐに必要な分だけを利用することができ、サーバの構築や可用性の考慮などが必要ないため、PaaSといえます。

Amazon S3の特徴

Amazon S3はオブジェクトを自動的に複数のリソースにコピーしており、高い可用性が維持されています。また、どこからでも高速にアクセスすることが可能であるため、たくさんのエンドユーザーがいるアプリケーションに最適です。

AWS上の他のサービスとの連携ももちろん容易であるため、AWS Lambdaなどで実行するアプリケーションのデータなどを格納するのに使用されています。

Amazon S3の利用料

Amazon S3の利用料金は、非常に細かく分けられていますが、新規のユーザーは1年間だけ無料枠が設けられています。

Amazon S3の無料枠はユーザー登録後1年間、S3標準ストレージクラスで5GBの容量となっており、20,000GETリクエスト、2,000PUT/COPY/POST/ LISTリクエスト、データ送信15GBまでとなります。

Amazon S3の利用料金詳細(ストレージ)

Amazon S3の一番汎用的なストレージ(S3標準)の利用料金は次の通りになります。利用容量が多くなるとGBあたりの料金は若干低くなります。

S3標準(汎用ストレージ) 料金
50TB/月まで 0.023USD/GB
450TB/月まで 0.022USD/GB
500TB/月 以上 0.021USD/GB

AWSで提供されているPaaSその3 AWS Elastic Beanstalk


AWSで提供されているPaaSとしてAWS Elastic Beanstalkも挙げられます。AWS Elastic Beanstalkはアプリケーションのデプロイを行うことで、そのアプリケーションの動作に必要なリソースを自動的に構築できるサービスです。

実際はAWS上にサーバやネットワークを構築するためIaaSとも言えますが、ユーザーが構築部分について意識する必要がないためPaaSとして分類できます。

あらかじめ実行環境が用意されているAWS Lambdaとの違いですが、AWS Lambdaはアプリケーションの実行時のみにリソースを使用します。

これに対して、AWS Elastic Beanstalkは長期間実行し続けるアプリケーションを構築する場合や、リソースに対するチューニングやデータの取得などが必要な場合などに向いています。

AWS Elastic Beanstalkの料金

AWS Elastic Beanstalkはアプリケーションの動作に必要なリソースを自動的に構築してくれます。AWS Elastic Beanstalk自体には利用料金がかかりませんが、構築、使用されているリソースには課金されますので少し注意が必要となります。

AWS料金計算ツールを使って事前にある程度、見積もりをしておきましょう。

PaaSについてのまとめ


今回はAWSのPaaSについて紹介させてもらいました。PaaSと一言に言っても、実際はリソースの構築を行っていたり、ストレージ機能を提供していたりするのでIaaSやSaaSと被っているものも多数あり、はっきりとは分類することが難しいです。

最近ではPaaSにデータ分析やAIなども組み込まれており、一概にアプケーションをクラウドで実行するためのプラットフォームだけではなくなっています。

クラウドでアプリケーションを開発することによりコストカットだけでなく、より高度なシステムを利用できるようになっています。PaaSをうまく活用することでより一層良いアプリケーションやサービスを作り出すことができるでしょう。


AWS分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)
FEnetからご応募→夢テクノロジー入社でお祝い金最大120万円プレゼント

Search

Popular

reccomended

Categories

Tags