Skip to content

Adding optional SLA definitions with the Spec #541

Open

Description

@pjmolina

Related to #51

We have identified in the market a need for measuring and enforcement SLA in APIs. Specially, API vendors would benefit from an standard import of SLA metrics to measure and track importing them along with the OpenAPI definition in an standard way.

In this line, we have started a R&D project by Icinetic and the University of Seville at Spain to work on: "Extension on OpenAPI for the definition of Service Level Agreements (SLA)".

The project is looking forward to:

  1. Setup a basic and optional profile extension to describe a set of plan prices over APIs, Quota enforcement policies, constraints, etc.
  2. This information can (always optionally) decorate the OpenAPI spec inline on in a side file/resource linked from the main spec.
  3. Third party tools like Hivepod: can generate both: Swagger spec, service implementation, and SLA policy + SLA enforcement code, data repository to store the metrics and tools for analysis
  4. Third party tools like API Management tools can use this SLA info also to measure and track the level of compliant with respect this SLA specified.
  5. The ISA Research Group in the University of Seville is looking forward to provide tools for validation, creation and verification of SLAs for free.
  6. We will provide a reference implementation showing the full scenario: from sample Microservice being measured, using a data store to gather metrics and an analysis tool to visualize the SLA grade of compliance.
  7. Eventually, we would love to contribute to OAI (next version) with an open source extension for SLA definition.

Looking forward for early feedback and to join forces with OAI wanting to support an extension for this in an standardized way.

Activity

  1. webron commented on Jan 19, 2016

    @webron
    Member

    Thanks for the information. We've explicitly chose to exclude support for 2.0, though there are a few ideas to be taken into account for the next version. We'll take your work under consideration.

  2. discordianfish commented on Feb 9, 2016

    @discordianfish

    I'm currently working on adding SLA definitions to our swagger definition and would be very interested in taking that and turning it into prometheus alerting definition. Happy to test-drive whatever you come up with.

  3. pjmolina commented on Feb 18, 2016

    @pjmolina
    Author

    Excellent @discordianfish ! Anyone interested write me an email to pjmolina (at) icinetic.com and I will share with you our initial draft material.

  4. fehguy commented on Mar 1, 2016

    @fehguy
    Contributor

    Parent issue #560

  5. fehguy commented on Apr 7, 2016

    @fehguy
    Contributor

    @discordianfish @pjmolina if you have examples of how this would look, please feel free to share it.

  6. earth2marsh commented on Apr 14, 2016

    @earth2marsh
    Member

    Seems like a great use of an x-extension, and if that gets traction, it should be considered in a future version.

  7. jcarres-mdsol commented on May 25, 2017

    @jcarres-mdsol

    @webron I can't see anything related to this in the 3.0 spec. Will this still be addressed with custom extensions?

  8. webron commented on May 25, 2017

    @webron
    Member

    @jcarres-mdsol It won't be addressed in 3.0 directly or indirectly, we didn't get a chance to discuss it.

  9. jcarres-mdsol commented on May 28, 2017

    @jcarres-mdsol

    Thank you for the response. Then I'll go for an extension.
    Thanks for replying so fast

  10. vtolstov commented on Nov 12, 2020

    @vtolstov

    any progress?

  11. pjmolina commented on Nov 12, 2020

    @pjmolina
    Author

    Hi @vtolstov
    Yes: working on it here: https://github.com/isa-group/SLA4OAI-TC/blob/master/specs/index.md
    Feel free to join or add yout ideas to push it forward.

  12. vtolstov commented on Nov 12, 2020

    @vtolstov

    @pjmolina hi! thanks for answer. I'm try to solve problem from other side - i have go micro framework that based on proto generates handlers for client and server. And our analytics team want to specify timeout for handlers based on SLA and understanding how much time needs each handler to process. And based on this proto i'm generate swagger/openapi spec to publish

  13. added
    metadatatags, info, license, contact, markdown usage, etc.
    on Jan 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    metadatatags, info, license, contact, markdown usage, etc.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions