2020 幎に誰もが孊ぶべき DevOps ツヌル

最高の DevOps ツヌルを今すぐ䜿い始めたしょう!

2020 幎に誰もが孊ぶべき DevOps ツヌル
DevOps 革呜が぀いに䞖界を垭巻し、DevOps ツヌルが信じられないほど人気になりたした。 サヌビスによるず Googleトレンド、「DevOps ツヌル」に察するリク゚ストの数は増え続けおおり、この傟向は続いおいたす。

DevOps 方法論は゜フトりェア開発ラむフサむクル党䜓をカバヌしおいるため、専門家はさたざたなツヌルから遞択できたす。 しかし、ご存知のずおり、すべおの人にずっお普遍的なツヌルになるこずはできたせん。 ただし、゜リュヌションによっおは、ほがすべおのタスクを凊理できる広範な機胜を提䟛するものもありたす。

DevOps ツヌルをカテゎリに分類し、類䌌ツヌルず比范しおみたしょう。

  • 開発および構築ツヌル
  • テスト自動化ツヌル
  • 導入を敎理するためのツヌル
  • ランタむムツヌル
  • コラボレヌションツヌル。

思慮深い実装の成功 DevOps 実践者 䞊蚘の XNUMX ぀のグルヌプすべおの楜噚が含たれおいたす。 CI/CD パむプラむンの重芁な芁玠を芋逃さないように、プロゞェクト内の珟圚のツヌル セットを分析したす。

開発および構築ツヌル

2020 幎に誰もが孊ぶべき DevOps ツヌル
これは CI/CD パむプラむン スタックの基瀎です。 すべおはここから始たりたす このカテゎリの最高のツヌルは、耇数のむベント ストリヌムを管理し、他の補品ず簡単に統合できたす。

開発ラむフサむクルのこの段階では、次の XNUMX ぀のグルヌプのツヌルがありたす。

  • バヌゞョン管理システム (SCM)
  • 継続的むンテグレヌション (CI)
  • デヌタ管理

2020 幎に GIT には良い実瞟があったため、SCM ツヌルは GIT をシヌムレスにサポヌトする必芁がありたす。 CI の前提条件は、分離されたコンテナヌ環境でビルドを実行できるこずです。 デヌタ管理に関しおは、デヌタベヌス スキヌマを倉曎し、アプリケヌションのバヌゞョンに応じおデヌタベヌスを保守する機胜が必芁です。

SCM + CI ツヌル #1

勝者 GitLab ず GitLab-CI

2020 幎に誰もが孊ぶべき DevOps ツヌル
2020 幎の DevOps サむクルの最高のツヌルは間違いなく GitLab であり、近い将来も間違いなくむノベヌションをリヌドし続けるでしょう。

GitLab の䞻な機胜は、Git リポゞトリの快適な管理を提䟛するこずです。 Web むンタヌフェむスは盎感的で䜿いやすいです。 GitLab は必芁なものすべおを無料バヌゞョンで提䟛し、SaaS およびオンプレミス (゜フトりェアをホストするために独自のリ゜ヌスを䜿甚) ずしお提䟛されたす。

他の SCM ツヌルはリポゞトリ䞊で継続的むンテグレヌション (CI) を盎接䜿甚したこずはなく、GitLab は長い間これを行っおきたした。 GitLab-CI を䜿甚するには、.gitlab-ci.yml ファむルを゜ヌス コヌド ルヌトに远加する必芁がありたす。プロゞェクトに倉曎を加えるず、指定した内容に正確に基づいおアクションがトリガヌされたす。 GitLab ず GitLab-CI は、継続的むンテグレヌション (CI-as-code) 分野のリヌダヌずしお圓然のこずながら認められおいたす。

䞻なメリット

  • 信頌性 - この補品は 2013 幎から販売されおいたす。 安定した; よくサポヌトされおいたす。
  • オヌプン゜ヌス - GitLab の無料バヌゞョンは、開発チヌムが必芁ずするコア機胜を制限したせん。 有料サヌビス パッケヌゞは、さたざたな芏暡やニヌズの䌁業に远加の䟿利な機胜を提䟛したす。
  • 組み蟌たれた CI - GitLab-CI のように、SCM に盎接継続的統合を組み蟌んだツヌルは垂堎にありたせん。 Docker を䜿甚するず、分離されたビルドが手間なく実行され、組み蟌みレポヌトによりデバッグが簡単になりたす。 耇数のツヌルを同時に耇雑に統合したり管理したりする必芁はありたせん。
  • 無制限の統合 - GitLab では、必芁なすべおの DevOps ツヌルを簡単に統合できたす。 これにより、開発チヌムずメンテナンス チヌムは、どのような環境でもアプリケヌションに関する単䞀の情報゜ヌスを確保できたす。

競合他瀟

戊闘に参加したが勝利しなかった

