«« TwitterのフィードをJSONに変換するcall_twitterをGitHubで公開しました | むし歯にはとりあえずロキソニン? »»
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?
今すぐは手元の業務には使えないけど触ってみたい!
サーバー会社なのにサーバーがないとはどこの禅問答だ?と思ったのですが、サーバーはもちろんあります。
よくあるクラウドサーバーの使い方ですと、以下の感じで利用開始になるのですが、結論としてサーバーレスだと異なります。
仮想サーバーを契約する。
各仮想サーバー同士を仮想ハードウェア的に接続する。
各仮想サーバーへOSなどをインストールする。
各仮想サーバーの役割に応じて言語やセキュリティソフト・Webサーバー・DBなどをインストールする。
各仮想サーバー同士をOS内でも認識できるように設定する。
各仮想サーバーそれぞれ役割に応じてそれぞれ動作するソフトウェアを組み込む。
このよくあるクラウドサーバーの使い方ですと、「一度仮想サーバーを稼働させたら、仮想サーバーはメンテナンス時を除き一年中休みなく動作する」ことになります。
ということは、アクセスがない時でもずっとサーバーが稼働するので、課金され続けることになります。
一方サーバーレスの世界では、そもそも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はよく使うし、ここはせっかくだからあわせて弄ってみたいな。
■広告:
投稿者 kuze : 2019年2月 9日 22:08
«« TwitterのフィードをJSONに変換するcall_twitterをGitHubで公開しました | むし歯にはとりあえずロキソニン? »»
コメント