Adaptive Apps: Identify underlying issues in a complex app portfolio - Demo Kit

Introduction

Adaptive applications utilize an architectural approach that facilitates rapid and often fully-automated responses to changing conditions—for example, new cyberattacks, updates to security posture, application performance degradations, or conditions across one or more infrastructure environments.

Unlike the current state of many apps today that are labor-intensive to secure, deploy, and manage, adaptive apps are enabled by the collection and analysis of live application performance and security telemetry, service management policies, advanced analytic techniques such as machine learning, and automation toolchains.

A key component of our Adaptive Apps vision is to help our customers maximize application performance and resilience in automation-enabled environments.

As our customers deploy complex application portfolios, which comprise both legacy (monolithic) and modern (microservices-based) applications, across a wide variety of deployment scenarios, including on-premise, public cloud, and at the edge, maximizing visibility into application performance has become critical for optimizing their customer experiences and driving successful business. Today's end-users have high expectations for application response times and service availability. As a result, being able to identify application performance issues with a single common set of observability tools which provide a myriad of telemetry data, irrespective of the application architecture or deployment scenario, has become a critical business driver. It's no longer acceptable to identify a performance issue after it has become visible externally and impacts customers. Given the competitive nature of today's application landscape, combined with existing high expectations for application response times, it has become crucial to identify and remediate application performance issues before they impact end-users.

This demo kit demonstrates how to bring together multiple F5 platforms and third-party telemetry and dashboarding solutions to quickly identify a variety of underlying issues in a complex application portfolio in order to trigger and visualize alerts so that F5 customers can identify application performance issues before their customers experience incidents.

We show how our customers can leverage a single standards-based telemetry solution (OpenTelemetry) to generate, gather, export, and collect application performance telemetry data across the F5 product portfolio. In addition, we show how to populate and instrument a Grafana / SumoLogic dashboard to provide alerts when application performance issues are seen, which include server errors, network latency and response times, and high system resource utilization.

Specifically, it demonstrates the following:

  • Using automation to configure BIG-IP, NGINX, and F5 XC with telemetry enabled (using OpenTelemetry - OTel)
  • Multiple deployment scenarios including On-Prem, Public Cloud, and Edge
  • Both traditional (monolithic) and modern (microservices-based) workload applications
  • Leveraging F5 BIG-IP Application Services 3 (AS3), F5 BIG-IP Telemetry Streaming (TS) and custom iRule for OTel configuration and export
  • Generating, exporting, and collecting OpenTelemetry data for each proxy platform
  • Data population of Grafana / SumoLogic dashboards
  • Dashboard alerting for application performance & resource utilization issues

Note this demo is focused on identifying underlying issues using automation and telemetry as soon as possible. Automated remediation of such issues is beyond the scope of this demo kit.

Use Case

Identifying underlying issues in a complex app portfolio before they surface to end-users

Problem Statement

Customers may find it cumbersome, time-consuming, and costly to proactively ensure that their mission-critical workloads are operating in an optimized manner.  This proves challenging to ensure a consistently high-quality user experience (UX) to ensure customer stickiness and repeatable business.

Customer Outcome

Customers can succinctly identify underlying infrastructure & application workload problems with the use of OpenTelemetry and F5 technology, allowing them to proactively identify issues before their customers experience incidents

The Guide

Please refer to https://github.com/f5devcentral/adaptiveapps for detailed instructions and artifacts for deploying this demo including the following:

  • BIG-IP On-Prem
    • F5 Application Services 3 Extension (AS3) for:
      • Basic app services and F5 Telemetry Streaming (TS) Extension Event Listener enablement, Log Publisher enablement, and iRule to capture application response times and data by country code to inform resource distribution decisions
    • TS Extension for system poller to:
      • Capture server error response codes 
      • Gather system resource utilization data
      • Export data to OpenTelemetry (OTel) Collector
    • Export data from OTel Collector to Grafana LGTM stack for data visualization and alerting
  • BIG-IP / Container Ingress Services (CIS) On-Prem / Public Cloud:
    • Deploy NGINX in AWS Elastic Kubernetes Service (EKS)
    • Deploy BIG-IP in AWS using Cloud Formation Template (CFT) and F5 Cloud Failover Extension (CFE) for High Availability (HA)
    • Helm chart for CIS / EKS deployment
    • Configure BIG-IP CNCF OTel Collector
    • Set up Grafana and SumoLogic for application performance monitoring and alerting
    • AS3 Extension for basic app services and F5 Telemetry Streaming (TS) Extension Event Listener enablement, and Log Publisher enablement 
    • TS Extension to enable system poller for application signals and export data to OTel Collector
    • Export data from OTel Collector to Grafana LGTM and SumoLogic stacks for data visualization and alerting
  • NGINX Open Source Software (OSS) in Public Cloud (AWS/EKS)
    • Deploy NGINX in EKS
    • Helm chart for NGINX Ingress Controller configuration 
    • NGINX Ingress Controller OTel configuration
    • System poller for application signals and export data to OTel Collector
    • Export data from OTel Collector to Grafana LGTM and SumoLogic stacks for data visualization and alerting
  • F5 Distributed Cloud (F5 XC) at Edge:
    • Deploy NGINX in EKS
    • Helm chart for NGINX Ingress Controller configuration 
    • NGINX Ingress Controller OTel configuration
    • System poller for application signals and export data to OTel Collector
    • Export data from OTel Collector to Grafana LGTM and SumoLogic stacks for data visualization and alerting

Note that these use cases use essentially the same setup and deliver a uniform dashboarding and alerting experience  which is expected given we are tying everything together with OpenTelemetry as a single standards-based telemetry solution across all of F5s proxy platforms and deployment environments.

Solution Architecture

 

Demo Video

Be sure to watch the demo video below which demonstrates the following:

  • Using automation to configure BIG-IP on-prem & NGINX in public cloud with telemetry enabled (using OpenTelemetry - OTel)
  • Generating, exporting, and collecting OpenTelemetry data for BIG-IP and NGINX
  • Leveraging F5 BIG-IP Application Services 3 (AS3), F5 BIG-IP Telemetry Streaming (TS) and custom iRule for OTel configuration and data export
  • Data population of the pre-existing Grafana / SumoLogic dashboards
  • Dashboard alerting for application performance & system resource utilization issues

Watch the demo video:

Updated May 12, 2023
Version 2.0
No CommentsBe the first to comment