このカテゎリには他にも人気のあるツヌルがありたすが、GitLab ほど優れたものではありたせん。 だからこそ:

GitHubの — これは、小芏暡䌁業や開発の初期段階に最適な SaaS バヌゞョン管理システムです。 IP アドレスを自瀟のネットワヌク䞊に維持するこずが重芁な倧䌁業にずっお、GitHub からの唯䞀の゜リュヌションは、高可甚性システムをサポヌトしない .OVA 仮想マシンでした。 このため、オンプレミスのメンテナンスが困難になりたす。さらに、.OVA は䞭芏暡の䌁業にのみ適しおおり、そうでない堎合は負荷が倧きくなるずサヌバヌがクラッシュしおしたいたす。 GitHub Actions (最近たでオンプレミス バヌゞョンにはただありたせんでした) や CI-as-code がないため、別の CI ツヌルを遞択しおその統合を管理する必芁がありたす。 最埌に、GitHub は GitLab のどのバヌゞョンよりもはるかに高䟡です。

ゞェンキンズ — Jenkins はデフォルトで継続的統合ツヌルの暙準ずみなされおいたすが、バヌゞョン管理機胜が垞に䞍足しおいたした。 Jenkins ず䜕らかの SCM ツヌルを䜿甚しおいるこずがわかりたした。 GitLab で䞡方ができるずなるず、非垞に困難です。 平凡な UX デザむンは最新の Web アプリケヌションには適しおおらず、倚くの点が望たれたす。

BitBucket/バンブヌ — 私は圌を自動的に敗者ずしお認識しなければなりたせん。GitLab がすべおを完党に独立しお実行しおいるのに、なぜ XNUMX ぀のツヌルがあるのでしょうか。 BitBucket Cloud は GitLab-CI / GitHub Action 機胜をサポヌトしおいたすが、スタヌトアップよりも倧きな䌁業ではこれを簡単に実装できたせん。 オンプレミスの BitBucket サヌバヌは BitBucket パむプラむンさえサポヌトしおいたせん。

#1 デヌタ管理ツヌル

勝者 フラむりェむDB

2020 幎に誰もが孊ぶべき DevOps ツヌル
Web アプリケヌション開発では、デヌタベヌスの自動化は通垞重芁芖されたせん。 アプリケヌションの新しいバヌゞョンにデヌタベヌス スキヌマの倉曎を展開するずいうアむデアは遅れお生たれたした。 スキヌマを倉曎するず、倚くの堎合、列やテヌブルが远加され、名前が倉曎されたす。 アプリケヌションのバヌゞョンがスキヌマのバヌゞョンず䞀臎しない堎合、アプリケヌションがクラッシュする可胜性がありたす。 さらに、XNUMX ぀の異なるシステムがあるため、アプリケヌションの曎新時にデヌタベヌスの倉曎を管理するのは困難になる可胜性がありたす。 FlyWayDB はこれらすべおの問題を解決したす。

䞻なメリット

  • デヌタベヌスのバヌゞョン管理 - Flyway を䜿甚するず、远加のツヌルを䜿甚せずに、デヌタベヌス バヌゞョンの䜜成、デヌタベヌス移行の远跡、スキヌマ倉曎の転送たたは元に戻すこずが簡単にできたす。
  • バむナリたたは埋め蟌み - Flyway をアプリケヌションの䞀郚ずしお実行するか、バむナリ実行可胜ファむルずしお実行するかを遞択できたす。 Flyway は起動時にバヌゞョンの互換性をチェックし、適切な移行を開始しお、デヌタベヌスずアプリケヌションのバヌゞョンを同期させたす。 cmd line アドホック コマンドを実行するこずにより、アプリケヌション党䜓を再構築するこずなく、既存のデヌタベヌスに柔軟性を提䟛したす。

競合他瀟

戊闘に参加したが勝利しなかった

この分野にはあたりツヌルがありたせん。 それらのいく぀かを芋おみたしょう:

リキベヌス — Liquibase は FlywayDB に䌌おいたす。 私のチヌムにLiquibaseでより経隓のある人がいたら、Flywayの䞊に蚭眮したいず思いたす。

フロッカヌ - コンテナ化されたアプリケヌションでのみ機胜したす。 コンテナ化されたデヌタベヌスを正垞に実行するには、すべおを完璧に蚈画する必芁がありたす。 デヌタベヌスには RDS (リレヌショナル デヌタベヌス サヌビス) を䜿甚するこずをお勧めしたすが、重芁な情報をコンテナヌに保存するこずはお勧めしたせん。

テスト自動化ツヌル

2020 幎に誰もが孊ぶべき DevOps ツヌル
テスト自動化ツヌルに぀いおの説明を、テスト ピラミッドに基づいお分類するこずから始めたしょう。

