Health Check Response Format for HTTP APIs
draft-inadarei-api-health-check-01

Document Type Active Internet-Draft (individual)
Last updated 2018-03-24
Stream (None)
Intended RFC status (None)
Formats plain text xml pdf html bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                   I. Nadareishvili
Internet-Draft                                            March 24, 2018
Intended status: Informational
Expires: September 25, 2018

               Health Check Response Format for HTTP APIs
                   draft-inadarei-api-health-check-01

Abstract

   This document proposes a service health check response format for
   HTTP APIs.

Note to Readers

   *RFC EDITOR: please remove this section before publication*

   The issues list for this draft can be found at
   https://github.com/inadarei/rfc-healthcheck/issues [1].

   The most recent draft is at https://inadarei.github.io/rfc-
   healthcheck/ [2].

   Recent changes are listed at https://github.com/inadarei/rfc-
   healthcheck/commits/master [3].

   See also the draft's current status in the IETF datatracker, at
   https://datatracker.ietf.org/doc/draft-inadarei-api-health-check/
   [4].

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on September 25, 2018.

Nadareishvili          Expires September 25, 2018               [Page 1]
Internet-Draft Health Check Response Format for HTTP APIs     March 2018

Copyright Notice

   Copyright (c) 2018 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Notational Conventions  . . . . . . . . . . . . . . . . . . .   3
   3.  API Health Response . . . . . . . . . . . . . . . . . . . . .   3
   4.  The Details Object  . . . . . . . . . . . . . . . . . . . . .   5
   5.  Example Output  . . . . . . . . . . . . . . . . . . . . . . .   7
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   9
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   9
   8.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  10
   9.  Creating and Serving Health Responses . . . . . . . . . . . .  10
   10. Consuming Health Check Responses  . . . . . . . . . . . . . .  11
   11. References  . . . . . . . . . . . . . . . . . . . . . . . . .  11
     11.1.  Normative References . . . . . . . . . . . . . . . . . .  11
     11.2.  Informative References . . . . . . . . . . . . . . . . .  12
     11.3.  URIs . . . . . . . . . . . . . . . . . . . . . . . . . .  12
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  12

1.  Introduction

   The vast majority of modern APIs driving data to web and mobile
   applications use HTTP [RFC7230] as their protocol.  The health and
   uptime of these APIs determine availability of the applications
   themselves.  In distributed systems built with a number of APIs,
   understanding the health status of the APIs and making corresponding
   decisions, for failover or circuit-breaking, are essential for
   providing highly available solutions.

   There exists a wide variety of operational software that relies on
   the ability to read health check response of APIs.  There is
   currently no standard for the health check output response, however,
   so most applications either rely on the basic level of information
   included in HTTP status codes [RFC7231] or use task-specific formats.

Nadareishvili          Expires September 25, 2018               [Page 2]
Internet-Draft Health Check Response Format for HTTP APIs     March 2018

   Usage of task-specific or application-specific formats creates
   significant challenges, disallowing any meaningful interoperability
   across different implementations and between different tooling.

   Standardizing a format for health checks can provide any of a number
   of benefits, including:

   o  Flexible deployment - since operational tooling and API clients
      can rely on rich, uniform format, they can be safely combined and
Show full document text