サーバーレスなサーバー(特にAWS Lambda)を調べてみた : つねづね思ふこと

«« TwitterのフィードをJSONに変換するcall_twitterをGitHubで公開しました | むし歯にはとりあえずロキソニン? »»

サーバーレスなサーバー(特にAWS Lambda)を調べてみた

2019年2月 9日

このエントリーをはてなブックマークに追加
よくあるIaaSクラウドサーバーではアクセスがない時でもずっと仮想サーバーが稼働するので、課金され続けることになりますが、サーバーレスの世界では、そもそも仮想サーバーの契約がないと理解しました。つまり面倒な仮想サーバーの調整がいらない!らしい。


Original Update by gothopotam https://bit.ly/2SocWUz
Original Update by gothopotam.

最近、業務でAWS(Amazon Web Services)やらAzure(Microsoft)にGCP(Google Cloud Platform)におけるIaaS型クラウドサーバーでの調査をしているのですが。

わーかーらーんー!

いままでさくらのクラウドなどは扱ったことはあるのですが、比べると機能が多すぎ!
しかも価格の計算が通信量とか絡んできて知恵熱が出そう。

わからんなりにも色々とりあえず直近に必要そうな機能はどれかを調べていたところ、ちょっと脱線するけどサーバーレスのシステムが興味深かった。
AWSでいえばAWS Lambda(読み方はらむだで、ギリシャ語のλらしい)、AzureでいえばAzure Functions、GCPならCloud FunctionsやCloud Firestore?
今すぐは手元の業務には使えないけど触ってみたい!

サーバー会社なのにサーバーがないとはどこの禅問答だ?と思ったのですが、サーバーはもちろんあります。
よくあるクラウドサーバーの使い方ですと、以下の感じで利用開始になるのですが、結論としてサーバーレスだと異なります。

  1. 仮想サーバーを契約する。

  2. 各仮想サーバー同士を仮想ハードウェア的に接続する。

  3. 各仮想サーバーへOSなどをインストールする。

  4. 各仮想サーバーの役割に応じて言語やセキュリティソフト・Webサーバー・DBなどをインストールする。

  5. 各仮想サーバー同士をOS内でも認識できるように設定する。

  6. 各仮想サーバーそれぞれ役割に応じてそれぞれ動作するソフトウェアを組み込む。

このよくあるクラウドサーバーの使い方ですと、「一度仮想サーバーを稼働させたら、仮想サーバーはメンテナンス時を除き一年中休みなく動作する」ことになります。
ということは、アクセスがない時でもずっとサーバーが稼働するので、課金され続けることになります。

一方サーバーレスの世界では、そもそもIaaSクラウド会社とは契約するが、仮想サーバーの契約はないと理解しました。

I. サーバーレスを契約する。

II. 連動する各種サービス(DBやオブジェクトストレージなど)も契約する。

III. Webアプリを公開する場合は、静的部分をストレージ系サービスにアップロードする。

IV. スマホアプリやWebアプリから来た情報について各種サービスを通じて値を返すAPIを作ってサーバーレスにアップロード。

V. アプリの接続先をサーバーレスにアップロードしたAPIを指定して流れをつなげます。

みたいな感じで運用開始できるらしい。

つまり面倒なサーバーの調整がいらない!

とりあえず調べたのは世界シェアNo1 AWSのAWS Lambdaなんですが、料金はサーバーの利用時間ではなく、自作APIの利用回数に比例するらしい。
せっかく作ったもののサービスがまだ流行っていない時や、利用時間帯にむらがあるサービス・BtoBとかに代表される最大アクセス量が予想できるアプリの場合だと、もしかしたらよくあるサーバー契約型より大幅にコストダウンできそう。
そこが面白そうに感じました。
一方下手な負荷テストとかアレなシステムを組んでムダにAPIをアクセスしてしまったら大きく課金されて凹みそう。
なので、APIテストは慎重さが求められるのでしょうか?

解説を読むとサーバー調整とか冗長性はプロバイダー(AWSとか)が行うらしいので、そこもかなり楽そうでいいですね。
正直自分はでき上がったサービスに興味はあるもののサーバーメンテナンス・調整はあまり好きでなく。
だからプライベートではあまりサーバーを組まないタイプ(だからこのブログを運営しているサーバーもXSERVER)なので、そんなところも気になります。
今度プライベートで組んでみよう。

ただ気になるのが、AWS Lambdaの場合、使用できる言語が2019年2月現在「Java、Go、PowerShell、Node.js、C#、Python、Ruby」に限られるそうなんですが...。
どれも自分は普段使わねー!
自分がここ最近使う言語は、PHPとJavaScriptなんですよね。
ディープラーニングの記事とかでもPythonはよく使うし、ここはせっかくだからあわせて弄ってみたいな。

■広告:

Amazon Web Services パターン別構築・運用ガイド 改訂第2版 (Informatics&IDEA)
NRIネットコム株式会社 佐々木 拓郎 林 晋一郎 小西 秀和 佐藤 瞬
SBクリエイティブ
売り上げランキング: 11,484

投稿者 kuze : 2019年2月 9日 22:08


■このエントリーに関連した記事

■「実用ソフト&サイト」カテゴリの最新記事

«« TwitterのフィードをJSONに変換するcall_twitterをGitHubで公開しました | むし歯にはとりあえずロキソニン? »»


自己紹介
PHPやVBによるコーディングやシステムエンジニアを仕事にしています。
主にiPhoneアプリの紹介やWeb開発などのPC系の話題と、アニメやゲームなどのサブカルな話題を取り扱っています。

[PR]

instagram

カテゴリ

最近のエントリー

最近掲載した画像
  • 映画『ゴジラ-1.0』レビュー(ネタばれあり)
  • Three-up HC-T2206WHで狭い部屋も快適に
  • 「君たちはどう生きるか」は父親を気にするかで評価が別れそう(ネタバレあり)
  • 画像生成AIソフトでしばらく毎日SNSに画像を上げてみたけどネタ出しについて
  • ホットクックを使えば一人で並行して色々作りやすくなるのでオススメ
  • ホットクックを使えば一人で並行して色々作りやすくなるのでオススメ
  • ホットクックを使えば一人で並行して色々作りやすくなるのでオススメ
  • Python3.4向けにつくったAPIが、Python3.6では動かなくなったので直してみた

RSS
更新情報はRSSをご利用下さい