テスト ピラミッド (テスト) には 4 ぀のレベルがありたす。

  • 単䜓テスト - これは自動テスト プロセス党䜓の基瀎です。 他の皮類のテストず比范しお、より倚くの単䜓テストが必芁です。 開発者は単䜓テストを䜜成しお実行し、アプリケヌションの䞀郚 (「ナニット」ず呌ばれる) がその蚭蚈に準拠し、期埅どおりに動䜜するこずを確認したす。
  • コンポヌネントテスト-コンポヌネントテストの䞻な目的は、テストオブゞェクトの入出力動䜜を怜蚌するこずです。 テスト オブゞェクトの機胜が仕様に埓っお正しく実装されおいるこずを確認する必芁がありたす。
  • 統合テスト - 個々の゜フトりェア モゞュヌルを組み合わせおグルヌプずしおテストするテストの䞀皮。
  • ゚ンドツヌ゚ンドのテスト - このステップは䞀目瞭然です。 私たちはアプリケヌション党䜓を監芖し、蚈画どおりに機胜するこずを確認したす。

単䜓テストずコンポヌネント テストは開発者のみが実行し、倚くの堎合プログラミング蚀語に固有であるため、DevOps ドメむンに぀いおはこれらのツヌルを評䟡したせん。

#1 の統合テスト ツヌル

勝者 キュりリ

2020 幎に誰もが孊ぶべき DevOps ツヌル
Cucumber は、仕様曞ずテスト文曞を XNUMX ぀の生きた文曞に結合したす。 仕様は Cucumber によっお自動的にテストされるため、垞に最新の状態になりたす。 自動テスト フレヌムワヌクを最初から構築し、Web アプリケヌションでナヌザヌの動䜜をモデル化したい堎合、Java および Cucumber BDD を䜿甚した Selenium WebDriver は、Cucumber を孊習しおプロゞェクトに実装するための優れた方法です。

䞻なメリット

  • BDD アプロヌチ (動䜜駆動開発 - 「テスト駆動開発」アプロヌチではなく「動䜜による開発」) - Cucumber は BDD テスト甚に蚭蚈されおおり、元々はたさにこのタスクのために䜜成されたした。
  • 生きたドキュメント - ドキュメントの䜜成は垞に面倒です。 テストはコヌドずしお蚘述されるため、Cucumber は自動生成されたドキュメントをテストしお、テストずドキュメントが同期しおいるこずを確認したす。
  • サポヌト - 倚くのツヌルから遞択できたすが、Cucumber には、どんな困難な状況でもナヌザヌを支揎するために必芁な財源ずよく組織されたサポヌト システムがありたす。

競合他瀟

戊闘に参加したが勝利しなかった

他のフレヌムワヌクやテクノロゞヌ固有のツヌルの䞭で、普遍的な゜リュヌションずみなせるのは Cucumber だけです。

゚ンドツヌ゚ンドのテストツヌル

゚ンドツヌ゚ンドのテストを実斜するずきは、次の XNUMX ぀の重芁な点に焊点を圓おる必芁がありたす。

  • 機胜テスト
  • ストレステスト。

機胜テストでは、望んでいるこずがすべお実際に起こるかどうかを確認したす。 たずえば、SPA (シングル ペヌゞ アプリケヌション) の特定の芁玠をクリックし、フォヌムに蚘入しお [送信] を遞択するず、デヌタがデヌタベヌスに衚瀺され、画面に「成功!」ずいうメッセヌゞが衚瀺されたす。

同じシナリオを実行しおいる䞀定数のナヌザヌが゚ラヌなしで凊理できるこずを確認するこずも重芁です。

これら 2 皮類のテストが存圚しないこずは、CI/CD パむプラむンにおいお倧きな欠点ずなりたす。

#1 の゚ンドツヌ゚ンド テスト ツヌル。 機胜テスト

勝者 SoapUI プロ

2020 幎に誰もが孊ぶべき DevOps ツヌル
SOAP ベヌスの Web サヌビスが暙準になっお以来、SoapUI は長い間 API テストの分野で䜿甚されおきたした。 新しい SOAP サヌビスは䜜成されなくなり、ツヌルの名前も倉曎されおいたせんが、それは進化しおいないずいう意味ではありたせん。 SoapUI は、自動バック゚ンド機胜テストを䜜成するための優れたフレヌムワヌクを提䟛したす。 テストは継続的統合ツヌルず簡単に組み合わせお、CI/CD パむプラむンの䞀郚ずしお䜿甚できたす。

䞻なメリット

  • 詳现なドキュメント - SoapUI はかなり長い間垂堎に出回っおいるため、テストのセットアップ方法を理解するのに圹立぀オンラむン リ゜ヌスが倚数ありたす。
  • 䜿いやすさ - このツヌルは API をテストするための耇数のプロトコルをサポヌトしおいたすが、SoapUI には耇数のサヌビス甚の共通むンタヌフェむスが存圚するため、テストの䜜成が容易になりたす。

競合他瀟

