サーバーレスワークロードの保護とトラブルシューティングを支援するThundra

サーバーレスツールスタートアップのThundra(サンドラ)は、米国時間1月22日に、Battery Venturesが主導する400万ドル(約4億4000万円)のシリーズAを発表した。同社は、2018年に2億9500万ドルでAtlassian(アトラシアン)に売却されたOpsGenie(オプスジニー)から、スピンアウトした企業だ。

画像クレジット: Adrienne Bresnahan / Getty Images

ラウンドにはさらに、York IE、Scale X Ventures、そしてOpsGenieの創業者であるベルケイ・モラムスタファオール(Berkay Mollamustafaoglu)氏も参加した。Batteryのバッテリーのニーラジ・アガルワル(Neeraj Agarwal)氏は、契約条項に基づき、同社の取締役会に参加する。

このスタートアップはまた、最近Ken Cheney(ケン・チェイニー)氏をCEOとして雇い、技術創業者のSerkan Ozal(セルカン・オザール)氏がCTOになったことも発表した。

もともとThundraは、OpsGenieの中でサーバーレスプラットフォームの実行を支援していたツールだ。商用ツールとしてThundraは、AWS Lambdaでのサーバーレスワークロードの監視、デバッグ、セキュリティ保護を支援する。チェイニー氏は、これらの3つのタスクを別のツールとして提供するのは簡単だが、それぞれが互いに何らかの形で関連し合っているために、すべてを一体として提供することには意味があると語る。

「すべてを統合して、アプリケーション内で何が起こっているかをエンドツーエンドで表示します。これがThundraの本当にユニークな点なのです。実際に、絶えず変化するアプリケーションの高レベルの分散ビューを提供し、そうしたアプリケーションのすべてのコンポーネント、それらの相互関係、およびそれらのパフォーマンスを示します。また、ローカルサービスのトラブルシューティングを行うだけでなく、ランタイムコードを調べて問題の発生箇所を確認し、迅速に通知することもできます」とチェイニー氏は説明した。

同氏によれば、これにより、開発者は通常は難しいサーバーレスアプリケーションの非常に詳細なビューの取得が可能になり、インフラストラクチャ自身の基本部分に対する心配を減らすことができるという。そもそも開発者がサーバーレスを選ぶ理由が、アプリケーションにより多く集中するためなのだ。

Thundraの提供するサーバーレストレースマップ。スクリーンショット提供:Thundra

Thundraはこれらすべてを、(サーバーが固定されておらずリソースが一時的なために)問題の特定と修正が難しいサーバーレスの世界で行うことができる。これはAWSのLambda(AWSのサーバーレス機構)レベルに、またはライブラリレベルのコンテナに、実行時にエージェントをインストールすることによって行われるとチェイニー氏は語る。

Batteryのニーラジ・アガルワル氏は、OpsGenieに投資したことで、エンジニアリングチームを知ることができ、彼らがその内部ツールをより広く適用可能な製品に移行させることができることに自信を持つことができたと語る。

「これまでOpsGenieを育ててきた、エンジニアリングチームの品質に関係していると考えています。彼らは非常にマイクロサービス指向であり、かつ製品指向なので、製品の反復開発をきわめて迅速に行います。これは社内のツールでしたが、製品化の価値が高いもので、それをより広範な市場に販売できることに対してとても興奮しています」と彼は語っている。

同社は無料版を提供し、その後、使用量、ストレージ、データ保持に基づいて段階的な価格設定を提供する。現在の製品はクラウドサービスだが、近い将来にはオンプレミスバージョンを追加する予定だ。

モニタリング大手のNew RelicがサーバーレスモニタリングのIOpipeを買収

仮想マシンが支配している世界からサーバーレスの世界へ移行すると、モニタリングの性質も変わってくる。New Relicのような伝統的なモニタリングのベンダーもそのことをよく知っていて、米国時間11月1日にサーバーレスのモニタリングを行うシアトルの新進スタートアップであるIOpipeの買収を発表した。もちろん、同社のサーバーレスのモニタリング能力をアップするためだ。買収額などは公表されていない。

New RelicはIOpipeをチームの重要メンバーと呼び、それには少なくともIOpipeの技術と共同創業者のErica Windisch(エリカ・ウィンディッシュ)氏とAdam Johnson(アダム・ジョンソン)氏が含まれる。社員もシアトルからNew Relicのポートランドのオフィスに移る。

買収を発表するブログ記事でNew Relicは「この買収への投資によって我々には、サーバーレスの機能とNew Relicを迅速かつ簡単に統合する能力をただちに得られる。そして顧客はNew Relicの計測方法とUIをそのまま使って、アプリケーションスタック全体の複雑な問題をトラブルシューティングできる」。

このブログ記事によると、IOpipeのチームはLambda LayersのようなAWS Lambdaの機能をNew Relicのプラットホームへ移すことに注力する。そしてその後チームは、サーバーレス機能のモニタリングという今後増大するサポートワークを担当する。New RelicはIOpipeのチームとソリューションを導入したことによって、サーバーレスのモニタリングを効率化できると期待している。

2018年にIOpipeの200万ドルのシードラウンドをリードしたBold Startの投資家であるEliot Durbin(
エリオット・ダービン)氏は、今回の買収は両社にとってウィンウィンだと言う。「Ner Relicは今やサーバーレスに本気だから、マーケットリーダーとしての同社の大きな顧客ベースにIOpipeのプロダクトを導入することは、どちらにとっても魅力的だ」。

IOpipeはAWS Lambdaを使っている企業のサーバーレスオペレーションのモニタリングを支援してきた。サーバーレスはサーバーがないという意味ではなく、AWSのようなクラウドベンダーが完全なオペレーションのためのリソースを適切に提供するため、サーバーなどのリソースの手配や確保をデベロッパー側はやらないという意味だ。たったそれだけのことである。

IOpipe co-founders Erica Windisch and Adam Johnson

写真提供: New Relic

そしてオペレーションが終了したら、リソースはほかへ回される。しかしモニタリングをする側にとっては、そんな短命なリソースは厄介だ。New Relic自身もこの問題に挑戦していて、今年初めにはNew Relic Serverless for AWS Lambdaをリリースした。

TechCrunchのライターであるFrederic Lardinois(フレデリック・ラルディーノア)が、IOpipeの2017年の250万ドルのシードラウンドに関する記事で指摘しているように、ジョンソン氏とウィンディッシュ氏の経歴は立派だ。

IOpipeの共同創業者であるCEOのAdam Johnson(アダム・ジョンソン)氏とCTOのErica Windisch(エリカ・ウィンディッシュ)氏はこの分野のベテランで、以前はDockerやMidokuraにいた。AdamはMidokuraの最初の社員、EricaはDockerのセキュリティチームを作った。両者は最近、Techstarsのニューヨークの育成事業を卒業した。

