サーバレスコンピューティングプラットフォームのNimbellaを買収したDigitalOceanが、DigitalOcean Functionsという新サービスを発表した。Nimbellaのテクノロジをベースに、開発者フレンドリでコスト競争力のあるサーバレスプラットフォームの提供を目指す。
Nimbellaの元CEOで、DigitalOceanでは副社長としてサーバレスを担当するAnshu Agarwal氏の説明によると、"サーバレスコンピューティングへのアクセスは、インフラストラクチャ管理に要する時間を削減し、インパクトのあるアプリケーションを構築したいと願うDigitalOceanユーザからの、最も多い要求のひとつ"である。
DigitalOcean Functionsは、使いやすさ、費用の予測性、サーバベースサービスとのインテグレーション、という3つのメリットによって、競合他社との差別化を図っている。
開発者にとって使いやすいものにするため、DigitalOcean Functionsには開発者用のコンソールが用意されており、DigitalOcean doctl
コマンドラインツール経由で使用することができる。doctl
を使えば、ローカルマシン上で開発した関数をクラウドにデプロイすることも可能だ。自身の開発した関数をすべて一覧表示した上で、例えばsample/hello
をパラメータ指定して実行するには、このように入力する。
doctl serverless functions list
doctl serverless functions invoke sample/hello -p name:sammy -p age:10
doctl
を使えば、watch
コマンドを使ってプロジェクトを直接見た上で、必要な時に再デプロイするようなことも可能だ。機能開発が完了して、運用に向けてデプロイしたいのであれば、DigitalOcean App Platformコントロールパネルを使えばよい。
前述のようにDigitalOcean Functionsは、リクエストや呼び出しをモデルの一部として含まない、シンプルな価格決定モデルを採用している。これにより、コスト予測を比較的簡単に行うことができる。具体的には、90,000GB-秒のフリーティアがあり、それを越える利用には0.0000185ドル/GB-秒の費用が発生する。Hacker Newsのコメンタが指摘したように、これはサーバレスとして最低価格という訳ではない。例えばAWS Lambdaでは、これよりも大容量のフリーティアが提供されており、それ以降のGB-秒の課金も少ないが、リクエスト100万件あたり0.20ドルの支払いが必要だ。従ってDigitalOcean Functionは、既存のDOユーザか、あるいはAWSの複雑さを回避したい小規模プロジェクトにアピールするものと思われる。
Hacker Newsの同じスレッド内では、Nimbella創設者のひとりで、現在はDigitalOceanに籍を置くRodric Rabbah氏が、DigitalOcean FunctionsがApache OpenWhiskをベースに、App Platform、マネージドデータベース、信頼できるソース(trusted sources)、ログ配布(log shipping)、その他DO特有の機能でカスタマイズした"ものであることを明らかにしている。OpenWhiskの関数はベンダ非依存(vendor agnostic)であるため、DO FunctionsでもNetlify、AWS Lambda、IBM、その他の関数を実行できる(その逆も)可能性がある。Rabbah氏はさらに、関数実行のスケジューリングが近くサポートされるということも述べている。
最後にAgarwal氏は、DigitalOcean FunctionsがMySQLやRedis、PostgreSQL、MongoDBといったマネージドデータベースとシームレスに統合可能であることを強調するとともに、Functionsベースのエンドポイントを既存のアプリに組み込んだり、既存アプリのデータベースを更新したりといった、既存のサーバベースのアプリケーションへのFunctionsの統合の可能性についても言及している。