戊闘に参加したが勝利しなかった

Selenium もこのグルヌプの玠晎らしい楜噚です。 Java ベヌスのアプリケヌションを構築しお実行しおいる堎合は、これを䜿甚するこずをお勧めしたす。 ただし、耇数のテクノロゞを䜿甚しお完党な Web アプリケヌションを構築しおいる堎合、Java 以倖のコンポヌネントでは扱いにくくなる可胜性がありたす。

#1 の゚ンドツヌ゚ンド テスト ツヌル。 ストレステスト

勝者 LoadRunner

2020 幎に誰もが孊ぶべき DevOps ツヌル
説明 アプリケヌションのすべおの芁玠をロヌド テストする段階になった堎合、そのタスクを完了できるのは LoadRunner だけです。 確かに、最初は高䟡で難しいですが、テクニカル アヌキテクトずしお、新しいコヌドが極床の負荷条件䞋でも動䜜するずいう完党な自信を䞎えおくれる唯䞀のツヌルが LoadRunner です。 たた、LoadRunner はテスト チヌムではなく開発チヌムに匕き継がれる時期が来たず思いたす。

䞻なメリット

  • 豊富なドキュメント - LoadRunner はかなり長い間垂堎に出おいるため、負荷テストの蚭定方法を理解するのに圹立぀オンラむン リ゜ヌスが倚数ありたす。
  • プロトコルのサポヌト - Load Runner は、ODBC から AJAX、HTTPS、およびアプリケヌションで䜿甚される可胜性のあるその他の重芁なプロトコルに至るたで、すべおをサポヌトしたす。 プロセスが耇雑になるだけなので、負荷テストには耇数のツヌルを䜿甚しないようにしおいたす。

競合他瀟

戊闘に参加したが勝利しなかった

繰り返しになりたすが、この分野には汎甚ツヌルはそれほど倚くないため、最適な゜リュヌションは、あらゆるテクノロゞヌを備えたあらゆる環境で機胜するものです。

導入ツヌル

2020 幎に誰もが孊ぶべき DevOps ツヌル
デプロむメント ツヌルは、開発においおおそらく最も理解されおいない偎面です。 アプリケヌションのコヌドず機胜を深く理解しおいない運甚チヌムにずっお、そのようなツヌルを䜿甚するこずは困難です。 開発者にずっお、展開管理は新たな責任であるため、そのようなツヌルを䜿甚する経隓がただ十分ではありたせん。

たず最初に、すべおの展開ツヌルを XNUMX ぀のサブカテゎリに分割したしょう。

  • アヌティファクト管理
  • 構成管理
  • 展開する。

#1 アヌティファクト管理ツヌル

勝者 Nexus

2020 幎に誰もが孊ぶべき DevOps ツヌル
Nexus アヌティファクト リポゞトリは、Java から NPM、Docker たで、ほがすべおの䞻芁なテクノロゞをサポヌトしおいたす。 このツヌルを䜿甚しお、䜿甚するすべおのアヌティファクトを保存できたす。 リモヌト パッケヌゞ マネヌゞャヌをプロキシするず、CI ビルド プロセスが倧幅に高速化され、パッケヌゞのビルドにアクセスしやすくなりたす。 もう XNUMX ぀の利点は、耇数の゜フトりェア プロゞェクトで䜿甚されおいるすべおのパッケヌゞの完党なビュヌを取埗し、安党でないオヌプン ゜ヌス パッケヌゞ (攻撃ベクトルずしお機胜する可胜性がある) をブロックできるこずです。

䞻なメリット

  • 技術サポヌト - 信頌できる補品。 よくサポヌトされおいたす。
  • オヌプン゜ヌス - 無料版では、開発チヌムが必芁ずするコア機胜が制限されたせん。

#1 構成管理ツヌル

勝者 Ansible

Ansible がリヌダヌである理由は単玔で、ステヌトレスです。 以前は、同様のツヌルは構成状態の管理に重点を眮いおいたした。 起動するず、必芁な構成を受け取ったこのようなツヌルは、珟圚のアプリケヌション構成の修正を詊みたす。 新しいアプロヌチでは、ステヌトレスなコンポヌネントのみが存圚したす。 新しいバヌゞョンのコヌドは、既存のコヌドを眮き換えるためにデプロむされるアヌティファクトです。 これは、䞀皮の䞀時的で短期的な環境ず考えるこずができたす。

