私は、単純化された紡錘体が可能であると決して思いませんでした



私は、2021年のソフトウェアエンジニアが、一生懸命働いているだけでなく、賢く働くことを伝える公正な声明であると思います.レッスンは、過去5年間で学んだ上で、アプリケーションとサービスが可能な限りダイナミックとして作成され、レーザー焦点のビジネスニーズを満たすように設計されています.
この同じアプローチはDEVOPSスペクトラムにその方法を見つけました、そこで、私はしばしば「コードとして*」として、コンポーネントが宣言的につくられるのを許します.このアプローチは、開発者がソースコードを15年以上使用しているGitバージョン管理システムを活用しています.DEVOPSエンジニアは、配達の準備ができているパッケージ化されたソフトウェアを提供する連続集積(CI)パイプラインを届ける際に、途方もないストライキをしました.
しかし、この日には、連続配信(CD)の側面はまだ課題を提示します.成功した展開の方法でしばしば得るギャップを公開する課題.私がよく見ている2、3の課題は、
  • 展開を事前にチェックする簡単な方法はありません.これは、他の環境で失敗しない間に、1つの環境で成功した展開が失敗する可能性があります.
  • 以前の展開にロールバックする
  • は本当にロールバックではありませんが、提供されたコミットの以前のバージョンへの再配備は、完全なアプリケーションまたはサービスの前の状態へのロールバックではありません.
  • これらのギャップは完全にソフトウェア開発ライフサイクルを完了するために対処する必要があります.

    なぜspinnaker素晴らしいですか


    Spinnakerは、すべての主要なクラウドサービスプロバイダ(AWS、Azure、Google)を対象とした、マルチクラウド連続配信と展開に焦点を当てたオープンソースソリューションです.Ci/CDのCD面に焦点を当てて、Spinnakerはすべての業界トップのCIツールで働きます.
    Spinnakerは計画展開のための自動事前チェックを実行することによって上記のギャップを短縮します.事前チェックステージが完了すると、Spinnakerはカナリアを展開し、カナリアによって放映されたテレメトリを監視し、カナリアと既存の艦隊の間の変化に目を向けている.成功すると、Spinnakerは、アプリケーションの風景の残りのための青/緑の展開を利用します.
    Spinnakerを使用して、ロールバックを自動化することができます実際のアプリケーションまたはサービスを元の状態に戻すことができます.これは単に既存のバージョンを新しいバージョンとして再配備するのとは対照的です.真のロールバックアプローチを取ることは、アプリケーションの生態系全体に対してより不穏な影響をもたらし、新しいバージョンとして古いバージョンを単に再配備することに関連する外部の影響の可能性を減らす.
    Spinnakerは誰のリストは誰のリストは、アドビ、Airbnb、Comcast、Netflix、樹液、transunion、およびSalesforceを含む世帯の名前です.
    しかし、Spinnakerへの最大の課題は、それは高学習曲線を提示する非常に複雑なプラットフォームであることです.以下は、Spinnakerのデザインとアーキテクチャの説明です.

    どのように兵器庫を助けることができる


    Armoryは、spinnakerソリューションを簡素化するだけでなく、実際にマルチクラウド連続配信と展開プラットフォームの値を拡張するために作成されました.ArmoryがアプリケーションライフサイクルのCDアスペクトに導入される主な特徴のいくつかは以下のようになります.
    洗練されたパイプラインをコードとして紹介し、さらに集中したパイプラインを可能にすることによって一歩踏み出す.
  • は、以下のような要素を簡単に追加/削除するためのオプションをスケーリングします.
  • の開発環境
  • アプリケーションインスタンス
  • 展開風景への
  • の変更
  • クラスターサイズ設定
  • Kubernetes
  • のためのArmoryエージェントを使用するより良いKubernetes管理
    カスタムポリシーを許可する
  • ポリシーエンジン
    これらの拡張機能は、何のdevOpエンジニアは、ネイティブ製品で同様のオプションを構築するために時間内に重要な投資の要件なしでspinnakerで行うことができますを開きます.

    Armoryが価値を提供する方法


    前のセクションは、ArmoryがアプリケーションライフサイクルのCD面を助けることができる方法の若干の高レベル特徴を提供しました.これらの特徴には価値観があるが、最大の課題はスプリントの価値を消費することなく「ゼロから紡錘まで」である.
    以下は、誰もがアーマーの裁判の評価プロセスの初期値を見ることができる方法のいくつかの重要な側面です.

    ミニカー


    ArmoryのMinnakerオープンソースプロジェクトは、自動的にArmoryの最新バージョンを含む約10分で、完全に機能的な環境を作成することによって、Spinnakerから混乱を取るように設計されています!はい、スピンナとゼロの600秒でアーマー.実際、私のMacBook Proを使用すると、これらの命令には問題なしでフォローできました.
    https://github.com/armory/minnaker#installation
    完了したら、次の手順でSpinnakerのインストールにアクセスできました.
    https://github.com/armory/minnaker#accessing-spinnaker
    細かい詳細に興味のある方は、Spinnaker自身が提供する「Get Start」ページにアクセスできます.
    https://spinnaker.io/guides/user/get-started/

    完全宣言設計


    SpinnakerとArmory Runningで、Dinghyを使用しているYAML(YAML ANN Markup Language)データ直列化言語を通して宣言的なアプローチを使用している意図したデザインを構築し始めることが可能です.以下は、「パイプラインとしてパイプライン」を提供するために利用されるdinghyfileの例です.
    {
      "application": "helloworldapp",
      "globals": {
        "save_app_on_update": true
      },
      "spec": {
        "appmetadata": {
          "dataSources": {
            "enabled": [
              "securityGroups",
              "loadBalancers",
              "executions",
              "serverGroups"
            ],
            "disabled": [
              "canaryConfigs"
            ]
          },
          "cloudProviders": [
            "kubernetes",
            "aws"
          ],
          "customBanners": [
            {
              "backgroundColor": "var(--color-alert)",
              "enabled": true,
              "text": "Your custom banner text",
              "textColor": "var(--color-text-on-dark)"
            }
          ]
        }
      },
      "pipelines": [
        {
          "application": "helloworldapp",
          "name": "my-pipeline-name",
          "stages": [
            {
              "name": "one",
              "type": "wait",
              "waitTime": 10
            }
          ]
        }
      ]
    }
    
    その後、YAMLデザインの結果はGitベースのリポジトリに含まれることができます.そして、それはそれから生産を通してずっとサンドボックスから実装で使用されることができます.

    選考


    機体がテーブルに持ってくる価値を考慮する際に留意すべきいくつかの項目があります.
  • 配備のチェックチェック:基本的なspinnakerの実装では、インストールされていない設定や依存関係の恐れは、展開のチェックで緩和されます.
  • デベロッパーに焦点を当てられた実現:アーマーは、最も知識チームが与えられたサービスを所有することを可能にします.
  • 真のロールバック:Spinnaker/Armoryデザインで、それは依存性を含む指定されたサービスをロールバックする100 %です.ロールバックのデザインは、風景を監視するオブザーバブルを介して自動化することもできます.
  • アプリケーション中心のダッシュボード(アドオン製品)


    Splunkを利用している顧客はアプリケーション中心のダッシュボードをつくることができます.以下は、連続検証タブに表示できるものの例です.

    研究と評価(DRIA)メトリクスを加速したり、克服したりするのに興味のある方は、上記の例に含まれる回復(MTTR)分析の平均時間を認識するかもしれません.

    結論


    2021年から始まって、次のミッションステートメントに焦点を当てました.

    “Focus your time on delivering features/functionality which extends the value of your intellectual property. Leverage frameworks, products, and services for everything else.”

    • J. Vester

    Armoryソリューションは確かに機能チームがビジネス価値を提供することに集中し続けることができるサービスの分類に落ちます.アーマーには以下のような付加価値があります.
    ディンギーとYAML を使用している
  • 宣言的なデザイン
    Minnakerは、ちょうど10分
  • で速いスタートを許します
  • アプリケーションワイドスケーリングオプション
  • 真のロールバック機能
  • 主要なクラウド・プロバイダを対象としたCD解決策を求めている誰でも、評価する製品とサービスの短いリストにArmoryを含まなければなりません.Armoryが証明されたSpinnaker解決を拡張する方法は、ソフトウェア開発ライフサイクルの配達局面を単純化します.そして、途中でさらなる特徴を提供します.
    本当に素晴らしい一日を!