Gleyzer両氏によって共同開発されました。2019で、同言語の発表を行いました。InfoQはPurdy氏に言語と、氏らが解決を目指した問題について聞きました。設計/アーキテクチャアジャイルマニュフェスト:ソフトウェアアーキテクトの視点ソフトウェアアーキテクトの役割と責任はアジャイルソフトウェア開発のためのマニフェストの価値と矛盾していると見えますが、優れたアーキテクトはアジャイル開発チームをサポートするテクニックを見つけています。Streamingは、ストリーミングデータのためのSQLライクなインターフェースを提供します。Streamsによって、Redisがストリーミングデータを複数のプロデューサとコンシューマの間で消費、保持、配信することができるようになります。ソフトウェア開発のマニフェストたゆまず息もつかずに市場に突進することで、会社を静かに消滅の崖っぷちへと追い込みます。それは設計してコードを書く方法を再考する時です。簡単さへの投資は、速さへの投資です。簡単さは知的財産の主鉱脈でもあります。競争上の優位性は、一度失ったら、もう一度手に入れることはほとんど不可能です。Buytaerts氏が過去10年間にわたって、企業がDevOps採用のハイプサイクルをくぐり抜け、変革に対する誤解を解消する過程を支援してきた経験について語ります。Functionsが本質的に"サーバレス"である、という話題から始まった。ホスティング環境は自動スケーリングをサポートしており、関数の実行には従量制の課金が行われる。Functionsなどのファンクション・アズ・ア・サービス(FaaS)プラットフォームと類似したサービスだが、それらと違うのは、データソースやディスティネーションからコードを分離する、"バインディング"という抽象化を備えていることだ。Functionsのプログラミングモデルの中心であり、このコンセプトによって、より高度なプログラミングモデルのバインディングが可能になっている。Functionsなどの関数を実行する上で適用すべき原則とベストプラクティスを挙げた。Functionsを通じて関数のステートをサポートしている、と述べた。Functionsのエクステンションである。Functionsを使うことで、長時間実行型の、信頼性の高いサーバレス・ワークフロー・アズ・コードを記述することが可能になる。例として氏は、いわゆる"オーケストレーション"関数を使って関数のチェーンを可能にする方法を紹介した。この関数内では、開発者が必要とするワークフローステップをコーディングすることができる。他の関数を呼び出して作業を行うことが可能だ。実際の処理を行う関数は"アクティビティ"関数と呼ばれる。Storageキューへのメッセージの到着によって起動される。メッセージをピックアップすると、適切なオーケストレーションコードが実行されて、新たなメッセージが別のコントロールキューに送出される。従ってリソースを消費することはなくなる。ステートはイベントソーシング経由で処理される。Storageテーブルへのイベント書き込みが行われる。アクティビティ関数が実行されると、新たなメッセージが別のコントロールキューに送信されて、新たなイベントがテーブルに記録される。オーケストレーション関数がそのメッセージをピックアップすると、アクティビティ関数の起動までのサイクルが新たに開始されるのだ。イベントソーシングを採用することで、例えば.NETとJavaScriptのように、さまざまな言語のサポートが可能になった、とGillum氏は述べている。氏はさらに、オーケストレータのコードが遵守しなければならないルールをいくつか紹介している。乱数や現在日付/時刻などに依存するロジックを記述しないこと。オーケストレータ関数内でI/Oやカスタムスレッドのスケジューリングを直接行わないこと。無限ループを記述しないこと。#1,#2,#3のルールには、組み込みの回避策を使用すること。次にGillum氏は、別のステートフルパターンとして。fan-in)"を紹介した。すべてに並列タスクが完了すると、最後の集約(aggregation)ステップが直ちに起動される。InteractionとAggregatorの2つを説明した。Functionsでは、アクタプログラミングモデルを活用することも可能だ。Gillum氏は言う。Functionsのファーストクラスのコンセプトになります。ユーザはこれら2つのステートフルプログラミングモデルを、必要に応じて、同じアプリケーション内で使用することができます。アクタはいわゆるエンティティ関数として表現されるもので、オーケストレーションと同じように起動することができる。エンティティ関数の記述にはC#や、その他のJavaScriptなどの言語を使用することができる、とGillum氏は説明した。氏は、エンティティのコンセプトとサンプルコードについて解説した上で、仮想アクタとの類似点として、次のものを挙げた。エンティティID経由でアドレス可能である。実行は直列的で、一度にひとつである。呼び出し時ないしシグナル時に暗黙的に生成される。オペレーションを実行しない場合は、メモリから静かにアンロードされる。Functionsのエンティティ関数はAkka.NetやOrleansのような"アクタ"フレームワークではない、とも述べている。これらのフレームワークとの違いは、次のようなものだ。信頼性が高く、順序を持ったメッセージングメッセージタイムアウトがない一方向メッセージであるデッドロックが発生しないオーケストレーションとの統合この講演を含むカンファレンスの大部分のプレゼンテーションは記録されていて、今後数ヶ月にわたってInfoQで公開される予定である。2020は、2020年3月2~6日に予定されている。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見るあなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。あなたの意見をお聞かせください。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見る様々なイノベーターとアーリーアダプターがお送りするテクノロジーの概要を見る。自分がまだ知らないことに気づいていないと知るあなたが興味のあるトピックスをいつでも最新な情報に。あなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。よい世界へ私たちが暮らす世界を大切に思い、よりよいものにしたいと考えています。人のためのソフトウェア開発を加速し私たちのミッションを実現することで、この思いを成し遂げようとしています。私たちは利益の1%をさまざまな慈善団体に寄付しています。会社として、また従業員として、そうしたことの価値を強く信じているからです。with.プライバシーBTあなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。アドレス*Eメールを変更すると確認のメールが配信されます。会社名:現在の会社名をご入力ください。Other組織規模:現在の組織規模をご入力ください。2,501+国:現在の国を設定してください。Zimbabwe都道府県:現在の都道府県に設定してください。次の都道府県にアップデートする:ニュースレターを購読しますか?インダストリーメールを購読しますか?本Eメールに登録すると、以前より関心のあったトピックの関連情報をお送りする場合がございます。詳細はこちらのプライバシーポリシーをご覧ください。newsletter?新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。