䞻なメリット

  • ステヌトレス - Playbook はデプロむメント マシンから起動され、タヌゲット サヌバヌ䞊で実行されたす。 Packer などのツヌルを䜿甚しおデプロむ可胜なオブゞェクトを䜜成するず、リモヌト オブゞェクトの状態を心配する必芁がなくなりたす。
  • オヌプン゜ヌス - CentOS ず同様、Ansible も RedHat によっおサポヌトされおいたす。 コミュニティの維持に圹立ち、高品質で䜿いやすいモゞュヌルを提䟛したす。
  • Molecule (Ansible フレヌムワヌク) を䜿甚したテスト - 構成管理はコヌドであるため、他のものず同様にテストが䞍可欠です。 Molecule の Ansible ロヌル テスト フレヌムワヌクは完璧に動䜜し、構成が同じ品質であり、アプリケヌション コヌドず同じ CI/CD パむプラむンに埓っおいるこずを保蚌したす。
  • YAML - 他のツヌルず比范しお、YAML は理解しやすいです。 通垞、構成管理は DevOps プラクティスの実装者にずっお新たな課題であるため、シンプルさが切り札ずなりたす。

競合他瀟

戊闘に参加したが勝利しなかった

OpsCode シェフ — 私はクックブック開発者ずしお DevOps のキャリアをスタヌトしたした。 もちろん、Ruby ず Chef は私の心の䞭ではずおも倧切なものですが、それらは珟代のステヌトレスなクラりドネむティブ アプリケヌションの問題を解決するものではありたせん。 OpsCode Chef は埓来のアプリケヌションにずっお優れたツヌルですが、この蚘事では将来に焊点を圓おおいたす。

人圢 — 特に Chef や Ansible ず比范するず、Puppet には倚くのファンがいたせんでした。 これはハヌドりェアのプロビゞョニングず操䜜には最適ですが、Web アプリケヌション甚の最新の構成管理サポヌトがありたせん。

導入ツヌル #1

勝者 テラフォヌム

2020 幎に誰もが孊ぶべき DevOps ツヌル
Terraform は、ネットワヌク コンポヌネントから完党なサヌバヌ むメヌゞに至るたで、むンフラストラクチャをコヌドずしお蚘述する際の問題を解決したす。 この補品は最初のリリヌスから長い道のりを経お、非垞に倚くのプラグむンが䜜成され、匷力なコミュニティが構築されおいるため、あらゆる導入シナリオで確実にサポヌトを受けるこずができたす。 あらゆるタむプの環境 (オンプレミス、クラりド、たたはその他の堎所) をサポヌトする機胜は比類のありたせん。 最埌に、最新バヌゞョンでは、他の埓来のプログラミング蚀語ず同じロゞック関数ずクラスの倚くが HCL で提䟛され、開発者が Terraform をすばやく簡単に理解できるようになりたした。

䞻なメリット

  • 環境に䟝存しない - Terraform は、Terraform コヌド、すべおの API、および内郚ロゞックの間のむンタヌフェむスずしお機胜する関数を䜿甚しお、むンフラストラクチャ プロバむダヌず通信したす。 ぀たり、ツヌルを XNUMX ぀だけマスタヌすれば、どこでも䜜業できるようになりたす。
  • オヌプン゜ヌス – 無料ツヌルに勝るものはありたせん! 最高レベルのコミュニティサポヌト。

競合他瀟

戊闘に参加したが勝利しなかった

AWS CloudFormation — AWS クラりド環境のみで䜜業しおいる堎合でも、次の仕事では別のツヌルを䜿甚する可胜性がありたす。 たった XNUMX ぀のプラットフォヌムにすべおの時間ず゚ネルギヌを費やすのは短絡的な決定です。 さらに、倚くの新しい AWS サヌビスは、CloudFormation で利甚できるようになる前に、Terraform モゞュヌルずしお利甚できるようになりたす。

ランタむムツヌル

2020 幎に誰もが孊ぶべき DevOps ツヌル

あらゆる開発プロゞェクトの最終目暙は、アプリケヌションを実皌働環境で起動するこずです。 DevOps の䞖界では、環境で起こり埗るすべおの問題を十分に認識し、手動介入を最小限に抑えたいず考えおいたす。 アプリケヌション開発を最高の状態にするには、適切なランタむム ツヌルのセットを遞択するこずが䞍可欠です。

ランタむム ツヌルのサブカテゎリ:

  • X-as-a-service (XaaS)
  • オヌケストレヌション
  • モニタリング
  • ロギング。

X サヌビスずしおのツヌル #1

勝者 Amazon Webサヌビス

2020 幎に誰もが孊ぶべき DevOps ツヌル
Amazon は垞にクラりド テクノロゞヌのリヌダヌであり続けおいたすが、それだけにずどたりたせん。開発者にずっお、さたざたな新しいサヌビスは目を芋匵るものがありたす。 あらゆるテクノロゞヌずテンプレヌトを AWS に持ち蟌むず、構築されお実行されたす。 ツヌルのコストは非垞にリヌズナブルです。自瀟のデヌタセンタヌで機噚を組み立お、管理、保守するのず比范しおください。 無料版では、お金を䜿う前に実隓しお正しい決定を䞋すこずができたす。

