Building a custom Observability Platform or Observability as a Service
Published Wed, October 2, 2024Educational, Observability, Data Platform, Data Products by Johanan
TL;DR
  • Building your own custom observability platform can deliver real upside for your enterprise, including significant cost savings and increased control over your data
  • Open source technology and standards exist to help you get there: you need data ingestion, storage, processing, visualization and alerting packaged up in a scalable, reliable platform
  • Many of the risks of building custom (vs buying commercial) can be mitigated by leveraging end-to-end frameworks that abstract away complexity (like Moose) and hosting platforms that help scale (like Boréal)

AI hot take at the bottom of the article

In the rapidly evolving world of technology, organizations are generating more observability data than ever before. Businesses have an ever-growing landscape of applications that serve external or internal users. Gaining insights across applications and their increasingly complex environments via logs, metrics, traces, etc. is both critical and challenging.

For many organizations, off-the-shelf commercial logging and observability platforms serve their needs effectively — but more and more enterprises are opting to build their own observability platforms. These can be traditional observability platforms dedicated to specific monitoring and logging use cases, or other teams are taking an “Observability as a Service” (OaaS) approach, where a central data team increases their leverage by building observability infrastructure and data pipelines that can serve many teams across the business.

Building and maintaining your own custom platform has many upsides, but can be a significant undertaking with real risks. This post explores how to construct your own custom Observability or OaaS platform, using best-in-class open source data infrastructure, enabling your teams to harness the full potential of observability data.


The Imperative for Custom Observability Solutions

Off-the-shelf logging and observability tools often come with significant limitations:

  • High Costs: Licensing fees can escalate quickly with data volume.
  • Vendor Lock-In: Proprietary solutions can restrict flexibility and control.
  • Incentive Misalignment: Commercial vendors often prioritize having more data in their systems, which can increase costs, complicate governance, and lead to compliance risks.
  • Trapped data: commercial platforms are rarely designed to make it easy to extract data for other downstream use cases, especially over API
  • One-Size-Fits-All: Generic features may not meet specific organizational needs, leading to paying for unnecessary features.

Building a custom OaaS platform addresses these challenges by offering:

  • Tailored Functionality: Customize features to fit your unique requirements and the needs of the teams in your company that will create and use the observability data.
  • Cost Efficiency: Optimize costs by leveraging open-source technologies and scalable infrastructure.
  • Open standards: plug into accepted, well documented standards like OTEL—that are used by many large organizations, are well supported, are known by your engineers and will live longer than vendor specific standards.
  • Enhanced Control: Maintain ownership over data governance, compliance, and security.
  • Data Flexibility: Unlike commercial vendors, a custom OaaS platform allows for easier extraction and routing of data to downstream systems, including commercial tools your teams may still rely on.

diagram

Key Components of an Effective Observability Platform

To build a robust observability platform, consider integrating the following best-in-class data infrastructure components:

Data Ingestion

  • Event Streaming Platforms: Utilize tools like Apache Kafka (or its sister RedPanda) or its cloud-specific alternatives (Kinesis, PubSub, etc.) for real-time data ingestion and processing.
  • Open Standards Support: Encourage the adoption of standards like OpenTelemetry (OTEL) for consistent data collection across services, which enables easier integration and future-proofing.

Data Storage

  • Scalable Databases: Implement time-series databases like Prometheus for metrics or Elasticsearch for logs.
  • Data Lakes/Warehouses: Use solutions like ClickHouse or cloud-based data warehouses for long-term storage and complex querying. By decoupling your storage from observability tools, you maintain control over your data, making it easier to govern and manage for compliance.

Data Processing

  • Stream Processing Frameworks: Leverage Apache FTrackLink or Spark Streaming for real-time data transformation and enrichment.
  • Serverless Computing: Employ cloud functions for on-demand data processing without managing servers.

Visualization and Alerting

  • Dashboard Tools: Integrate with Grafana or Kibana for interactive visualization.
  • Alerting Systems: Set up alert managers to notify teams of critical issues promptly.

Automated Scalability and Reliability

  • Container Orchestration: Use Kubernetes to manage containerized applications for scalability and resilience.
  • Microservices Architecture: Design services to be independent and scalable, improving fault tolerance.

Govern and Control Data Across Systems

One of the major benefits of a custom platform is the ability to govern the flow of data into both your observability platform and any external systems. Even if your teams still rely on downstream commercial observability tools, your OaaS platform can act as a gatekeeper, filtering and funneling only the necessary logs, metrics, and traces into those systems. This helps avoid the bloat that often comes with commercial solutions while maintaining compliance and optimizing costs.

This governance layer can enforce uniformity in the observability data and infrastructure: making every team's observability data interoperable, allowing any observability engineer to work on all observability sources in your organization, giving you the ability to observe and tool across products and more.

Controlled exposure of observability data: your OaaS platform allows you to expose observability data over APIs as an enterprise data product for downstream consumption by other teams and systems. This ensures observability data can be reused for broader use cases beyond traditional monitoring.


Enabling Technologies: Moose and Boréal

While the components above provide the building blocks, integrating them seamlessly can be complex. This is where tools like Moose and Boréal come into play, serving as enablers to streamline your custom observability or observability-as-a-service platform development. This allows you to use industry best practices and save your innovation for your applications, not their observability.

Moose: Simplify Ingestion, Storage and Processing

Moose is an open-source framework that simplifies the creation of data pipelines using familiar programming languages like Python and TypeScript. It helps solve many of the challenges associated with building custom observability platforms, from ingestion to processing, data product creation and delivery.

  • Simplified skillsets: build a custom observability platform without specialized data engineering skills required - just standard developer scripting skills in python or typescript.
  • Unified Interface: Build and manage data flows without juggling multiple tools.
  • Extensibility: Customize and extend pipelines to suit your specific needs.
  • Pre-Built Best Practices: Moose simplifies the architecture process by providing built-in choices for best-in-class open-source architecture. Alternatively, it can support the technologies of your choice.
  • Community-Driven: Benefit from shared modules and community support.

Boréal: Managed Hosting for Scalable and Reliable Deployment

Boréal offers a hosting service optimized for Moose applications, handling the heavy lifting of deployment and scalability.

  • Ease of Use: Deploy applications with minimal configuration.
  • Scalability: Automatically adjust resources based on workload demands in a fully managed or “bring your own cloud” deployment.
  • Cost Alignment: Pay-as-you-go pricing aligns costs with actual usage.

By incorporating Moose and Boréal into your OaaS platform, you can accelerate development, reduce complexity, and focus on delivering value while ensuring that the governance and compliance challenges of commercial observability tools are mitigated.


Steps to Build Your Custom Observability Platform

Send me an email and I'll send you templates for each step

  1. Define Objectives
    • Identify the specific observability needs of your organization.
    • Determine key performance indicators (KPIs) and service-level objectives (SLOs).
  2. Design the Architecture
    • Choose the appropriate data ingestion, storage, and processing tools.
    • Plan for scalability, security, and compliance from the outset.
  3. Implement Open Standards
    • While not mandatory, adopting standards like OTEL can enhance interoperability and future-proof your platform.
    • If you have existing pipelines, progressively migrating to open standards can be a worthwhile exercise for pipelines that will continue to run.
  4. Leverage Enabling Technologies
    • Utilize frameworks like Moose to simplify pipeline development and automatically integrate best practices into your system design.
    • Consider managed services like Boréal for efficient deployment and scaling.
  5. Expose APIs, Integrate Visualization and Alerting
    • Set up dashboards and alerts to provide real-time insights and proactive issue detection.
    • Expose APIs for data that other teams may want to integrate into their applications or services.
  6. Test and Iterate
    • Continuously monitor performance and make adjustments to optimize the platform.

Benefits of Building Your Custom Observability Platform

Cost Savings

  • Lower Operational Costs: Optimize resource usage and eliminate unnecessary expenses.
  • Avoid Licensing Fees: Leverage open-source tools to reduce or eliminate licensing costs.

Flexibility and Control

  • Customized Solutions: Tailor features and capabilities to your exact needs.
  • Data Ownership: Maintain full control over your data and its governance, and easily extract data for downstream use cases.

Scalability

  • On-Demand Resources: Scale infrastructure up or down based on real-time demands.
  • Future-Proofing: Easily incorporate new technologies and standards as they emerge.

Conclusion

Building your own Observability or Observability as a Service platform is an investment that pays dividends in control, efficiency, and tailored insights. By harnessing best-in-class data infrastructure and leveraging enabling technologies like Moose and Boréal, you can create a powerful, flexible, and cost-effective observability solution that aligns with your organization's goals.

Moose simplifies the architectural complexity, making it easier to build robust, scalable pipelines while supporting open standards and custom choices. With Boréal handling scalability and resource management, your teams can focus on extracting value from observability data instead of managing infrastructure.

If you're ready to start building your own observability platform or want to learn more about Moose and Boréal, our team of experts is here to help. Schedule a call with my team today, or explore our documentation to learn more about getting started with Moose and Boréal.


Ready to embark on building your custom observability platform? Explore how Moose and Boréal can accelerate your journey by visiting fiveonefour.com. Let's transform your observability strategy together.

Hot take

AI tools are becoming the largest consumers of observability data—soon they will instrument observability more than we will, becoming the largest creators and consumers of observability data.

From architecture to pricing questions and everything in between, we’re here to help
(2024) Fiveonefour. All rights reserved