Gleyzer両氏によって共同開発されました。2019で、同言語の発表を行いました。InfoQはPurdy氏に言語と、氏らが解決を目指した問題について聞きました。設計/アーキテクチャアジャイルマニュフェスト:ソフトウェアアーキテクトの視点ソフトウェアアーキテクトの役割と責任はアジャイルソフトウェア開発のためのマニフェストの価値と矛盾していると見えますが、優れたアーキテクトはアジャイル開発チームをサポートするテクニックを見つけています。Streamingは、ストリーミングデータのためのSQLライクなインターフェースを提供します。Streamsによって、Redisがストリーミングデータを複数のプロデューサとコンシューマの間で消費、保持、配信することができるようになります。ソフトウェア開発のマニフェストたゆまず息もつかずに市場に突進することで、会社を静かに消滅の崖っぷちへと追い込みます。それは設計してコードを書く方法を再考する時です。簡単さへの投資は、速さへの投資です。簡単さは知的財産の主鉱脈でもあります。競争上の優位性は、一度失ったら、もう一度手に入れることはほとんど不可能です。Buytaerts氏が過去10年間にわたって、企業がDevOps採用のハイプサイクルをくぐり抜け、変革に対する誤解を解消する過程を支援してきた経験について語ります。_原文(投稿日:2019/06/15)へのリンクDropboxでは毎日、35,000回近いビルドと数百万件の自動テストを実行している。実行されるテストの中には、コードの変更が原因で失敗したり、再現不可能な方法で失敗するものもある。不安定なテストを手動で無効にしたり、不正なコミットを元に戻したり、テストのオーナに失敗を通知するというのは、Dropboxの規模では困難だ。このような作業を自動化する目的で、Athenaは開発された。Athenaは、確定的なテストの失敗をオーナに通知し、不安定なテストを検出して隔離する。テストを失敗させたコミットの取り消しは行わない。コードをコミットする作業のサイクルは、基本的な"送信前"テストから始まり、マスターブランチとマージした後、"送信後"のテストを行う。送信後のカテゴリには、UIやエンドツーエンドなど、高価なテストが含まれている。なるインフラストラクチャなど、環境的要因によって失敗する可能性がある。並行性や乱数生成など、コード固有の特性が原因で失敗する場合もある。これまでのDropboxには、このような変更を元に戻すローテーションチームがあった。Shah氏から、Athenaの詳細について聞くことにした。Athenaは、テストが不安定かどうかの判断に、マルチステップアルゴリズムを使用する。一定期間内に複数回失敗した送信後テストにはマークが付けられ、コードの通過が許可される。失敗したテストはその後も実行され、失敗の原因がフレキネス(flakiness)あるいは不正なコードにあるかどうかが判断される。Athenaは、テストが失敗するようになったコミットを特定することもできる。このようなテストを自動隔離することにより、Dropboxでは、運用オーバヘッドの削減に成功した。Shah氏によると、Athenaは現在、"Dropboxのすべてのサービス(バックエンド、フロントエンド)の、テストのほとんどを監視しています。デスクトップまたはモバイルアプリケーションのテストはまだ監視していません。継続的インテグレーション(CI)はDropbox全社で使用されているが、デプロイメント戦略はサービスによって異なる。Shah氏が詳しく説明する。Dropboxには、個々のチームが所有する多数のバックエンドサービスと、dropbox.comを運用するメインのWebアプリケーションがあります。各サービスのデプロイを可能にするためには、無効サイトや実験サービスを除き、関連するすべてのテストがグリーンである必要があります。サービスの継続的デプロイを好むオーナもいれば、手作業でデプロイするオーナもいます。Shah氏が説明によると、Athenaにはステータスを監視し、開発者に可視性を提供するためのUIが用意されている。テスト単位の進行状況と、それぞれのコミットでテストを実行した結果を表示します。各テストにはそれぞれ、成功と失敗の分岐点(bisect)がどのコミットにあるかを示すメッセージと、テストを失敗させた可能性のあるコミットの範囲(下限および上限)があるので、緊急性のある場合は、ユーザ自身で問題の検出と修正を行うことができます。Athenaシステム自体の監視についてはどうだろう?この点に関しては、まだ行うべきことがある、とShah氏は言う。分岐点のバグのようなビジネスロジックのリグレッションの検出を支援するために、内部CIシステムの偽物(fake)を使用するユニットテストのスイートを用意しています。API保証が満たされていることを確認するための、CIシステムに対する統合テストもあります。この2つで、ほとんどの問題をキャッチします。Dropboxのサービスオーケストレーションシステムには、多くの基本的な問題を検出する、便利な自動生成アラートがあります。Athenaのカスタムリアルタイムモニタリングには、まだ着手できていません。CIシステムに問題がない限り、システムは通常動作します。CIシステムに問題があれば、私たちは事前に気付くでしょう。監視機能のないことは、特定のアップストリームAPIが遅く、タイムアウトが発生する場合に、何度か問題を引き起こしているので、それらをキャッチするために、基本的なアラートをいくつか追加したいと思っています。Athenaのロードマップには、テストを失敗させたコミットの自動取り消しと、デスクトップテストが含まれている。内部的な依存関係のため、オープンソース化は計画されていない。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見るあなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。あなたの意見をお聞かせください。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見る様々なイノベーターとアーリーアダプターがお送りするテクノロジーの概要を見る。自分がまだ知らないことに気づいていないと知るあなたが興味のあるトピックスをいつでも最新な情報に。あなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。よい世界へ私たちが暮らす世界を大切に思い、よりよいものにしたいと考えています。人のためのソフトウェア開発を加速し私たちのミッションを実現することで、この思いを成し遂げようとしています。私たちは利益の1%をさまざまな慈善団体に寄付しています。会社として、また従業員として、そうしたことの価値を強く信じているからです。with.プライバシーBTあなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。アドレス*Eメールを変更すると確認のメールが配信されます。会社名:現在の会社名をご入力ください。Other組織規模:現在の組織規模をご入力ください。2,501+国:現在の国を設定してください。Zimbabwe都道府県:現在の都道府県に設定してください。次の都道府県にアップデートする:ニュースレターを購読しますか?インダストリーメールを購読しますか?本Eメールに登録すると、以前より関心のあったトピックの関連情報をお送りする場合がございます。詳細はこちらのプライバシーポリシーをご覧ください。newsletter?新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。