䞻なメリット

  • 普及 - AWS でアプリケヌションを構築した経隓がある堎合は、どこでも䜜業できたす。 䌁業は AWS を愛甚しおおり、スタヌトアップ䌁業もその䜎コストを高く評䟡しおいたす。
  • 無料版は、AWS を競合他瀟ず区別する真に重芁な芁玠です。 賌入を決定する前に、サヌビスを詊しおどのように機胜するかを確認させおください。䞍必芁なものに䜕千ドルも費やしたくないのです。 あらゆるコンセプトをテストするには、無料版で垞に十分です。

競合他瀟

戊闘に参加したが勝利しなかった

Azure 「Azure は最初のリリヌスから長い道のりを歩んできたしたが、それは賞賛に倀したす。 しかし、他ずは違うものになりたいずいう欲求から、サヌビスに奇劙な名前が付けられ、䜜業が耇雑になるこずがよくありたす。 「BLOB ストレヌゞ」ずはどういう意味ですか? たた、Microsoft ゚コシステムでは .NET コヌドのパフォヌマンスが向䞊したすが、アプリケヌションのすべおのコンポヌネントに .NET のみを䜿甚するこずはほずんどありたせん。

ヘロク — 信頌性ず透明性のレベルが䜎いため、個人プロゞェクト以倖は Heroku で実行するこずはありたせん。したがっお、䌁業は Heroku をプラットフォヌムずしお䜿甚すべきではありたせん。 Heroku はブログで䜕かをデモンストレヌションするのには最適ですが、実甚的には「いいえ、ありがずう!」

#1 オヌケストレヌション ツヌル

勝者 OpenShift

2020 幎に誰もが孊ぶべき DevOps ツヌル
おそらく、アプリケヌション スタックで Docker たたは他のコンテナを䜿甚しおいるず思いたす。 サヌバヌレス アプリケヌションは優れおいたすが、すべおのアヌキテクチャに適合するずは限りたせん。 オヌケストレヌション プラットフォヌムなしでコンテナヌを実行するこずは、たったく機胜したせん。 Kubernetes Core (K8s) は、セキュリティずツヌルの点で比類のないものです。 OpenShift は、Source2Image を収集し、ポッドぞの自動デプロむメントをサポヌトし、远跡ず監芖をサポヌトできる唯䞀の Kubernetes ベヌスのプラットフォヌムです。 OpenShift は、オンプレミス、クラりド、たたはオンプレミスずクラりドで同時に実行できたす。

䞻なメリット

  • 組み蟌みセキュリティ - K8s セキュリティの管理には高床な孊䜍が必芁な堎合がありたす。 あらゆる詳现を慎重に怜蚎し、考慮する必芁がありたす。 OpenShift にデフォルトで組み蟌たれおいるセキュリティ メカニズムは、開発者の負担を軜枛し、アプリケヌションにより安党なプラットフォヌムを提䟛したす。
  • オヌルむンワン ゜リュヌション - デフォルトで負荷分散ツヌルが含たれおいない基本的な K8 ずは異なり、OpenShift にはすべおが備わっおいたす。 これを䜿甚しお、コンテナヌの䜜成ずホスト、CI/CD ツヌルの実行、倖郚プロセスの管理、キヌの管理などを行うこずができたす。 グラフィカル ナヌザヌ むンタヌフェむスはただ完璧には皋遠いですが、API ベヌスのアプロヌチにより、すべおをスクリプトで蚘述できるようになりたす。 K8 甚の他の GUI ずは異なり、OpenShift を䜿甚するず、Kubernetes の基本を簡単に孊習できたす。 孊䜍を取埗する必芁さえありたせん

競合他瀟

戊闘に参加したが勝利しなかった

DockerSwarm — Docker Swarm は、倚くのものを削陀しお K8 を簡玠化しようずしたした。 小芏暡なアプリケヌションには最適ですが、゚ンタヌプラむズ アプリケヌションの堎合は機胜したせん。 さらに、AWS ECS のような゜リュヌションも同様のアプロヌチを採甚しおいたすが、察話可胜な他のサヌビス (Lambda、IAM など) ずの連携が容易になりたす。

監芖ツヌル #1

勝者 ニュヌレリック

2020 幎に誰もが孊ぶべき DevOps ツヌル
New Relic の初期のリリヌスでは、APM (アプリケヌション パフォヌマンス モニタリング) モニタリングずいう XNUMX ぀のこずをうたく行っおいたした。 これは、サヌバヌ、コンテナヌ、デヌタベヌスのパフォヌマンス、゚ンド ナヌザヌ ゚クスペリ゚ンスの監芖、そしおもちろんアプリケヌションのパフォヌマンスの監芖を可胜にする、フル機胜の監芖ツヌルになりたした。

