LightFile for Dropboxはクラウドネイティブでサーバーレス
内容は完全に技術者向けですが、LightFile for Dropboxがどんな技術を利用しているかをQiitaに書きました。
サーバーレスなDropboxアプリの構築例 "LightFile for Dropbox"
ITシステムの構築手法として耳にするようになった、クラウドネイティブとサーバーレスという用語を紹介します。
クラウドネイティブ
クラウドネイティブとは、クラウド上での利用を前提して設計されたシステムやサービスのことである。主に企業の基幹業務システムに言及する際に用いられる。
クラウド生まれ、クラウド育ち、友達はだいたい従量課金。
LightFile for Dropboxは、AWSが完全に管理するリソースのみを組みあわせて構築されています。ファイルストレージもDropboxです。
サーバーの負荷、ディスク容量、セキュリティなどシステム運用に伴う心配事はAWSとDropboxが引き受けてくれるのでほとんど発生しません。
コストのメリットもあります。もしユーザーがいなければ費用はほとんどかかりません。従来のシステムのように自分でサーバーを持ってしまうと、ユーザーがいてもいなくても一定の費用が発生します。
デメリットは、そのクラウドサービスに深く依存してしまうことです。例えば仕様変更に対応しないと運営に支障が出てしまいますし、値上げされたら短期的には従うほかありません。まさにベンダーロックインと同じです。
ITリソースも規模の経済が働く公共財になりつつあるのは時代の流れです。水道や電気のように自前の設備の方が珍しいケースになっていくと感じています。
サーバーレス
クラウドネイティブにも関連性がありますが、「特定のサーバーがない」という意味です。
ユーザーからのリクエストなど、出番となったタイミングでスタンバイしていた汎用的なサーバーに瞬時にアプリケーションがインストールされ、目的のプログラムが動作します。一昔前には考えられなかった手法です。
いかにも遅そうですが、やはり時間が空くと処理の開始まで待たされることになります。LightFile for Dropboxもトップページの表示が遅いときが多々ありますが、そういう理由です。改善の余地があります。
メリットは、いきなりユーザーが増えても対応できるところです。予備のサーバーがいつでも瞬時に手伝ってくれるからです。
もうひとつは障害復旧が早いことです。あるサーバーに障害が発生しても、すぐに他のコンピュータが代わりになります(アプリケーションの不具合はどうにもならないですが)。
従来の、特定のサーバーに時間をかけてアプリケーションをセットアップする方法と比べるとよくわかります。そのサーバーに障害が発生したらもう代わりがいません。入念なバックアップの準備が必要になります。
そして代わりがいないので、そのサーバーの能力がサービスの性能の限界になります。組織の属人性によく似ています。
応答性の求められる機能はサーバーフル(?)、弾力性の求められる機能はサーバーレスというような使い分けが大切です。
メール無料相談
お聞きになりたいことはありませんか? この記事の筆者 代表取締役 宮永 がまずはメールで疑問やお悩みを伺います! フォームよりお気軽にお寄せください。
フォローしませんか?