Gleyzer両氏によって共同開発されました。2019で、同言語の発表を行いました。InfoQはPurdy氏に言語と、氏らが解決を目指した問題について聞きました。設計/アーキテクチャアジャイルマニュフェスト:ソフトウェアアーキテクトの視点ソフトウェアアーキテクトの役割と責任はアジャイルソフトウェア開発のためのマニフェストの価値と矛盾していると見えますが、優れたアーキテクトはアジャイル開発チームをサポートするテクニックを見つけています。Streamingは、ストリーミングデータのためのSQLライクなインターフェースを提供します。Streamsによって、Redisがストリーミングデータを複数のプロデューサとコンシューマの間で消費、保持、配信することができるようになります。ソフトウェア開発のマニフェストたゆまず息もつかずに市場に突進することで、会社を静かに消滅の崖っぷちへと追い込みます。それは設計してコードを書く方法を再考する時です。簡単さへの投資は、速さへの投資です。簡単さは知的財産の主鉱脈でもあります。競争上の優位性は、一度失ったら、もう一度手に入れることはほとんど不可能です。Buytaerts氏が過去10年間にわたって、企業がDevOps採用のハイプサイクルをくぐり抜け、変革に対する誤解を解消する過程を支援してきた経験について語ります。原文(投稿日:2018/02/19)へのリンクKubernetes(k8s)は短時間で大きく躍進している。等と競合し、同製品が優れていることが完全に証明された。完全な統合を発表したが、これはそれらのコンテナオーケストレーターの緩やかな死を意味している。最後まで残り続けたプラットフォームだ。エコシステムに参加するビッグネームが増え続けている。等がここで最初に思い浮かぶ。かかわるため、開発者は単一のコンテナオーケストレーションプラットフォームのみ習得する必要があるということだ。深く染まっていることも意味している。対するロックインとなる。ディストリビューション、サービスプロバイダ等の間でアプリケーションを自由に移動できる。認定された開発者がプロジェクトを開始し、支援後に引き続き実行する機会が与えられる。あり、どれにも誰にでも共有可能となる。どの程度依存しているかを示すコンテナ化されたサービス図だ。なく、移植性レイヤーと記載したことに注意してほしい。オブジェクトのみを示している。現実にはもっとプラットフォームと結びついている。要件に応じアプリケーション設計を推進する分散プリミティブ(Pod、サービス、コントローラ等)全てを提供している。これら新しいプリミティブとプラットフォーム機能により、将来の全サービス実装に使用するデザイン原則とデザインパターンを決定される。これらは日々の課題に取り組むためにどのようなテクニックを使用するかという「ベストプラクティス」と呼ばれるものにも影響を及ぼす。してではなく複数の観点からを包含する主要なパラダイムとしてみるべきだ。効果コンテナとオーケストレータ機能は新たな概念とプリミティブを提供する。新しいプリミティブの最高の価値を引き出しその力をバランスさせるためには、我々を導く新しい設計原則が必要になる。新しいプリミティブを使用すればする程、繰り返される問題を車輪の再発明で解決することになる。これがパターンの必要となるケースだ。デザインパターンが新しいプリミティブをどのように構築するかの処方箋を提供し、繰り返される問題をより迅速に解決できる。設計原則は抽象的で基礎的であり、頻繁に変更されることはないが、パターンは原始的な振る舞いの変更によって影響を受ける可能性がある。プラットフォームの新機能はパターンをアンチパターンや関連性の低いパターンにする場合がある。次に、日々利用する実践方法や技術もある。技術とは、タスクを効率的に実行する細かな小手先のものから広範な作業と実践方法にまで及ぶ。簡単かつ迅速に行える方法を見つければ即座に技術と実践方法を変更する。これが我々とプラットフォームが進化する方法だが、一方でなぜ我々がそのすべてを行っているのか?それこそ、この新プラットフォームを利用して利益と価値を得てニーズを満たすところだからだ。効果」は自己強制的かつ多面的だ。本記事の残りの部分で各カテゴリの例を詳しく掘り下げる。用いて具体的に比較する。領域には、クラス、オブジェクト、パッケージ、継承、カプセル化、ポリモーフィズム等の概念がある。ランタイムはオブジェクトとアプリケーション全体のライフサイクルを管理するために一定の機能と保証を提供する。ランタイムはアプリケーション作成におけるローカルインプロセスでのビルディングブロックを提供する。知られたこの考え方に全く新しい次元を追加する。プリミティブのみに依存しない。プリミティブも利用できる。分散概念とプリミティブの例をいくつか挙げる。プローブ等)にのみ頼ることが可能だ。サービスを利用できる。利用して非同期のアトミックな作業単位をスケジュールすることができる。定期的なタスクスケジューリングに使用できる。分散システムの一部としてのローカル・分散プリミティブインプロセスプリミティブと分散プリミティブは共通点を持つが、直接的な比較や置き換えはできない。それらは異なる抽象化レベルで動作し、異なる前提条件と保証がある。プリミティブのいくつかは一緒に利用される。例として、クラスを使用してオブジェクトを作成しコンテナイメージに配置する必要がある。動作を完全に置き換えることができる。間で共通点のある概念は殆どないが、遠すぎるものではない。ローカル・分散プリミティブのカテゴライズ過去、こちらに分散概念とプリミティブについてブログを記載してきた。ここでのポイントは、開発者が豊富なローカル・グローバル両方のプリミティブを利用して分散ソリューションを設計・実装できることだ。時間とともに新しいプリミティブは問題解決の新しい手段を生み出し、反復的に利用されるソリューションはパターンになる。設計原則は品質の高いソフトウェアを書くための抽象的なガイドラインと基本的なルールだ。この原則は具体的なルールを指定するものではないが、開発者の多くが理解し定期的に参照する言葉と共通の知恵を示している。原則と同様、コンテナ化されたアプリケーション作成の設計原則も存在する。原則はオブジェクト指向設計の推論のためにクラス、インタフェース、継承などのオブジェクト指向のプリミティブと概念を利用する。同様に、コンテナ化されたアプリケーション作成向けの以下に列挙する原則はコンテナイメージを基礎的なプリミティブとして用い、コンテナオーケストレーションプラットフォームをコンテナ実行時環境として利用する。コンテナベースのアプリケーションの設計原則は以下の通りだ。等のクラウドネイティブプラットフォームに適したコンテナ化アプリケーションを作成する可能性が高くなる。コンテナ設計原則これらの原則は十分にドキュメント化されており、ここからホワイトペーパーとして自由にダウンロードすることができる。原則のスニークプレビューは上記の通りだ。設計原則のスニーク・プレビューは上記となる。コンテナデザインパターン新しいプリミティブにはプリミティブ間の能力を説明する新しい原則が必要だ。プリミティブを使用すればするほど反復的な問題が解決され、パターンと呼ばれる反復的なソリューションと認識される。コンテナデザインパターンは手元の課題を解決するため最善の方法として、コンテナや他の分散プリミティブを構造化することに重点を置いている。コンテナに関するデザインパターンの短い一覧は以下の通りだ。本パターンではコントローラーがオブジェクトの変更を監視し、変更に基づいてクラスターを望む状態に変更する。氏によるコンテナデザインパターンの論文で行われている。氏は書籍を執筆し、同書では分散システムにおけるデザインパターンと関連するトピックについて述べている。いうタイトルで、これらすべてのデザインパターンとコンテナベースのアプリケーションの使用例を記載した書籍を執筆した。以下はこれらのパターンを可視化したものだ。コンテナデザインパターンプリミティブには原則と作成のためのパターンが必要となる。使用する場合のベストプラクティスと全体的な利点を見てみよう。実践とテクニック原則とパターンに加え、優れたコンテナ化アプリケーションを作成するには他のコンテナ関連のベストプラクティスとテクニックにも精通している必要がある。原則とパターンは頻繁には変更されない抽象的で基礎的な考え方だ。ベストプラクティスと関連するテクニックは具体的であり、頻繁に変更される可能性がある。一般的なコンテナ関連のベストプラクティスを次に示す。ファイルではなくシステム・ストリームへのロギングによりコンテナログが適切に収集され集約される以下はコンテナに関するベストプラクティスを持つリソースへリンクだ。谷を渡るには時間と忍耐が必要となる。開発者にもたらす利点の一覧を完成させたいと思う。戦略を進めることが望ましい。コンテナと管理プラットフォームはアプリケーションのレジリエンスを以下の様な様々な方法で向上させる。プラットフォームではアプリケーションエージェントを使用せずサービスを検出し、他サービスを利用することができる。フレームワーク等のツールを利用して、アプリケーション以外のネットワーク関連の責任をプラットフォームレベルに完全移行することができる。オブジェクトを利用して、サービス展開方法、他サービスやリソース前提条件の依存性を記述することができる。すべての情報を実行可能形式にすることで開発初期段階でアプリケーションのデプロイメント観点のテストを可能とし、プログラマブルアプリケーションインフラストラクチャとして扱うことができる。盛り上がっているのにはまだまだ理由がある。上に挙げたものは開発者バックグラウンドの人間に非常に役立つものを記載した。開発者の日々の生活にどのように影響しているかをあなたに説明することができたら幸いだ。焦点をあてたリソースへのリンクだ。