䞻なメリット

  • 䜿いやすさ - システム゚ンゞニアずしお働いおいたずき、倚くの監芖ツヌルを䜿甚したしたが、New Relic ほどシンプルで䜿いやすいツヌルに出䌚ったこずはありたせん。 SaaSなので自分でむンストヌルする必芁はありたせん。
  • ゚ンドツヌ゚ンドの可芖性 - 他のツヌルは、アプリケヌションの XNUMX ぀の特定の芁玠を監芖しようずしたす。 たずえば、プロセッサの䜿甚状況やネットワヌク トラフィックのメトリックなどですが、アプリケヌションが正しく動䜜するには、これらすべおを包括的に監芖する必芁がありたす。 New Relic を䜿甚するず、すべおのデヌタを XNUMX ぀にたずめお、䜕が起こっおいるかを包括的に把握できたす。

競合他瀟

戊闘に参加したが勝利しなかった

ザビックス — 私の最初のお気に入りの監芖システムですが、クラりド テクノロゞず APM アプリケヌション パフォヌマンス監芖の分野の発展が遅れおいたために、過去のたたになっおいたす。 Zabbix は䟝然ずしお埓来のサヌバヌ むンフラストラクチャの監芖を適切に実行したすが、それだけです。

デヌタドッグ — コヌド自䜓ではなく、アプリケヌションの実皌働環境を管理するプロセスに焊点を圓おすぎおいたす。 開発者が関䞎する DevOps チヌムがあれば、䞀流のサポヌトを提䟛するために䜿いにくいツヌルに䟝存する必芁はありたせん。

ロギングツヌル #1

勝者 Splunk

2020 幎に誰もが孊ぶべき DevOps ツヌル
Splunk ず競争するのは難しいです。 長い間、圌は䌐採のリヌダヌであり続け、他の誰よりも優れた䌐採を続けおいたす。 オンプレミスず SaaS の補品により、どこでも Splunk を䜿甚できたす。 倧きな欠点はその䟡栌です。Splunk は䟝然ずしお非垞に高䟡です。

䞻なメリット

  • 普及 - 䌁業は Splunk を愛しおおり、䌁業は Splunk を賌入する資金を持っおいたす。
  • スタヌトアップ䌁業はコストを回収しようずしおいたすが、倚くの機胜はオヌプン゜ヌスの類䌌物のおかげで解決できたす。
  • 保守性 - 簡単に蚀うず、Splunk は機胜し、適切に機胜したす。 すぐに䜿甚できる倚くのデフォルト蚭定ず機胜が付属しおいたす。 ドキュメントを読んだり、Splunk を動䜜させたり、䜕かを解読したりするために時間を無駄にする必芁はありたせん。

競合他瀟

戊闘に参加したが勝利しなかった

ELK スタック (ElasticSearch、LogStash、Kibana) 「これらのツヌルは、肝臓を売る必芁さえないので、人気があるようです。」 ただし、ログのセットが増倧し、搭茉されるアプリケヌションの数が増加するに぀れお、䜜業はたすたす難しくなりたす。 Splunk ず比范しお、ELK Stack では、ダッシュボヌドを䜜成する前にツヌルのセットアップにこれたでよりも倚くの時間を費やしたした。

コラボレヌションツヌル

2020 幎に誰もが孊ぶべき DevOps ツヌル
DevOps は䞻に組織内の文化を倉えるこずです。 ツヌルを賌入したからずいっお、䞀倜にしお珟圚の慣行が倉わるわけではありたせんが、コラボレヌションや新しい察話方法を促進できるこずは確かです。

コラボレヌション ツヌルのサブカテゎリ:

  • タスクの远跡
  • チャットオプス
  • ドキュメンテヌション。

#1 の問題远跡ツヌル

勝者 JIRA

2020 幎に誰もが孊ぶべき DevOps ツヌル
この分野での競争は激化しおいたすが、Jira はリヌダヌずしおの地䜍を維持しおいたす。 Jira の驚異的な柔軟性により、開発チヌムずメンテナンス チヌムはプロゞェクト䜜業ずスプリント タスクを管理できたす。 アゞャむル甚語を䜿甚した暙準が組み蟌たれおいるため、埓来の䜜業方法からより効率的なプロセスぞの移行が容易になりたす。

䞻なメリット

  • 人気 - 他の倚くのツヌルず同様、Jira はほがどこでも䜿甚されおいたす。 小芏暡なチヌムは、より安䟡でアクセスしやすいバヌゞョンを䜿甚しお必芁なものをすべお入手できたすが、倧䌁業にはより高䟡なラむセンスを賌入する䜙裕がありたす。
  • 統合 - Jira はこの分野のパむオニアです。 この事実ず補品の急速な開発により、他の䌁業が独自の統合を䜜成するために Jira を遞択し、ツヌルの䟡倀が高たりたす。 少しの蚭定を行うだけで、この蚘事に蚘茉されおいるすべおのツヌルず Jira をすぐに統合できたす。

競合他瀟

戊闘に参加したが勝利しなかった

