DevOpsトランスフォーメーションを加速させる
「DevOps」は、単なる1つの用語、あるいは職務以上の意味を持っています。それは1つの文化であり、ソフトウェア開発の手法でもあります。DevOpsチームはアプリの中で何が起きているか、また、アプリを実行する環境や、アプリが依存するサービスをアプリのライフサイクル全体にわたって把握する必要があります。運用フェーズだけでなく、開発/デプロイのサイクルでも把握しなければなりません。
環境全体への包括的な可視性を確立
いくつものツールセットを学習、使用するよう強いられ、気付けばツールが増殖していた、というDevOpsチームは少なくありません。さらに、開発とステージング、運用のそれぞれのフェーズで異なるオブザーバビリティツールを使用しているチームもあります。この場合、ソフトウェアの開発サイクルに分断が生じ、チームとしてソフトウェア効率の比較や、対照、相関付けを実行する能力が損なわれることになります。Elasticオブザーバビリティを導入すれば、単一の、一元的なソリューション上で複数のチームがコラボレーションを行うことが可能になります。Elasticオブザーバビリティは、開発から運用までのソフトウェアライフサイクル全体にわたり、アプリ、サービス、インフラなどすべてをカバーするソリューションです。
漸進的なデプロイでパフォーマンスを比較する
Elasticが提供するマーカーを使って、新規のソフトウェアデプロイを自動で検知し、注釈をつけたり、表示したりしてみましょう。可視化されたフィードバックを活用すれば、カナリーデプロイやブルーグリーンデプロイ、A/Bテストなど、デプロイパターンに関わらず、パフォーマンスの差分をすばやく特定することができます。さらに注釈APIを使って、組織独自のデプロイマーカーが提供するコンテクストを追加することも可能です。
インフラ全体をtail -fで見る
ログの集中監視とは、アプリのエコシステム全体にtail -f
を適用するようなものです。一元的な検索エクスペリエンスを通じて、アプリやサービス、インフラ全体からくるログを、CI/CDパイプラインからくるデータと共に分析することができます。
すべてのデータをコンテクストで捉えて、トラブルシューティングをすばやく実施
サイロがない環境なら、テストによって明らかになった問題がすでに運用にも組み込まれているかどうかをすばやく判別できます。ログ行をトラッキングして、アプリの呼び出しを正確に突き止めたり、その他のことも実行可能です。ロギングライブラリでElastic Common Schema(ECS)を活用すると、トレースを自動で対応するログにリンク付けできるほか、既存のロギング関数を強化して、ログを対応するメタデータでエンリッチすることもできます。
キュレーションされたインフラビューで、すばやくコンテクストを把握
インフラからくるすべてのテレメトリデータを活用できるだけでなく、調査方法も完全に制御できます。どのホストに手がかりがあるか判断したり、Kubernetesのpodやコンテナーに切り替えてデプロイの論理表現の視点を取り入れてみましょう。事前定義済みフィールドやカスタムフィールドでグループ化してビューをさらに改良したり、保存したビューを後で再開することも可能です。関連するログやアプリのトレース、可用性データへ直接ジャンプして確認し、重要な役割を果たすホストやpod、コンテナー、クラウドインスタンスの監視を実行しましょう。
CI/CDパイプラインへの可視性を高める
ソフトウェアのCI/CD(継続的インテグレーション/継続的デリバリー)は、ビジネスにおいて非常に重要な取り組みです。一方でCI/CDパイプラインの稼働の維持は簡単ではなく、コンスタントに最適化を実施する必要があります。可視性は、開発者の生産性と業務の遂行に不可欠な要素です。Elasticは多数のパートナーと連携し、DevOpsワークフローのエンドツーエンドなオブザーバビリティを強化するプラグインや、拡張機能の開発を行っています。具体的には、JenkinsやConcourseCI、Maven、PyTestなどの開発ツールのほか、Ansibleなどの自動化ツールもElasticオブザーバビリティに統合することができます。