IOpipeは2015年の創業で、AmazonがLambdaを発表した時期とほぼ一致する。シードラウンドの時点では社員が8名だった。PitchBookのデータによると、現在の社員数は1名と10名の間だ。これまでの調達総額は707万ドル(約7億6500万円)である。

New Relicは2008年の創業で、Crunchbaseによると2014年の上場前までの調達総額は2億1400万ドル(231億5587億円)あまりだ。現在の株価は65.42ドルで前日から1.40ドル上がった。

関連記事
サーバーレス環境で動くアプリのインサイトを提供するIOpipe
New Relic launches platform for developers to build custom apps(New Relicがアプリケーション開発プラットホームをローンチ、未訳)

[原文へ]

(翻訳:iwatani、a.k.a. hiwa

サーバーレスをモニタするEpsagonがAWS Lambdaオンリーを脱して多極化

イスラエルのEpsagonが昨秋ローンチしたときは、サーバーレスのアーキテクチャの中でも特にAWS Lambdaをモニタする意向だった。しかし自分のレパートリーを狭くすることを嫌った同社は米国時間5月7日、もっと多様なマイクロサービス開発方式をモニタしていくと発表した。

CEOで共同ファウンダーのNitzan Shapira氏によると、ローンチしたときはサーバーレスを対象とし、中でもLambdaが最有力のツールと思えた。彼はこう語る。「当時の弊社のプロダクトはLambdaのエコシステムのためにトレーシングやトラブルシューティング、そしてモニタリングを自動化するツールだった。しかしその後、Lambdaに限定されない大きな変化が市場に生じた」。

その変化は、この種のデプロイメントのもっと幅広い視野への移行で、マイクロサービスが関与する一連の現代的なアプリケーションのすべてをカバーするものだ。デベロッパーがそのような現代的で多極的なアプローチに移行すると、単純なエージェントではモニタリングができない。そしてそれでもデベロッパーは、そんなアプリケーションの内部への可視性を必要とする。

Shapira氏によると、そこで同社はこのタイプのモニタリングツールとしては初めて、トレーシングとロギングを一体化したツールをローンチした。彼曰く、「今日では、エンジニアリングとDevOpsがかつてないほど密接に協働している。そこで、マイクロサービスアプリケーションのトレースの自動化をエージェントを使わずに行い、ひとつのプラットホームでトレーシングとロギングを結びつけることが、極めて重要になってきた」。

彼によると、今後の同社の計画は、このようなオープンなトレーシングが複数のツールや複数のフレームワークに対してデフォルトでできるようになることだ。「今はますます、いろんなフレームワークが使われるから、Lambdaだけでなくそれらをすべてサポートすることが必要なんだ」、と彼は言う。

関連記事: Serverless computing could unleash a new startup ecosystem(新しいスタートアップエコシステムを育てるサーバーレスコンピューティング、未訳)

サーバーレスという言葉は、やや誤称だ。サーバーは依然としてあるけど、デベロッパーがそのサーバー上で起動するプログラムを書くのではなくて、クラウドインフラストラクチャのベンダーが、デベロッパーがコードを動かすために必要とするインフラストラクチャリソースを必要なときに、自動的に提供する。

マイクロサービスはこの考え方を利用して、一枚岩的なアプリケーションを構築する代わりに、アプリケーションを一連の小さなサービスに分割し、通常はそれらをコンテナに収めてローンチする。そしてそれらのコンテナをKubernetesのようなツールがオーケストレーションする。

同社は10月にステルスを脱したばかりでまだ新人だが、すでに米国に営業オフィスを置いて4名が常駐している。技術チームはイスラエルにいる。今社員数は、20名に近い。

Shapira氏は顧客数を公表しないが、今のユーザー数は数百社で、有料ユーザーは毎月倍増しているそうだ。

関連記事: サーバーレスのインフラをモニタするEpsagonがステルスを脱して正式ローンチ

[原文へ]

(翻訳:iwatani、a.k.a. hiwa

Blissfullyが全てをサーバーレスで行うと決めた理由

サーバーレスは最近の大きな流行語だが、そうなったのには正当な理由がある。開発者がコ​​ードを書く方法を、完全に変えてしまう可能性があるのだ。その世界では、開発者たちは単に連続するイベントトリガーを書き、後はクラウドベンダーたちに、その仕事を終わらせるために必要な計算リソースの確保の心配を、任せてしまうことができるのだ。このことによって、プログラムが開発される方法は大きく変化するが、このやり方はまだ極めて新しいものであるために、完全にこの方法を採用する会社を見出すのは難しい。

顧客たちがそれぞれの企業内で使うSaaS利用の管理を助けるスタートアップであるBlissfullyは、そうした構築方法を採用すると決心した企業の1つだ。共同創業者でCTOでもあるAaron Whiteは、Blissfullyの初期バージョンを構築する際に、ある組織が利用しているすべてのSaaSプロダクトのリストを提供するためには、計算パワーを一時的に、迅速かつ大量に調達する必要があることに気が付いた。

必要に応じてその爆発的な計算機パワーを提供するためには、沢山のサーバーを予備として確保しておけば良いことはわかったが、そうするためには管理対象となる膨大なオーバヘッドが必要になってしまう。彼はサーバーレスと従来の仮想マシンの長所と短所を見比べて、サーバーレスが実現可能なアプローチとみなし始めた。しかしこの時点では、彼自身のSaaS管理アイデアが実現可能であることを証明しようとしているのは、彼1人しかいなかった。

彼がその過程で学んだことは、Blissfullyのような、必要に応じてスケールアップとダウンが繰り返される瞬発的なアプローチをとる企業に対しては、サーバーレスは多くの利点を提供できるということだった。しかし、それは完璧ではなく、管理や設定、そしてスケーリング能力に関する長所と短所の取扱に関わる課題があり、彼はそれを実践しながら学んで行かなければならなかった。特にこのアプローチを取り始めた初期のころには問題が山積していた。

サーバーレスは合理的だ

Blissfullyは、サーバレスを利用することが大変理に適ったサービスだ。利用していないサーバーに対して、管理をしたり支払いを行ったりする必要はない。また、基礎となるインフラストラクチャについても全く心配する必要がない。そうしたことはクラウドプロバイダーに任され、発生したバースト(瞬発的な利用増加分)に対して支払いを行うのだ。

サーバレスという名称は実は正確ではない。サーバーが実際にないということを意味してはいないからだ。実際に意味していることは、プログラムを実行するためにサーバーをセットアップする必要がないということである。そしてこれは驚くべき変化なのだ。従来のプログラミングでは、データセンターであろうがクラウドであろうが、事前にコードを書き、基礎となるすべてのハードウェアをセットアップしておく必要があった。サーバーレスでは、開発者はコードを書くだけで良く、残りの全てをクラウドプロバイダーが処理してくれるのだ。

実際には、プログラマたちが一連のイベントトリガを設定する。するとクラウドプロバイダーはそのイベントトリガーの発生に合わせて、必要なリソースをその場で提供するのだ。今ではクラウドベンダーのほとんどがこの種のサービスを提供している。例えばAWS Lambda、Azure Functions、そしてGoogle Functionsなどがその例だ。

ある時点から、Whiteはサーバーレスを、インフラストラクチャの管理と維持について考えることから彼を自由にしてくれるものと考え始めるようになったのだ:「この先、何処までいけるか見てやろうと考え始めたのです。全てをサーバーレスで本当に行うことが可能なのか?そしてそうしたときに、実際に行うべき、膨大な従来型DevOpsスタイルの作業を減らすことができるのか?(訳注:DevOpsとは開発と運用を意味する)。まだまだ多くのことがありますが、ともあれまずそれが最初に考えたことだったのです」と彼は語る。

問題を克服する

しかし、それにも問題があった。特に彼がサーバーレスに取り組み始めた当初の問題が大きかった。まずなにはともあれ、Whiteはこのようなやり方で作業できる開発者を見つける必要があった。しかし2016年に始めたときには、サーバーレススキルを持つ人の数はまだ多くなかった。Whiteは、Blissfullyをどのよう実装するかに関わらず、学習に意欲的で新しい技術に柔軟に取り組む人間を重用し、直接的な経験をあまり重視はしなかったと語る。

一度基礎を理解した後は、これがどのように構造的に機能するかを考える必要があった。「チャレンジの一部は、異なるサーバーレス機能間の境界を、どこに置けば良いかを決定することです。1つの機能の能力を他の機能に比べて、どれくらい重いものにするかをどのように決定すれば良いでしょう?そして、それをどのように分割すれば良いでしょう?非常に細かい機能に分割することもできれば、もちろん非常に大きな機能にすることも可能です。このようにして動作するコードベースを、どのように分割したいのかという点で、多くの判断が必要となります」と彼は語る。

サーバーレスのアプローチの中で、彼がまず直面したまた別の課題は、それを取り巻くツールの欠如だった。Whiteは、Serverless、Inc.と出会うことができ、同社は彼を開発の基礎的フレームワーク部分で手助けしてくれたが、優れたログツールには欠けていて、現在でも彼の会社は、その問題には苦労しているのだと語る。「DevOpsはなくなりません。それは、いまでもどこかのサーバ上で実行されていて(たとえ自分でそれをコントロールしていないとしても)、問題は発生するのです」。そのような問題の1つが、彼が言うところの「コールドスタート問題」である。

リソースを正しく確保する

BlissfullyはAWS Lambdaを利用している。そして彼らの顧客がリソースを要求したときに、Amazomはそのイベントを待つための専用のリソースを確保していてくれるわけではない。もしサーバーをコールドスタート(実行が全く行われていない状態から起動を始めること)する必要がある場合には、結果的にこれは遅延の発生に繋がる可能性がある。この問題を回避するために、BlissfullyはLambdaを刺激し続けるジョブを走らせている。このことによって実際のアプリケーションを実行する準備が常に整っていることになり、ゼロから開始することで起き得る遅延時間がなくなる。

もう一つの問題は、これとは逆の問題かもしれない。対処可能な規模を超えて容易にスケールアップしてしまうことができるため、小規模のチームにとっては問題になってしまう可能性があるのだ。彼は、そのような場合には、呼び出し速度にリミッターをかけることになるという。そうすれば支払い可能な上限を超えることはないし、チームが管理可能な上限を超えて規模が大きくなることもない。「ある意味、このことによって、通常はもっと大きな規模になってから真剣に考えることになる問題に、より簡単に遭遇してしまうことになると思います」とWhiteは言う。

また別の問題は、Lambdaですべての処理を行うようになると、外部APIが扱うことのできる能力以上の速度でデータを動かしてしまう可能性があるということである。このため実際の実行を遅くするためのリミッターが必要となることがあるのだ。「Googleの場合は、多くの計算材料を与えることで速すぎると文句をいってくる様なことに遭遇したことは、ありませんでした。Googleの場合は速すぎると言われるためには、多大な努力が必要ですが、Lambdaの場合はあまり努力せずともすぐに速すぎると言われるようになります。どんなリソースであっても使うことを決定したときには、他のAPIに対して重大な出力ダメージを与える可能性があるのです」。それが意味することは、彼と彼のチームは本当に初期段階で、洗練された速度制限スキームについて本当に考える必要があったということだ。

コストに関しては、Whiteはサービスを構築し配置した今、コストはずっと安くなったと考えている。「当社のコストは現在非常に低いものになっています。サーバーベースのインフラストラクチャを使用している場合よりもはるかに低いものです。私たちの計算パターンは非常に瞬発的なものなのです」。この理由は。SaaSデータベースの再解析を行うのは、1日に1度か、最初に顧客がサインアップしたときであるからだ。その間のデータのやり取りは非常に少ないものなのである。

「ということで、サーバーレスは私たちとっては完璧な選択でした。なぜなら純粋に無駄になってしまうかもしれないリソースを維持し続ける必要はないからです」。

[原文へ]
(翻訳:sako)

写真:Vladimir_Timofeev / Getty Images

AWS Lambdaのサーバーレスのコードをライブ(実動時)でデバッグできるRookoutのデバッグツール

AWS Lambdaのようなサーバーレスコンピューティングサービスの良いところは、サーバーそのものを抽象化してしまうことだ。それによってデベロッパーは、下層にあるインフラストラクチャのことを気にせずにアプリケーションを作れるが、しかしいくつかの問題も生じている。静的なサーバーが目の前になければ、プログラムをどうやって実動状態でデバッグするのか? イスラエルのRookoutは、その最新のリリースでこの問題を解決した。

同社はこれを、サーバーレスのコードに“ブレークポイント”をマークすることによって実現した。それによりRookoutは、サーバーレスのコードに関するデベロッパーが定義した情報を集めることができ、アプリケーションがサーバーレスの環境で実際に動いているときでも、問題を調べることができる。

こういう‘トレース’と呼ばれる機能は、従来のアプリケーションのデバッグでよく使われるが、サーバーレスのアプリケーションではかなり難しい。それは、アプリケーションがその上で動いている恒久的なマシンがそこにないからだ、とRookoutのCEO Or Weisは語る。

Rookoutのサーバーレスデバッガー。画面下部の情報がAWS Lambdaの上で動くデバッグコードのインサイトをデベロッパーに与える。写真提供: Rookout

“すなわちサーバーレスでは、ソフトウェアが新しい環境ではどう動くかを予測するのがきわめて難しい。そもそも、ソフトウェアが実際にどこで動いているのかわからないし、だからプロダクションの段階でどう動くかも、ほとんど予測できない”、とWeisは述べる。

彼によると、これまでの唯一の方法は、コード中にログライン(ログ出力行)とSDKの呼び出しをたくさん書くことだったが、そうするとそれらの管理がまた難作業になるので、Rookoutとしては最初からそれは避けたかった。むしろ同社は、コード中で起きていることが分かる/見られるためのインタフェイスを提供することによって、デベロッパーがサーバーレスの環境で動いているライブのコードを、従来のアプリケーションのデバッグと同じやり方でデバッグできるようにした。

そのインタフェイスから得られる情報は、既存のアプリケーションパフォーマンス管理ツール(New Relicなど)や、Splunkのようなログ管理ツール、PageDutyのようなアラートツールなどと共有できる。あるいはそれらの情報から直接、コードの問題を発見してフィックスすることが、できる場合もある。

サーバーレスコンピューティングはサーバーがないという意味ではないが、アプリケーションを動かす専用のサーバーはない。ベンダーが提供するのはサーバーではなく、アプリケーションが発するイベントトリガーに対応する、必要なだけのサーバーリソースだ。イベントが起きるとそのコードが動き、それに対し顧客は課金される。サーバー本体を割り当ててその上でアプリケーションを動かし(動かさなくても!)料金を払う、という従来の開発方式とは、極端に対照的だ。サーバーレスでもコードを動かすのはサーバーだが、それはベンダーのものなのでユーザーは課金されない。ユーザー(デベロッパー)が課金されるのは、起きたイベントに対して実際にコードを動かしたぶんだけだ。

__

Rookout Lambdaデバッガーのデモビデオ:

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

AWS Lambdaのサーバーレスのコードをライブ(実動時)でデバッグできるRookoutのデバッグツール

AWS Lambdaのようなサーバーレスコンピューティングサービスの良いところは、サーバーそのものを抽象化してしまうことだ。それによってデベロッパーは、下層にあるインフラストラクチャのことを気にせずにアプリケーションを作れるが、しかしいくつかの問題も生じている。静的なサーバーが目の前になければ、プログラムをどうやって実動状態でデバッグするのか? イスラエルのRookoutは、その最新のリリースでこの問題を解決した。

同社はこれを、サーバーレスのコードに“ブレークポイント”をマークすることによって実現した。それによりRookoutは、サーバーレスのコードに関するデベロッパーが定義した情報を集めることができ、アプリケーションがサーバーレスの環境で実際に動いているときでも、問題を調べることができる。

こういう‘トレース’と呼ばれる機能は、従来のアプリケーションのデバッグでよく使われるが、サーバーレスのアプリケーションではかなり難しい。それは、アプリケーションがその上で動いている恒久的なマシンがそこにないからだ、とRookoutのCEO Or Weisは語る。

Rookoutのサーバーレスデバッガー。画面下部の情報がAWS Lambdaの上で動くデバッグコードのインサイトをデベロッパーに与える。写真提供: Rookout

“すなわちサーバーレスでは、ソフトウェアが新しい環境ではどう動くかを予測するのがきわめて難しい。そもそも、ソフトウェアが実際にどこで動いているのかわからないし、だからプロダクションの段階でどう動くかも、ほとんど予測できない”、とWeisは述べる。

彼によると、これまでの唯一の方法は、コード中にログライン(ログ出力行)とSDKの呼び出しをたくさん書くことだったが、そうするとそれらの管理がまた難作業になるので、Rookoutとしては最初からそれは避けたかった。むしろ同社は、コード中で起きていることが分かる/見られるためのインタフェイスを提供することによって、デベロッパーがサーバーレスの環境で動いているライブのコードを、従来のアプリケーションのデバッグと同じやり方でデバッグできるようにした。

そのインタフェイスから得られる情報は、既存のアプリケーションパフォーマンス管理ツール(New Relicなど)や、Splunkのようなログ管理ツール、PageDutyのようなアラートツールなどと共有できる。あるいはそれらの情報から直接、コードの問題を発見してフィックスすることが、できる場合もある。

サーバーレスコンピューティングはサーバーがないという意味ではないが、アプリケーションを動かす専用のサーバーはない。ベンダーが提供するのはサーバーではなく、アプリケーションが発するイベントトリガーに対応する、必要なだけのサーバーリソースだ。イベントが起きるとそのコードが動き、それに対し顧客は課金される。サーバー本体を割り当ててその上でアプリケーションを動かし(動かさなくても!)料金を払う、という従来の開発方式とは、極端に対照的だ。サーバーレスでもコードを動かすのはサーバーだが、それはベンダーのものなのでユーザーは課金されない。ユーザー(デベロッパー)が課金されるのは、起きたイベントに対して実際にコードを動かしたぶんだけだ。

__

Rookout Lambdaデバッガーのデモビデオ:

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

AWSがIoTデバイスのワンクリックでLambdaファンクションを実行するアプリを発表

Amazonが2015年にAWS Lambdaを導入したときには、サーバーレスコンピューティングという概念がまだよく知られていなかった。デベロッパーはそれによってソフトウェアを、それを実行するサーバーの管理等をせずに配布できる。サーバーはAmazonが管理し、そのインフラストラクチャは何かのイベントが要求をトリガしたときだけ動く。今日同社は、AWS IoT 1-Clickと呼ばれるアプリをiOS App Storeにリリースして、サーバーレスコンピューティングの概念をさらにまた一歩、前進させた。

その名前の“1-Click”の部分はちょっと大げさだが、とにかくこのアプリは、ラムダのイベントトリガーへのさらに素早いアクセスをデベロッパーに提供する。それらは、バッジを読むとか、ボタンを押すといった単純な目的のデバイスに向いている。たとえばそのボタンを押したらカスタマサービスやメンテナンスにつながるなど、そういった単純なシナリオだ。

そもそもAmazonにその好例といえるダッシュボタンがある。それは(Wi-Fiなどインターネットのある環境で)、ワンプッシュで特定のもの(洗剤、トイレットペーパーなど)を一定量注文できるボタンで、AWS IoT 1-Clickでデベロッパーは、自分のデバイス*にそんなシンプルな機能を持たせることができる。〔*: ローンチ直後の現状でサポートされているデバイスはボタン2種のみ、今後増える予定。〕

この機能を利用するためには、最初に自分のアカウント情報を入力する。利用するWi-Fiを指定し、デバイスとそのデバイスのLambdaファンクションを選ぶ。今サポートされているデバイスは、汎用ダッシュボタンとも言えるAWS IoT Enterprise Buttonと、AT&T LTE-M Buttonだ。

デバイスを選んだら、Lambdaファンクションをトリガーするプロジェクトを定義する。単純に、メールやSMSを送らせてもよい。イベントをトリガーするLambdaファンクションを選びNextをタッチすると、構成画面になるのでトリガーアクションを構成する。たとえば、会議室にいるときそのボタンを押したらIT部門を呼び出し、IT部門は送られてきたページから、どの会議室からヘルプの要請があったか分かる、など。

そして、適切なLambdaファンクションを選ぶ。それは、あなたの構成情報どおりに動くはずだ。

これらの指定、選択、構成などのプロセスはもちろんワンクリックでは済まないし、テストや構成変えも必要になるだろう。でも、シンプルなLambdaファンクションを作るアプリ、というものがあれば、プログラミングのできない人でもボタンを単純なファンクションで構成できるだろう。ちょっとした学習は必要だが。

このサービスはまだプレビューなので、アプリは今日ダウンロードできても、現時点では参加を申し込む必要がある。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

AWS Lambdaのイベントトリガを使いやすくしてWebサイトの開発方法を改革するNetlify

Webプロジェクトの継続的なデプロイメントを支援するサービスNetlifyのビジョンは、Webサイトの作り方を変えることだ。とくに、フロントエンドのデザインとバックエンドで実行されるサービスとの結合を、もっとシンプルにしたい。今日同社は、そのビジョンの実現に向かう次の一歩として、NetlifyのサービスにAWS Lambdaのファンクションを導入した。

同社のねらいは、Web開発に伴う多くの複雑性を、できるだけ減らすことだ。たとえば、ユーザーがHTMLとJavaScriptでフロントエンドをデザインすると、Netlifyはそれをさまざまなサービスに結びつける。決済ならStripe、メールによるニューズレターの管理ならMailChimp、というように。このやり方でNetlifyは、Webサーバーという概念を抽象化(実体のないものに)してしまう。デプロイが遅くてセキュリティもスケーリングも困難なあのあれが、消えてなくなる。そして、一枚岩的なWebサイトから、スタティックなフロントエンドとバックエンドのマイクロサービスという組み合わせへ移行し、それによりセキュリティとスケーリングの問題を解決、そしてサイトを従来よりも相当早くユーザーに渡せるようになる(デリバリが早い)、と同社は信じている。

ユーザーは、サイトの構築に何を使ってもよい。ユーザーが作った設計/デザインを渡されたNetlifyは、バックエンドのコーディングのすべてをエッジに置き、コードはエッジで実行される。その意味で同社のサービスは、半分はContent Delivery Network(CDN)、残る半分はデベロッパーの自動化エンジンだ。

この、より動的なWebサイトをより早く作るというNetlifyの能力がAndreessen HorowitzのパートナーPeter Levineの目に留まり、昨年8月に同社の1200万ドルのシリーズを彼がリードした。Levineは曰く、“彼らの、マイクロサービスとAPIsを活用して柔軟性に富む動的な(ダイナミックな)Webサイトを作る、という考え方はすばらしいアイデアだ。しかも、エッジへデプロイすることによって、さらにハイパフォーマンスなユーザー体験を作れるし、GitHubを統合することによってアプリケーションを容易に作成し管理できる”。

今日の発表は、同社のサービスのそんなアプローチをさらに一歩前進させる。Lambdは、AWSのいわゆるサーバーレス・ツールだ。デベロッパーはファンクションを作り、それが特定のイベントにトリガされて実行される。デベロッパー側には、サーバーを24/7動かし管理しメンテナンスする苦労がない。これは、NetlifyのWeb開発アプローチとぴったり相性が良い。つまりそれは、AWS Lambdaと同じく、WebのパブリシングプロセスからWebサーバーを取り除くから。

そしてNetlifyは、Lambdaのファンクションを、もっと容易に実行できるようにした。同社によると、Webデベロッパーは確かにイベントトリガーという考え方を気に入っているけど、AWSのワークフローは複雑すぎる。イベントトリガーをデベロッパーのアイデンティティで容易に作れるようになれば、Lambdaをもっと気軽に利用できるだろう。

同社の協同ファウンダーChristian Bachは、こう説明する: “Lambdaが良いことは自明だが、それを軸とするワークフローがないために、使いづらい。われわれにはフロントエンドをパブリシングするワークフローがあるので、サーバーレスもそれと同じようにしたい、と考えた”。

“Lambdaのトリガのひとつひとつが小さなマイクロサービスになり、ブラウザーからそれらにアクセスできる”、と彼は述べる。たとえばStripeを使って決済をする場合なら、Stripeの秘密の認証情報のコードで決済のゲートウェイに入る。“従来なら、この小さな呼び出しのために、どこかでサーバーを動かす必要がある。この小さな機能だけのために、Railsのアプリケーションを作るだろう”、Bachはそう述べる。

しかしNetlifyのやり方では、認証情報を数行のコードでタイプし、それからLambdaのトリガとNetlifyの糊的なコードを少々使うだけだ。これにより、そのコードをどこに置くか、それをどうやって管理するか、という問題が解決する、とBachは言う。

かねてからエッジコンピューティングをテクノロジーの大きな駆動因として見ているLevineがNetlifyのシリーズAをリードし、同社の取締役会に加わったたのは、たぶん偶然ではない。

Levineは曰く、“かなり前からエッジコンピューティングには注目しているし、Netlifyは、エッジにおけるサービスという大きなトレンドの一部だ。同社は、現代的なWebサイトを構築しデプロイする方法を開発した”。

同社は、2015年に創業され、これまでに1410万ドルを調達している。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

Amazon AWSのサーバーレス・サービス、LambdaがGo言語のサポート開始

Amazo AWSのサーバーレス・プラットフォーム、LambdaGoのプログラムのサポートを開始した。GoはGoogleが開発したプログラミング言語で、最近人気を高めつつある。

AWSがGoをサポートすること自体は大きな驚きではない。AWSは昨年のre:InventカンファレンスでGoをサポートする予定だと明らかにしていた。しかしデベロッパーがGoで書いた関数を実際にLambdaで実行できるのは今日(米国時間1/16)からだ。

これでAWS LambdaはJavaScript、Node.js、Java、C#、Pythonに加えてGoをサポートすることになった。Lambdaのライバルを目指すGoogleのサーバーレス・プラットフォーム、Cloud Functionsは依然としてベータで、言語としてはまだNode.jsしか使えない。一方MicrosoftのAzure FunctionsはC#、JavaScript、F#、Javaをサポートし、Python、PHP、TypeScript、Batch、Bash、Powershellをそれぞれ実験的にサポートしている。

サーバーレス・プラットフォームの価値はサポートする言語の種類だけで測れるものではないが、 Lambdaのように多数の言語がサポートされればそれだけ広い範囲のデベロッパーが利用できるようになる。スタートしたばかりのサーバーレス・サービスという分野にとって、これは大きな意味を持つだろう。

LambdaにアップされたGoのコードは標準的なgo1.xランタイムで実行される。デベロッパーはGoプログラムをZIPファイルとしてAWSにアップし、コマンドライン・ツールまたはLambdaコンソールから実行する。またAWSの分散型アプリ向けデバッグとモニターのツール、AWS X-RayもLambda上のGo をサポートする。AWS CodeStarもGo関数によるデリバリー・ツールチェインの設定を助ける。

[原文へ]

(翻訳:滑川海彦@Facebook Google+

サーバーレスアプリケーションの周辺にもスタートアップエコシステムが育ちIOpipeは$2.5Mのシードを獲得

今や、サーバーレスアプリケーションが大いにもてはやされている。コンテナのことをどこかへ置き忘れて、AWSのLambdaやAzureのFunctionsのようなサービスに夢中になってる企業もある。そこで当然ながら、これらのサービスのまわりに自然発生的に新たなエコシステムが育っていく。今日(米国時間8/14)ベータを脱(ぬ)けたIOpipeは、AWSのLambdaサービスのアプリケーションの、オペレーションを助けるプラットホームだ(現状はもっぱらモニタリングを提供)。

シアトル生まれの同社は今日、250万ドルのシードラウンドを発表した。主な投資家はMadrona Venture Group, NEA, そしてUnderscore VC、全員、インフラストラクチャの分野で経験豊富な連中だ。

IOpipeの協同ファウンダーAdam Johnson(CEO)とErica Windisch(CTO)も、この分野のベテランで、以前はDockerやMidokuraにいた*。AdamはMidokuraの最初の社員、EricaはDockerのセキュリティチームを作った。両者は最近、Techstarsのニューヨークの育成事業を卒業した。〔*: 関連記事

IOpipeの基本コンセプトはきわめて単純明快、Lamdaで動くアプリケーションのインサイトをデベロッパーやオペレーションのチームに提供することだ〔今はオペレーション主体〕。そのほかのサーバーレスプラットホームにも、今後対応していく。ユーザーは、得られたインサイトに基づいて、バグをつぶしたり、メモリリークを直したりしていく。このサービスを有効にするためにデベロッパーがやることといえば、使用するサーバーレスのファンクションをIOpipeのコードでラップするだけだ。するとそれらのファンクションの一般的な性能測度がダッシュボードにリアルタイムで表示される(右図)。このサービスはサードパーティサービスの呼び出しも計測するから、AWSのS3やDynamoDBなどに関しても、いろいろ分かる。

Johnsonによると、同社の顧客はスタートアップとエンタープライズの両方を含む。これはもちろん、Lambdaの顧客の構成を反映している。“毎週、おーこの会社もLambdaを使ってるのか、という意外性の経験をする”、と彼は言う。1年前はアーリーアダプターがほとんどだったが、その後はLambdaを実験的に使う企業がどんどん増えて、そのプラットホーム上でプロダクションのワークロードを動かしている企業すらある、ということだ。

同社は今、社員が8名だが、新たな資金で緊急に増員が行われるだろう。今後の計画としては、機能をもっと増やすことと、現状のプラグインアーキテクチャを活かして、今後は今のオペレーション偏重から、デベロッパーにも直接奉仕する方向へと、機能を多様化していきたい。“これまで力を入れてきたのは、モニタリングのための最初から決まっているような機能集合を実装することで、もっぱら、アプリケーションのスケーラビリティと安定性を確認することを重視してきた”、とJohnsonは語る。しかしそのプラグインアーキテクチャにより、今後機能を増やしていくことが比較的容易にできる。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

開発のサーバーレス化を助けるServerlessがシードで$3Mを調達、ただしサーバーレスはサーバーが動かす

fb_data_center_tour-6

Serverlessはデベロッパーたちに、彼らがAWS Lambdaや、今後のMicrosoft Azure FunctionsGoogle Cloud Functionsなどを利用して、なるべく容易にアプリケーションを書けるためのフレームワークを提供する。同社は今日(米国時間10/12)、Trinity Venturesがリードするシードラウンドで300万ドルを調達し、そのフレームワークがベータを終了したことを発表した。

Serverlessという社名の起源でもあるサーバーレスという流行(はや)り言葉は、一種の誤称でもある。このサーバー‘レス’という考え方は、実際のインフラストラクチャが抽象化されていて隠されている、という意味であり、そのためにデベロッパーは自分のコードを、通常はLambdaのようなイベント駆動の計算サービス(compute services)へ、単純にデプロイできるのだ。そしてそれらのサービスがそのコードを、イベントにトリガされて実行する。でもそのコードはもちろんすべて、AWSのサーバーの上で動くのだ。

でも、今では名前がひとり歩きしていて、ServerlessのファウンダーでCEOのAusten Collinsも、エンタープライズやスタートアップがこの新しい計算モデルをより容易に利用できるためのフレームワークを作れる、とひらめいた人たちの一人だ。“まず、これはおもしろい、と思ったし、サーバーレスのプラットホームを動かすためには大量のサーバーが必要だから、本当は正しくない言葉だけれど、デベロッパーたちが待ち望んでいたものを言い表す、とてもぴったりの言葉だ、とも思った”、とCollinsは語る。

Serverlessを創る前のCollinsはAWSのコンサルタントで、アプリケーションの開発とデプロイをもっとはやくやりたい、と願う企業がとても多いことを痛感していた。“Lambdaに着目したのも、そのためだ”、とCollinsは述べる。彼がとくにLambdaを気に入った理由は、AWSのそのほかのいろんな機能を、容易に併用できることだった。複雑なアプリケーションを小さなパーツに分割して、それらがAPIで連結する、いわゆるマイクロサービス方式の開発が関心を集めるようになり、保守的な大企業ですら今では、Lambdaのようなプラットホームを利用して開発サイクルをスピードアップしたい、と望んでいる。

Serverlessは、スタートアップやデベロッパーのプロダクトの市場化を助けるHeavybitの育成事業から巣立った。StripeやPagerDuty、CircleCIなどもその同類だ。同社の社員は今12名、Collinsの計画では今回の資金を、フレームワークの開発を担当するデベロッパーの増員と、AWS以外のクラウドコンピューティングサービスのサポートに充てたい、という。

ただし、まだ決まっていないのが収益化の方法だ。Collinsは今検討中だ、と言うが、オープンソース企業によくある、有料コンサルティングサービスとか、有料の特殊機能などが妥当な線かもしれない。このような企業の収益化に関しては、HeavybitとTrinity Venturesの両方に、良い知恵があるはずだ(Trinityは前から、Dockerや類似のデベロッパー企業に投資している)。

GitHub上で同社のプロジェクトは11000あまりのスターをもらい、ユーザーの中にはCoca-Cola Companyのような有名企業もいる。つまり、サーバーレスという言葉はまだ若いのに、このフレームワークに対する需要と関心は、すでに確実に存在している。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

サーバーレスは新しいマルチテナンシーだ…高度なコンピューティングの低価格化を実現

Dataplace, Alblasserdam

[筆者: Anshu Sharma](Storm Venturesのパートナー)

マルチテナンシーは、SaaSにおける最大の技術的突破口だった。こんな状況を考えてみよう: 顧客が10万あまりいると、Salesforceのような企業は、彼らのニーズに奉仕するために、10万あまりのサーバーとデータベースを必要とし、利益は消えてしまう。

マルチテナンシーは、高い粗利率を可能にするだけでなく、高度なソフトウェアを中小企業に低料金でサーブしても利益を上げられるようになる。それは単に新しいアーキテクチャであっただけでなく、エンタープライズソフトウェアの費用に関するわれわれの考え方を変えた。CPUやサーバーの数ではなく、ソフトウェアのユーザーと使い方が費用計算のベースになる。同様にサーバーレスコンピュートも、アプリケーションの作り方と、その消費と支払い方法の、両方における新しいやり方だ。

サーバーレスは、マルチテナンシーのメリットを、より高いレベルに上げる。サーバーレスコンピュートは、プラットホームが起動しそして停止するとき、専用のサーバーやVMが動いていなくてもよい、という計算モデルで、スケーリングが必要に応じて自動的に行われる。課金は、必要とした処理時間に対して行われる〔下図: AWS Lambdaのケース〕。

unnamed (1)

マルチテナンシーの一人勝ち — 他は全員敗者

SaaSの最初の10年は、SalesforceNetSuiteのような企業が熱心なマルチテナンシー賛成派で、レガシーのベンダーたちはそれを弱体化と呼び、複数の顧客データの混在は危険だ、とけなした。

エンタープライズアプリケーションソフトのトップ企業だったSAPは独自のアーキテクチャを発明してそれをメガテナンシーと呼び、データベースベンダーのトップOracleは、マルチテナンシーに代わるものとして仮想化プライベートデータベースなどのイノベーションを売り込もうとした。今日では、これらの企業もAribaConcur、NetSuiteなどの企業を数百億ドルを投じて買収し、勝者のアーキテクチャ、マルチテナンシーにコミットしている。

サーバーレスアーキテクチャ

サーバーレスアーキテクチャにより、まったく新しい種類のアプリケーションが生まれようとしている。とりわけこのアーキテクチャは、IoTやモバイルアプリ、リアルタイムビッグデータなどに大きなアドバンテージをもたらすだろう。

Amazon Lambdaは、この分野の明確なリーダーと見られる。またPubNub BlocksやAzure Functionsなども、同じアイデアがベースだ。数年後にはすべてのクラウドプラットホームが、何らかの形でサーバーレスアーキテクチャをサポートすることになるだろう。

マルチテナンシーへの移行の場合と同じく、既存のコードを簡単にサーバーレスにすることはできない。アプリケーションを根底から考えなおし、新しいフレームワークを使うためにリライトする必要がある。

不可能を可能にし、そして安価にする

マルチテナンシーにより中小企業が、CRMや会計経理、マーケティング、人事雇用などの分野で、エンタープライズ級のアプリケーションを、手頃な料金で利用できるようになる。それらのアプリケーションは今ならたとえば、Salesforce(CRM)、NetSuite(会計経理)、Marketo(マーケティング)、SmartRecruiters(人事雇用)などだ。

大量のデータを継続的にリアルタイムで処理して経営に生かすユースケースは、コストが膨大だから、とても手を出せない企業が多い。しかしサーバーレスのコンピューティングならファンクションを動かすわずかな時間に課金されるだけだから、それがずっと安上がりになる。

この新しいアーキテクチャとビジネスモデルによる新しいアプリケーションが、これからの10年でどんどん台頭してくるのが、私は待ち遠しい。SalesforceやNetSuiteぐらいのサイズの企業がこの新しいアーキテクチャを採用したら、一体どんなことが可能になるだろうか?

お断り: Anshu SharmaはPubNubの投資家で、元Salesforceの役員、そしてパブリッククラウドに対する絶対的な楽観主義者だ。彼の意見には、これらの立場による偏りがある。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))

「クラウドネイティブ」アプリケーションの真の姿

shutterstock_268614635

【編集部注】著者のRishi Yadav氏は、ビッグデータコンサルティング会社InfoObjectsの最高経営責任者 。

「クラウドネイティブ」の話題が盛んである。そしてそれぞれが好き勝手にその解釈を語っている – 要するにすべてのことをなんでもクラウドでこなすことだ、といった具合に。

Cade MetzはこのWiredの投稿でこの現象を正しく説明している:「この用語には最近本当に沢山の意味がまとわりついている。しかし忘れないで欲しい:大部分のそうした解釈はIBM、HP、EMC、Dell、Ciscoといったクラウドネイティブに『乗り遅れたくない』会社から発せられているということを」。

「クラウドネイティブ」とは簡単に言えば、オンプレミスで生まれ育つアプリケーションとは対照的に、単にクラウドで生まれるアプリケーションを指している。オンプレミスとは一群の車を所有するようなものだ。車を買うために多額の先行投資が必要なだけではなく、保守のためにも費用が必要となる。

足がかりとしてのIaaS

オンプレミスのアプリケーションをパブリッククラウドに移行する場合、その最初のステップは、単純にそれらをクラウド上に再配置することだ。本質的に、これは単にオンプレミスインフラストラクチャの再構築を意味している。このアプローチは、多くの未知数を減らし、起き得るリスクを軽減することができるという意味で、最初のスタート地点としては多くの利点がある。ところで、古い諺を改める時期だろうか:

「IBMを買って馘になった者はかつていない」

「AWSに移行して馘になる者はいないはずだ」に。

このアプローチを更に説明するために、仮にある会社が100ノードクラスタのオンプレミスシステムをクラウドに移行するとしよう。この場合単純に100インスタンスをレンタルし、全く同一のオペレーティングシステムとそれを支えるソフトウェアをインストールした後に、アプリケーションとサービスをオンプレミスと全く同じやりかたで実行することになる。インフラをレンタルするこのスキームは、IaaS(インフラストラクチャー・アズ・ア・サービス)と呼ばれる。

IaaSの提供する利点は2つある:スケーリングと抽象化だ。スケーリングの利点は、マシンをオンデマンドで追加および削除する際のやり方に現れる。オンプレミスの場合なら作業に数週間かかるであろう作業が、IaaSなら対照的にわずかのボタンクリックで手続きが終了する。抽象化の利点は、ハードウェア/データセンタインフラストラクチャレベルに現れる。IaaSは、同じ地域内や地域間に複数のデータセンターを作成し維持することなく、グローバルなインフラストラクチャを提供する。IaaSを用いれば、マシン、ラック、ネットワーキング、冷却、電力使用量その他諸々の管理について心配する必要はない。

特にIaaSによって加わる利点(クラウドコンピューティング一般の利点でもある)は、かかるコストを資産から経費に変えることができるということである。IaaSは、一群の車をレンタルすることと同等である。あなたが気にしなければならないことは、時間単位、週単位、月単位のいずれだとしてもレンタル費用の支払いだけになる。

IaaSは良い始め方であり、非常に基本的なものだ。IaaSの部分をスキップして、直接PaaSやSaaSの提供をしようとして来たクラウドプロバイダーは、みな課題に晒されてきた。たとえば、Microsoftは当初Azureの上のPaaSサービスの提供を始めたが、とても限定的な成功しか収めることができなかった。彼らは2012年にIaaSをAsureに追加し、それ以来振り返ることはしていない。

私たちがSaaSを話題にする一方で、インターネットの上で動作するもの全てを「SaaS」と呼び、それをクラウドビジネスにつなげてクラウド予算の拡張を狙う、新しい傾向が業界の中に生まれているようだ。Oracleによるこの記事を見て、実際のクラウド収益というものがどのようなものかを理解して欲しい。

PaaS

企業は通常、パブリッククラウドへの移行後、新しい環境に定住するためにある程度時間を必要とする。ある企業にとっては数ヶ月、その他の企業にとっては数年を要することがある。こうしたクラウドの地への入植者たちが、元のオンプレミスの地で感じていたような心地よさを感じることができるようになるのにも、またそれなりの時間が必要である。

入植者が新しい環境に同化して慣れてくるにつれ、彼らは興味深いものを発見するようになる。彼らが気付くのは、これまで自分たちが何年も手作業で苦労しながら行ってきたものに対する、既成サービスの存在である。IaaSはハードウェアを抽象化してくれたが、そうした既成サービスはオペレーティングシステムまでも抽象化して省力化の役に立つものだ。こうした様々なニーズに対応する汎用のプラットフォーム上のサービスの上に、単にアプリケーションを再構築することができる。こうした拡張機能は、PaaS(プラットフォーム・アズ・ア・サービス)と呼ばれている。

PaaSが提供するものはシンプルさだけではない。IaaSを大幅に凌ぐコストの削減も提供される。

一般にパブリッククラウドが目指す改良は主に2点に集約されている:コストの削減と単純化だ。

PaaSはクラウドネイティブへの最初の接触地点として、重要なステップである。このことにより、パブリッククラウド上で最大のポテンシャルを挙げるために必要な、アプリケーションアーキテクチャの再構築に向けての思考プロセスが開始されるからだ。PaaS上で利用可能されるそうしたアプリケーションは、広い用途をカバーしている。Amazon Web Services(AWS)は、IaaSであると同時にPaaS提供のリーダーである。データストレージとして、RDBMSの代替であるAWS Aurora、NoSQLの代替であるDynamoDB、そしてエンタープライズデータウェアハウスのためにはRedshiftを提供している。

PaaSは、必要とするときにUberを利用するようなものだ。車のレンタル代を払うのではなく、A地点からB地点に移動するサービスに対して支払いを行うのである。どのようなサービスを採用するかは必要とするもので決まる。もし目的が観光なら「大きなバス」に乗るのは良いアイデアだろう。

サーバレスアーキテクチャ

PaaSが提供しているものは素晴らしい、そして多くのアプリケーションは末永くPaaSの世界に住み続けることが可能だろう。しかし、いくつかのアプリケーションはコストを最小化し単純化を行うための更なる前進を続けている。Amazon Web ServicesによるAWS Lambdaの公開の発表は、まさしくその方向へ向けての一歩である。Microsoft Asureも対抗としてAzure Functionsを発表した。同様にGoogleが発表したのはGoogle Cloud Functionsだ。

これを実現するための鍵は、各アプリケーションを、構成されている個々の機能へとブレークダウンすることである。JVMやPythonといった特定のランタイム上で実行される、小さなコードブロックであるファンクション(Functions:機能)は素晴らしいものだ。アプリケーション開発者はそうしたランタイムの実行を心配する必要すらないのだ。これは、考え得る限り最も高いレベルの抽象化である(今のところは!)。

Dockerなどのコンテナファンの目から見れば、これはコンテナが行うことと大きく異るものではない。コンテナとは、アプリケーションが実行される基盤が抽象化されたものである。ファンクションは、この思想を受け継ぎつつ、その粒度が個々の機能単位に移動されたものである。

この考えに更に近付いたものが「マイクロサービス」である。実際に、人気のデザインパターンは、APIゲートウェイによって管理されるマイクロサービスを前面に立てたものである。

ファンクションは、丁度あなたが衣服を洗ってアイロンがけしてもらう目的のためにクリーニング屋に行くように、何故そこに向かうのかの理由をはっきりさせてくれる。ファンクションはあなたを、「どのように行うのか」ではなく「何を行うのか」を考えることに集中させてくれるのだ。

まとめ

一般にパブリッククラウドが目指す改良は主に2点に集約されている:コストの削減と単純化だ。IaaS、PaaSそしてLambdaはこのための成果を徐々に達成している。

企業がお馴染みのオンプレミスを捨てパブリッククラウドに運命を委ねようとするときには、どのようにコストの最適化を図るかに焦点をあてる。その際に クラウド ネイティブであることの利点を最大限に活用するために、以下のような方法でのアプリケーションアーキテクチャの再構成が含まれる。

  • 従来のデータストア(Oracle/MySQL/Teradataなど)からクラウドネイティブデータストア(Aurora/Redshiftなど)へ移行する。
  • コンテナおよびアプリケーション中心の抽象化を活用する。
  • 最後に(そしてこれで終わりではないが)、個々のアプリケーションを個別のファンクションに分解し、ファンクションレベルの抽象化で動作させる。

[ 原文へ ]
(翻訳:Sako)