Gleyzer両氏によって共同開発されました。2019で、同言語の発表を行いました。InfoQはPurdy氏に言語と、氏らが解決を目指した問題について聞きました。設計/アーキテクチャアジャイルマニュフェスト:ソフトウェアアーキテクトの視点ソフトウェアアーキテクトの役割と責任はアジャイルソフトウェア開発のためのマニフェストの価値と矛盾していると見えますが、優れたアーキテクトはアジャイル開発チームをサポートするテクニックを見つけています。Streamingは、ストリーミングデータのためのSQLライクなインターフェースを提供します。Streamsによって、Redisがストリーミングデータを複数のプロデューサとコンシューマの間で消費、保持、配信することができるようになります。ソフトウェア開発のマニフェストたゆまず息もつかずに市場に突進することで、会社を静かに消滅の崖っぷちへと追い込みます。それは設計してコードを書く方法を再考する時です。簡単さへの投資は、速さへの投資です。簡単さは知的財産の主鉱脈でもあります。競争上の優位性は、一度失ったら、もう一度手に入れることはほとんど不可能です。Buytaerts氏が過去10年間にわたって、企業がDevOps採用のハイプサイクルをくぐり抜け、変革に対する誤解を解消する過程を支援してきた経験について語ります。Londonで講演[スライドのPDF]し,250を越える重要なサービスの設定とKubernetesへのデプロイを並行して実施する1,000人以上のエンジニア(1日あたりの平均デプロイ数は500に及ぶ)をサポートするために,Airbnbが社内で使用しているツールと戦略について語った。実現のために重要な役割を果たしたのは,標準化された環境とネームスペースを使って,上位のプリミティブからKubernetes設定を抽象化し,生成するためのレイヤ(および可能な限りの自動検証)を設けたことだ。エンジニアの共通ワークフローの自動化や,すべての環境において同じツールを使うようにしたことにも大きな意味があった。kube-genは,サービスのパラメータ(単一のYAMLファイルで定義する)を与えることで,必要とされる定型的な設定を追加した完全なKubernetesサービス構成を生成可能な,Airbnbの社内ツールである。cookbookにあるような)を使用していたが,インフラストラクチャ障害の影響が連鎖するという問題が発生していた。そのため,目標のひとつは,サービス設定にYAMLテンプレートを使って,潜在的なミスによる影響範囲を縮小することにあった。kube-genのもうひとつの大きな目標は,Kubernetesの構成やツールに関する複雑性を抽象化することで,長期間の学習カーブを必要とせずに,必要なレベルの独立性(標準化された環境名に基づいて自動生成される名前空間による保証を含む)を持って,エンジニアリングチームが自身のサービスのデプロイメントに関する所有権を所持することにあった。kube-genはAirbnb特有の状況に対処するものであるため,一般公開はされていないが,Cebula氏はオープンソースの代替製品としてhelm(パッケージ管理),kustomize(ファイル継承による構成設定),kapitan(テンプレートを使用した構成設定)などをあげている。Aribnb)等質で変更の容易な構成を進める上で,さらなる戦略として,コマンドひとつで可能なサービススケルトンリポジトリの作成,ビルド時およびデプロイ時における構成ファイルの検証(文法のみでなく,無効なプロジェクト名やオーナといった値に関する既知の問題について),(生成された)サービス構成のバージョン管理なども実施している。新たに生成されたサービスのgitリポジトリには,適切なデフォルト値とグッドプラクティス(デフォルトでの自動スケールやドキュメント生成など)が自動的に入力された,アプリケーションとインフラストラクチャの定型ファイル(CI/CD用を含む)が含まれている。加えて,異なるチャネルへの異なるバージョンの配布(stableとbetaというように)も可能になる。Airbnb)Airbnbにはkという社内ツールもある。kはおもにkubectl用の独自ラッパで,kubectlの冗長な出力のフィルタリングを行う他,前述のkube-genツールのラッピング,Dockerイメージの生成とプッシュといった機能も備えている。このツールは,一般的なワークフローを自動化することにより,Kubernetesのツールの複雑さを抽象化して,エンジニアリング作業を単純化および標準化するために開発されたものだ。Cebula氏によれば,開発者とインフラストラクチャエンジニアが共通のことばで話をし,同じツールを使用することにより,コラボレーションを強化する効果もあった。deployでKubernetesの名前空間の生成とKubernetesファイルの適用を行って,最終的なデプロイメント状態を待つ,というものである。環境(つまりローカルマシン,CI,ステージング,あるいは運用)に関わらず,サーバは同じ方法で構築され,デプロイされる。diagnoseでの実行も可能である。podeventsという,Airbnbが開発した2つのプラグインを使用する。起動しないコンテナの情報を収集し,関連するpodイベントを検出し,そのコンテナのログを取得するという,デプロイメントの問題をデバッグする場合の一般的な手順を自動化することが目標だ。最後にCebula氏は,AirbnbのKubernetes導入に関する,いくつかの未解決の問題について言及した。数千に及ぶ既存サービスのマイグレーションにおいては,もっとよいマルチクラスタサポートやスケール性が必要であること(サービスの中には数百のレプリカを使用するものもある),メモリを大量に使用するステートフルなサービスの扱い,すべての構成をカスタムコントローラを使ったGitOpsワークフローに移行すること,などが課題としてあげられていた。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見るあなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。あなたの意見をお聞かせください。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見る様々なイノベーターとアーリーアダプターがお送りするテクノロジーの概要を見る。自分がまだ知らないことに気づいていないと知るあなたが興味のあるトピックスをいつでも最新な情報に。あなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。よい世界へ私たちが暮らす世界を大切に思い、よりよいものにしたいと考えています。人のためのソフトウェア開発を加速し私たちのミッションを実現することで、この思いを成し遂げようとしています。私たちは利益の1%をさまざまな慈善団体に寄付しています。会社として、また従業員として、そうしたことの価値を強く信じているからです。with.プライバシーBTあなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。アドレス*Eメールを変更すると確認のメールが配信されます。会社名:現在の会社名をご入力ください。Other組織規模:現在の組織規模をご入力ください。2,501+国:現在の国を設定してください。Zimbabwe都道府県:現在の都道府県に設定してください。次の都道府県にアップデートする:ニュースレターを購読しますか?インダストリーメールを購読しますか?本Eメールに登録すると、以前より関心のあったトピックの関連情報をお送りする場合がございます。詳細はこちらのプライバシーポリシーをご覧ください。newsletter?新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。