Re: [Taps] Potential alternatives to YANG

"Scharf, Michael" <Michael.Scharf@hs-esslingen.de> Thu, 18 April 2019 12:12 UTC

Return-Path: <Michael.Scharf@hs-esslingen.de>
X-Original-To: taps@ietfa.amsl.com
Delivered-To: taps@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1454B120305 for <taps@ietfa.amsl.com>; Thu, 18 Apr 2019 05:12:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=hs-esslingen.de
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wu7PQjpidDX4 for <taps@ietfa.amsl.com>; Thu, 18 Apr 2019 05:12:04 -0700 (PDT)
Received: from mail.hs-esslingen.de (mail.hs-esslingen.de [134.108.32.78]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F2DA11200A0 for <taps@ietf.org>; Thu, 18 Apr 2019 05:12:03 -0700 (PDT)
Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.hs-esslingen.de (Postfix) with ESMTP id 1115D25A1F; Thu, 18 Apr 2019 14:12:02 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hs-esslingen.de; s=mail; t=1555589522; bh=FQ9U2w3shiSMjN3k2Bl8urKSWKpYMbJhAA2BvQPjuZE=; h=From:To:CC:Subject:Date:References:In-Reply-To:From; b=dKU3AnZG7F724KN5kidlHyvYIxvd37tND7XWcVEY4RaiQKUEewsDULZYYx0vcZcEl MyeWW6TgpBiCIfEb0YjgImsSlw58RGhEQqvVPnEjZfZsprVSuoD4Ewz/dwVd0nroR9 EXIaWhGpg3diSTTT8uriXc2E2SknSXY09NHkkltA=
X-Virus-Scanned: by amavisd-new-2.7.1 (20120429) (Debian) at hs-esslingen.de
Received: from mail.hs-esslingen.de ([127.0.0.1]) by localhost (hs-esslingen.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NbHZXmbdHQNK; Thu, 18 Apr 2019 14:12:00 +0200 (CEST)
Received: from rznt8101.rznt.rzdir.fht-esslingen.de (rznt8101.rznt.rzdir.fht-esslingen.de [134.108.29.101]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mail.hs-esslingen.de (Postfix) with ESMTPS; Thu, 18 Apr 2019 14:12:00 +0200 (CEST)
Received: from RZNT8114.rznt.rzdir.fht-esslingen.de ([169.254.3.34]) by rznt8101.rznt.rzdir.fht-esslingen.de ([fe80::bd73:d6a9:24d7:95f1%10]) with mapi id 14.03.0415.000; Thu, 18 Apr 2019 14:12:00 +0200
From: "Scharf, Michael" <Michael.Scharf@hs-esslingen.de>
To: Mikael Abrahamsson <swmike@swm.pp.se>
CC: "taps@ietf.org" <taps@ietf.org>
Thread-Topic: [Taps] Potential alternatives to YANG
Thread-Index: AdTmJJkFb6Zp0XvTRsiCqia1FVlvnQPgvreAAA2PH3A=
Date: Thu, 18 Apr 2019 12:12:00 +0000
Message-ID: <6EC6417807D9754DA64F3087E2E2E03E2D2BF58C@rznt8114.rznt.rzdir.fht-esslingen.de>
References: <6EC6417807D9754DA64F3087E2E2E03E2D28CC16@rznt8114.rznt.rzdir.fht-esslingen.de> <alpine.DEB.2.20.1904180919010.3490@uplift.swm.pp.se>
In-Reply-To: <alpine.DEB.2.20.1904180919010.3490@uplift.swm.pp.se>
Accept-Language: de-DE, en-US
Content-Language: de-DE
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [134.108.57.209]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/taps/E02sH_FHtc4pR4fXjQuHTDE6uVc>
Subject: Re: [Taps] Potential alternatives to YANG
X-BeenThere: taps@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IETF Transport Services \(TAPS\) Working Group" <taps.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/taps>, <mailto:taps-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/taps/>
List-Post: <mailto:taps@ietf.org>
List-Help: <mailto:taps-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/taps>, <mailto:taps-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 Apr 2019 12:12:09 -0000

> On Fri, 29 Mar 2019, Scharf, Michael wrote:
> 
> > As mentioned on the mic: There are quite a number of solutions to
> "rigorously" specify APIs. Some of these general-purpose techniques are
> IMHO also used for configuration/provisioning tasks in the networking
> industry, i.e., as alternative to YANG.
> >
> > In a former life, I had quite some discussions on the role of YANG as
> compared to, for instance:
> >
> > * swagger.io (https://swagger.io/)
> >
> > * gRPC, gNMI and protocol buffers (see e.g. draft-openconfig-rtgwg-gnmi-
> spec-01 in the IETF)
> 
> I thought gRPC and gNMI was equivalent to netconf, not to YANG?

Yep, but I have mentioned protocol buffers, too. And I haven't mentioned other solutions in that space, such as Apache Thrift. By no means my list was meant to be comprehensive. BTW, I won't argue that other solutions indeed solve exactly the same problem like NETCONF/YANG - in fact, they do not.
 
> > In both cases there is are tooling eco-system that are IMHO widely used
> > by app developers (and often preferred over YANG). The YANG tooling
> that
> > exists in industry, e.g., for code auto-generation, is quite specific to
> > network management, as far as I can tell.
> >
> > To me, whether to develop models in YANG or in other data modeling
> > languages depends a lot on the use case and the target software
> > developer community. Of course, in the RTG and OPS area YANG is the
> > default data modeling language.
> 
> My experience is that people typically will take whatever there is lots of
> tooling for and it's "easy to use". Then as they use it more and more
> extensively, they discover all limitations and demand the tool is
> extended/enhanced. People will say "oh, JSON is so easy to work with" and
> after a while they discover that data models is good for
> defining/validating what goes on the wire, and now all of a sudden after a
> while you've invented all the "complication" of YANG.
> 
> Personally it's not super important to me that NETCONF is used, but I do
> think using a good data modeling language is important, thus I think YANG
> modeling is important.

If one is not using NETCONF, YANG may not be the only data modeling language one could use. Having said this, YANG is clearly an *excellent* data modeling language, and probably the only relevant one in some areas of industry (e.g. on routers).

Personally, I am perfectly fine with using YANG.

Michael

 
> The same way a huge amount of work has gone into XML, a huge amount of
> work has gone into YANG, to make sure it's well defined and works from
> lots of aspects.
> 
> --
> Mikael Abrahamsson    email: swmike@swm.pp.se