オブザーバビリティとは、簡単に説明すれば「アウトプットからシステムをどれだけよく理解できるか」ということです。制御理論では、オブザーバビリティとはシステムが外部出力する情報から、そのシステム内部の状態についてエンジニアが推測する方法として定義されています。
オブザーバビリティは、エンジニアが生成されるデータに基づいてシステムを分析、最適化するための事前対策的なアプローチを可能にします。オブザーバビリティプラットフォームは、ログ、メトリクス、トレースの収集、保管、分析、可視化を行い、ソフトウェアシステムのすべての運用データに関するコネクトされたリアルタイムビューを提供するための中央集約化された方法です。また、アプリケーションやインフラストラクチャについて問い、システム動作を理解してシステムパフォーマンスの向上に必要な答えを得るための柔軟性も備えています。
オブザーバビリティがなぜ現代のデジタルビジネスで重要なのか
今日のシステムとは、Kubernetesクラスターやクラウドインフラストラクチャで実行される、オープンソースでクラウドネイティブの複雑なマイクロサービスです。世界各地に分散した開発チームとコンポーネントにより、かつてない速度で開発とデプロイが進められています。
今日の組織は、DevOpsチーム、継続的な配信、アジャイルな開発に依存し、ソフトウェアの配信プロセス全体がかつてない速さで進行しています。そのため、問題の発生時にその検知がさらに難しくなる可能性があります。
メインフレームと静的オペレーションの時代は、問題が発生してもその原因を突き止めることはごく簡単で、既知のパラメータに基づいて事前設定された静的アラートがオペレータに問題を警告してくれていました。これらのシステムでは同じような障害が繰り返し発生するため、これで十分でした。
システムが複雑になるにつれて、ソフトウェアのパフォーマンスに何が起こっているのかを明らかにする試みがモニタリングツールで行われました。モニタリングデータと時系列解析により、アプリケーションのパフォーマンスを追跡できたのです。それは、管理可能なプロセスでした。
Issues with conventional monitoring
Conventional monitoring can only track known unknowns. That means it won’t help you succeed in the complex world of microservices and distributed systems. It only tracks the things you know to ask about in advance (for example, “What’s my application’s throughput?”, “What does compute capacity look like?”, “Alert me when I exceed a certain error budget.”)
Observability is the key
Observability gives you the flexibility to understand patterns you hadn’t even thought about before, the unknown unknowns. It’s the power to not just know that something is wrong but to also understand why.
What are the components of better observability best practices?
Observability in modern systems has four fundamental pieces: metrics, events, logs, and traces, often referred to as MELT. But this alone will not provide you with the insights you need to build and operate better software systems. The following are areas of focus that can help you get the best out of observability:
Open Instrumentation
Open instrumentation means gathering telemetry data without being tied to vendor-specific entities that produce that data. Open instrumentation uses code (agents) to track and measure data flowing through your software application. Examples of open-source or telemetry data sources include vendor-agnostic observability frameworks like OpenTelemetry and Prometheus.
AIOps tools
To ensure that your modern infrastructure is always available, you need to accelerate incident response. AIOps solutions use machine learning (ML) models to automate IT operations processes such as correlating, aggregating, and prioritizing incident data. These tools help you eliminate false alarms, proactively detect issues, and accelerate mean time to resolution (MTTR).
Benefits of an observability tool
Improve customer experience
Observability tools empower engineers and developers to create better customer experiences despite the increasing complexity of the digital enterprise.
With observability, you can:
Collect, explore, alert, and correlate all telemetry data types
Understand user behavior
Deliver a better digital experience that delights your users
- Increase conversion, retention, and brand loyalty
Decrease downtime and improve MTTR
Observability also makes it easier to drive operating efficiencies and fuel innovation and growth. For example, a team can use an observability platform to understand critical incidents that occurred and proactively prevent them from recurring.
Improve team efficiency and innovation
When a new build is pushed out, teams can see into the application performance and then drill down into the reasons why an error rate spikes or application latency rises. They can see which particular node has the problem.
There are many other benefits, but here are a few we’ve heard from our customers:
- A single source of truth for operational data.
- Verified uptime and performance.
- An understanding of the real-time fluctuations of digital business performance.
- Better cross-team collaboration to troubleshoot and resolve issues faster.
- A culture of innovation.
- Greater operating efficiency to produce high-quality software at scale, accelerating time to market.
- Specific details to make better data-driven business decisions, and optimize investments.
Challenges of observability
While not a paradigm shift, observability requires thinking beyond traditional IT solutions and can present challenges to organizations.
Thinking beyond traditional monitoring
Delivering hardware and software products and services today means thinking carefully about the customer experience and all the systems that give customers the experience business developers want them to have. Observability requires organizations—from business units to IT and DevOps teams—to rethink how to gain insight into their complex infrastructure. That means developing a strategy beyond traditional monitoring and integrating observability everywhere.
Redesigning your data
If your data is siloed or purely structured, you’ll likely have to rethink that data, considering new sources, such as customer behavior and metadata and other unstructured data. Additionally, with modern multi-cloud deployments, data can stream quickly with incredible complexity and variety as cloud instances and containers are spun up and down in seconds.
Designing in instrumentation
With DevOps, teams are distributed and can deliver software faster. But they need to design in appropriate and necessary instrumentation, which requires additional design efforts to deliver the right telemetry data for observability.
Why businesses are adopting observability
The 2024 Observability Forecast found that 41% of the 1,700 respondents cited an increased focus on security, governance, risk, and compliance as the top strategy or trend driving the need for observability.
Other top drivers included the integration of business apps into workflows (35%), the adoption of AI technologies (41%), the development of cloud-native application architectures (31%), migration to a multi-cloud environment (28%), and an increased focus on customer experience management (29%).
The report also found that most (83%) of respondents indicated that their organizations had employed at least two best practices, but only 16% had employed five or more, such as the following:
- Software deployment uses continuous integration and continuous delivery (CI/CD) practices (40%)
- Infrastructure that’s provisioned and orchestrated using automation tooling (37%)
- Ability to query data on the fly (35%)
- Portions of incident response are automated (34%)
- Telemetry (metrics, events, logs, and traces) is unified in a single pane for consumption across teams (35%)
- Telemetry data includes business context to quantify the business impact of events and incidents (34%)
- Users broadly have access to telemetry data and visualizations (32%)
- Instrumentation is automated (25%)
- Telemetry is captured across the full tech stack (25%)
What to look for in observability tools?
Observability tools encompass a range of capabilities that monitor and analyze data from a wide cross-section of infrastructure components and software. So, while you consider the observability tools you need, keep in mind these critical aspects.
- Integration: Picking from a variety of open-source and commercially available observability tools will require careful integration with your entire stack—from languages to frameworks, hardware, and software.
- Ease of use: If tools aren’t easy to implement, they won’t get applied, and you’ll miss the advantages of the capabilities they offer.
- Timely information: Real-time data presented in rich and intuitive dashboards with intelligent analysis and insight should be the goal of your observability tools.
- Insight, not just information: Visualization of data and analysis should be more than just graphs. Dashboards should present the context of the data so you can understand the problems clearly.
- Integrate AI: ML tools should be built-in to help automate troubleshooting and provide predictive analytics.
- A single source of truth: There are too many observability tools to manage individually. An observability platform should present the insight you need when you need it.
- Worth the money: There’s always an investment, whether it’s human investment to integrate and tune open-source tools or capital expenditure to implement commercial ones. The ROI—for both human and capital expense—must be worth it for the business. See how you can quantify observability for your business here.
The New Relic Intelligent Observability Platform comprises 775+ quickstart integrations and more than 30 capabilities with AI-powered insights built-in. The platform offers complete visibility across your entire stack and unlimited scalability, so you can future-proof your operations. New Relic’s all-in-one platform provides a single source of truth and eliminates data, tools, and team siloes.
New Relic was named a leader in the 2024 Gartner MagicQuadrant for Observability Platforms for the 12th consecutive time, emphasizing our ongoing commitment to delivering the best observability tools and capabilities for customers.
Most common observability use cases
Site reliability engineering (SRE) and IT operations (ITOps) teams are in charge of keeping complex systems—the apps that people rely on every day—up and running. But observability is everyone’s concern throughout the software development lifecycle.
Software engineering teams use observability to understand the health, performance, and status of software systems, including when and why errors occur. By looking at a system's outputs, such as events, metrics, logs, and traces, engineers can determine how well that system is performing.
Improve software performance
While DevOps and decentralized engineering teams can accelerate deployments, these can lead to new scalability and software performance challenges. Using observability tools, teams can gain insight into issues impacting application performance.
Read how one of South America’s largest software development organizations used observability to solve development challenges.
Simplify observability and improve web performance
As infrastructures grow more complex and companies implement monitoring and other tools trying to keep up with the growth, building multiple observability dashboards can lengthen times to synthesize the data being shown. A single source of truth with integrated tools can reduce engineers’ times to understand problems and help improve mean time to detection (MTTD), MTTR, and software performance.
Read how one company improved their core web metrics by consolidating multiple observability tools into a single platform.
Small teams and observability
Small teams can reap significant benefits from observability tools, particularly when faced with limited resources.
In the context of small cross-functional teams, where every member often wears multiple hats, the ability to monitor and analyze the performance of their systems is invaluable.
Observability tools provide a comprehensive view into the health and behavior of your applications and infrastructure, so your team can quickly identify and address issues. This is especially crucial because small teams may not have the luxury of dedicated personnel for each component of their stack.
By automating data collection and providing real-time insights, observability tools allow team members to focus their efforts more efficiently and reduce the time spent on reviewing and debugging individual servers.
If you’d like to see this in action, see how one of our customers improved efficiency significantly with New Relic.
Observability tools empower small teams to maximize their productivity, streamline troubleshooting, and ultimately deliver a more reliable and responsive user experience without straining their limited resources.
Observability and DevOps
Deployment frequency has increased dramatically with microservices. Too much is changing to realistically expect teams to predefine each and every possible failure mode in their environments. It's not just application code, but the infrastructure that supports it, and consumer behavior and demand.
Observability gives DevOps teams the flexibility they need to test their systems in production, ask questions, and investigate issues that they couldn’t originally predict.
Observability helps DevOps teams
- Establish clear service-level objectives (SLOs) and put instrumentation in place to prepare and join forces toward measurable success.
- Rally around team dashboards, orchestrate responses, and measure the effects of every change to enhance DevOps practices.
- Review progress, analyze application dependencies and infrastructure resources, and find ways to continually improve the experience for the users of their software.
TL;DR on observability
Observability provides a proactive approach to troubleshooting and optimizing software systems effectively. It offers a real-time and interconnected perspective on all operational data within a software system, enabling on-the-fly inquiries about applications and infrastructure.
In the modern era of complex systems developed by distributed teams, observability is essential. Observability goes beyond traditional monitoring by allowing engineers to understand not only what is wrong but also why.
It encompasses open instrumentation, correlation, context analysis, programmability, and AIOps tools to make sense of telemetry data. Observability tools enhance customer experience, reduce downtime, improve team efficiency, and foster a culture of innovation across all teams.
オブザーバビリティを始めましょう。New Relicをお試しください。
最新のオブザーバビリティの力を得て、ソフトウェアエンジニアや開発者はソフトウェアライフサイクル全体を通してデータドリブンなアプローチを採用できます。パワフルなフルスタック分析ツールを備えた統合データプラットフォームに、イベント、メトリクス、ログ、トレースなどすべてのテレメトリーを取り込み、優れたソフトウェアを計画、構築、デプロイ、実行して、イノベーションと成長を促進する優れたデジタルエクスペリエンスを提供することができます。
調査で明らかになったインサイトとベストプラクティスの詳細については、2023年オブザーバビリティ予測レポートをご覧ください。
オブザーバビリティについてさらに詳しく学ぶには、統合型オブザーバビリティプラットフォームを実際に体験するのが最良の方法です。New Relicを始めましょう。
本ブログに掲載されている見解は著者に所属するものであり、必ずしも New Relic 株式会社の公式見解であるわけではありません。また、本ブログには、外部サイトにアクセスするリンクが含まれる場合があります。それらリンク先の内容について、New Relic がいかなる保証も提供することはありません。