Googleのクラウド・オペレーション・サンドボックス


クラウド操作Sandboxは、Googleから最高のプラクティスを学ぶためにSRESを出展するためのシミュレーションツールとして機能し、実際のクラウドサービスに適用されます.このブログでは、Googleのクラウド操作サンドボックスの使用を取り巻くFAQのリストをまとめました.
Google SREのサンドボックスは、簡単な方法をあなたがSREになるために必要なコアのスキルを始めるために提供しています.これは、実際のGCP(Googleのクラウドプラットフォーム)環境のすべての行動の複雑さをシミュレートするように、SREのベストプラクティスを学習中に出展Sresは実践することができます.
良いSREになるために必要なコアスキルは以下の通りです.
  • 複雑なマイクロサービスに基づく雲環境
  • の可観測性
    事態が間違っているのとき、迅速な根本原因分析を実行している

  • ロールバックとモニタリング展開を自動化する

  • タイムスロット
  • の上のスロット、SLISを追跡する


  • サンドボックスImage Sourceで提供されるデモアプリケーションのアーキテクチャ
    雲の操作サンドボックスを使用すると、始めることができるとSREの専門知識に最初のステップを取ると質問に答え、';それは私の生産環境で動作しますか?Google SREのサンドボックスに関連するFAQのリストをまとめました.

    Q:サンドボックスの主要な特徴は何ですか?


    サンドボックスには多くの機能がありますが、このブログでは、観測可能性、ルート原因分析、ユーザーのトラフィックとSLO/SLIのトラッキングをシミュレートすることに焦点を当てています.これらの学習に使用されるサンドボックスの特徴は、クラウドトレース、Locust人工ロードジェネレータ、雲プロファイラ、雲デバッガとSREのレシピです.

    Q :サンドボックスを使ってカスタムスロットとスラを追跡できますか?


    サンドボックスが付属しているデモアプリケーションは、ロギング、監視、トレース、デバッグ、およびプロファイリング機能を事前に計装しているマイクロサービスを持っています.下のスクリーンショットでは、サービスレベルインジケータ(SLI)のデモアプリの定義を参照することができます.

    GoogleサンドボックスImage SourceにおけるSLISの定義
    あなたは、有効性、レイテンシー、またはデモアプリケーションの独自のカスタムメトリックを定義するに基づいてslisを選ぶことができます.
    代わりに、あなたの複製された生産環境のためにSLISを追跡するのを選ぶならば、あなたは別にサービスを計る必要があります.

    Q :どのモジュールを使ってサンドボックス内のトラフィックをシミュレートしますか?


    サンドボックスで使用されている人工負荷発電機は、Locustです.Locustは主にインフラストラクチャのロードベアリング能力をテストするために使用されます.Locustを使用すると、Pythonコードを使用して人工ユーザーの動作を定義できます.Locustは、Uptoユーザーをシミュレートすることによって負荷テストを行うことができます.

    軌跡負荷発生器Image Sourceのユーザインタフェイス
    以下では、Pythonコードを使用して、ユーザーの動作をシミュレートするコードスニペットを検索します.
    from locust import HttpUser, between, task
    class WebsiteUser(HttpUser):
        wait_time = between(5, 15)
        def on_start(self):
            self.client.post("/login", {
                "username": "test_user",
                "password": ""
            })
    

    Q : Googleクラウドデバッガとは何ですか?


    あなたは、生産に直面している問題がルート原因分析のためにテスト環境で再現することができない多くのインスタンスに気がつくかもしれません.根本的な原因を発見するには、ソースコードに移動するか、プログラム環境に実行しているときにログをプログラムに追加する必要があります.クラウドデバッガは、開発者がリアルタイムリクエストデータを使用して実行中にコードをデバッグすることができます.
    開発者には、リアルタイムデバッギングデータを使用して実行中のアプリケーションをデバッグするために、クラウドデバッガを使用するオプションがあります.プロジェクトの表示中にブレークポイントとログポイントを定義できます.ブレークポイントがヒットしたときにプロセス状態のスナップショットが表示されます.
    クラウドデバッガで、実行中のプロジェクトにログステートメントを追加すると、パフォーマンスが低下しません.一般的に、これはプログラムの展開を必要とするでしょう.プログラム/コードは、生産展開に関わる全てのリスクを伴います.

    Q : Googleクラウドプロファイラとは何ですか?


    クラウドプロファイラを使用して、アプリケーションで統計的なテストを行うことができます.これは、使用するプログラミング言語に応じて、CPUの使用量、ヒープサイズ、スレッドなどの統計情報を収集します.Profiler UIチャートを使用して、アプリケーションコードのパフォーマンスのギャップを識別できます.
    プロファイラライブラリをインストールしたら、アプリケーションでプロファイリングコードを記述する必要はありませんあなたがしなければならないのは、プロファイラライブラリを利用できるようにすることです.このライブラリは、レポートを生成し、さまざまな分析を行うことができます.
    デモアプリケーションを使用していない場合、プロファイラは関連するMicroServiceで動作するように構成する必要があることに注意してください.

    Q :サンドボックスを通じてトレースを学ぶツールは何ですか?


    クラウドトレースは、デベロッパーが要求待ち時間ボトルネックをグラフィカルに明らかにすることによって分散トレースを調べることを可能にする.開発者はアプリケーションコードを計測してトレース情報を収集します.トレースには、クラウドログ記録に加えられる環境情報も含まれます.サンドボックスは、プラットフォーム内でトレースを学ぶためにOpenencencusとOpenTelemrationを提供します.
    サンドボックスの使用方法は、OpenCensusです.OpenCensusプロジェクトはオープンソースであり、多くの言語でトレース計器を提供しています.さらに、Googleのクラウド操作ダッシュボードにトレースデータをエクスポートすることができます.データを調べるには、クラウドトレースUIを利用できます.

    タイムライン内のトレースをクリックすると、詳細なビューとトレースされた呼び出しの破壊と、その後行われた呼び出しを与える.

    Q:サンドボックスで私の生産/ステージング環境を複製できますか?


    それがGCP(Google Cloud Platform)でホストされるならば、あなたの生産/ステージング環境は複製されることができます.

    Q :複製環境の観測性を確認できますか?


    サンドボックスは、事前に測定可能と計装されているデモアプリケーション(ヒップスターショップ)を持っています.あなた自身の環境を使用している場合は、それに応じてマイクロサービスを計器する必要があります.

    Q :外部プラットホームにアラートを送信できますか?


    現在、デモサンドボックスは、基本的な機能を作り付けのインシデント管理システムを持っています.外部モジュールへのアラートの送信は、カスタムモジュールを作成した後に行うことができます.

    Q :サンドボックスはいくらですか?


    サンドボックスは無料で提供されます.しかし、それがGoogle Cloud Platform(GCP)プラットホームで使われることができるだけであるので、消費されるどんなコンピューティング資源も請求されます.

    Q :サンドボックスでMTTR(平均応答時間)を改善できますか?


    サンドボックスは、“SREのレシピ”と呼ばれる機能が自動的にあなたの環境の問題を生成します.それは良い方法を生産で物事を修正するためのスキルを学ぶことです.SREのレシピは、サンドボックスを備えたデモアプリケーションでのみ動作することに注意することが重要です.カスタムセットアップで問題を自動生成する独自のスクリプトを作成する必要があります.練習することによって、SRESは生産の問題を修正し、事故に対応するMTTR(平均応答時間)を減らすのに良くなる.

    Q :サンドボックスで私の生産環境のパフォーマンスをテストできますか?


    はい.サンドボックス環境は、合成トラフィックを生成するツールを持っているので、あなたの生産環境をテストするために使用することができます.しかし、サンドボックスには、徹底した単体テストと性能テストのためのどんなツールもありません.

    Q:どのような新機能サンドボックスに追加されますか?


    RunBooksは、近い将来にサンドボックスに追加される予定です.効果的なRunBooksを作成する重要なスキルすべてのsresを取得する必要があります.

    結論


    SRE Sandboxは、より良いSREになるためにあなたの技術をテストする絶好の場所です.彼らの仕事に効果的であるために、SRESは観測可能性、パフォーマンステストと分散建築の分野で専門知識を必要とします.Sandboxは、さまざまなシナリオをテストするためにSalesを発芽するための方法を提供します.いくつかの可能なシナリオには、異なるユーザー負荷の下でアプリケーションのパフォーマンスをチェックすることが含まれます.
    Squadcastは、SREのために造られる目的の事件管理ツールです.あなたのチームは、不要なアラートを取り除くことができる、関連する通知を受け取る、仮想事故の戦争室を使用してコラボレーションで作業し、tobookのように自動化ツールを使用して苦労を排除する.