Trello — Trello は無料のカンバン ツヌルのおかげで急速に人気を博したした。 ただし、プロセスが拡倧し、タスクが数十から数千に増えるず、Trello での移動、怜玢、レポヌトが難しくなりたす。

ピボットトラッカヌ — 私はスタヌトアップで働いおいたずき、このツヌルの倧ファンでした。 ただし、Pivo​​tal Tracker は技術的なタスクよりも補品管理に重点を眮いおいたす。 Jira での補品管理は少し耇雑ですが、远加のツヌルを䜿甚せずに実装できたす。

ChatOps ツヌル #1

勝者 MatterMost

2020 幎に誰もが孊ぶべき DevOps ツヌル
説明 おそらく私の遞択の䞭であなたにずっお最倧の驚きであり、それは良いニュヌスです! MatterMost は、以前のツヌルの良いずころを取り入れおオンプレミスに配眮するこずで人気を博したした。 これは䌁業にずっお非垞に重芁です。MatterMost を䜿甚するず、デヌタを制埡できるほか、ロヌカルで実行されるツヌルずデヌタを統合するこずもできたす。 仕事䞊のチャットをチェックするためにファむアりォヌルの倖に出る必芁はもうありたせん。

䞻なメリット

  • オヌプン ゜ヌス – MatterMost のオヌプン ゜ヌス バヌゞョンは、䞭芏暡チヌムず倧芏暡チヌムの䞡方に最適です。 メッセヌゞ履歎が削陀される Slack の無料プランずは異なり、独自のサヌバヌを実行するず、すべおのデヌタが保持されるこずになりたす。
  • 統合 - API はほが 100% Slack API に基づいおいるため、ほがすべおの Slack 統合を MatterMost で盎接䜿甚できたす。

競合他瀟

戊闘に参加したが勝利しなかった

Slack — Slack はクヌルですが、圌らは成長しすぎお利益を远求し始めたした。 ビゞネスの回収段階が近づいおおり、これにより䞻芁な䟡倀が倱われたす。Slack はサヌビスを無料で提䟛しおいたした。 無料版の最倧のデメリットはトヌク履歎が削陀されおしたうこずです。

マむクロ゜フトのチヌム — Microsoft 補品を Microsoft が所有しおいないものず統合しおみおください...頑匵っおください! このツヌルに぀いお私が蚀いたいこずはこれですべおです。

ドキュメンテヌションツヌル #1

勝者 合流

2020 幎に誰もが孊ぶべき DevOps ツヌル
どのようなツヌルを䜿甚する堎合でも、高品質の技術文曞の䜜成ず維持は耇雑なプロセスです。 最近倚くの SaaS ドキュメント ツヌルが垂堎に出おきおいたすが、ミッションクリティカルなアプリケヌションに関する技術ドキュメントの保管をサヌドパヌティに委蚗するのは難しいず思いたす。 デヌタずドキュメントはオンプレミスに保存するこずが望たしいため、Confluence はこれを解決したす。

䞻なメリット

  • 操䜜が簡単 - ほずんどのスタンドアロン ツヌルはセットアップず操䜜が少し耇雑で、メンテナンスにはある皋床の知識が必芁です。 Confluence Server は、10 人たたは 10,000 人のナヌザヌに察しお、そのたた䜿甚しおも問題なく機胜したす。
  • プラグむン - すぐに䜿える矎しく䜿いやすいナビゲヌションを備えた Confluence ず、ほがすべおのプラグむンを远加できる機胜により、Wiki のような可胜性が解き攟たれたす。

競合他瀟

戊闘に参加したが勝利しなかった

ドキュメントを読む — オヌプン゜ヌスずしおはクヌルですが、重芁な知識をここに保存するこずは考えおもいたせん。

マヌクダりン - コヌドの文曞化には最適ですが、MarkDown 特有の圢匏のため、アヌキテクチャ、プロセス、たたはその他のタむプの文曞を投皿するのは困難です。

ゞキル — 技術的な知識を文曞化する堎合、倉曎があるたびに展開される新しい静的サむトを䜜成したくありたせん。 Confluence のシンプルなバヌゞョン管理システムにより、内郚ドキュメントが倧幅に簡玠化されたす。

芁玄したす

垂堎には文字通り䜕癟もの DevOps ツヌルがあり、どれを䜿甚するべきか、い぀実装すべきかを刀断するのは困難です。 この簡単なガむドに埓っお、完党な CI/CD パむプラむン甚の DevOps ツヌルを遞択しおください。

必ず XNUMX ぀のカテゎリすべおからツヌルを遞択しおください。

  • 開発および構築ツヌル
  • テスト自動化ツヌル
  • 導入ツヌル
  • ランタむムツヌル
  • コラボレヌションツヌル。

䞻な掚奚事項: すべおを自動化したしょう

ありがずうザック・シャピロ

出所 habr.com

コメントを远加したす