Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JSON Schema in Production - You can use it today

JSON Schema in Production - You can use it today

Recording: https://www.youtube.com/watch?v=48QgjmwLWh0

Come hear the about the journey of organizations that use JSON Schema in production today, and learn about how JSON Schema continues to deliver value.

"Isn't JSON Schema still a draft? Is it ready to be used in production?"
We see these sort of questions come up every now and then.
The truth is, many developers use JSON Schema without even realizing they are using JSON Schema.

Have you ever wondered how autocomplete and intelisense for configuration files in your IDE or code editor works?
Seen something "similar" to JSON Schema for generating forms or TypeScript types inside API definition files?

That would be JSON Schema.

In a series of case study like interviews, I've chatted with several individuals at companies and organizations of various sizes about challenges that led them to JSON Schema.

Ben Hutton

October 13, 2022
Tweet

More Decks by Ben Hutton

Other Decks in Programming

Transcript

  1. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    JSON Schema
    in Production
    You can use it today!
    🧔 Ben Hutton
    💻 @relequestual on the internet
    👨🚀 JSON Schema Specification Lead @ Postman!
    👨💻 benhutton.me
    🙌 opencollective.com/json-schema
    🎤 API Specifications Conference 2022

    View Slide

  2. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    You're already using JSON Schema,
    you just don't know it!
    But still missing out?

    View Slide

  3. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    JSON Schema?

    View Slide

  4. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    JSON Schema!

    View Slide

  5. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    JSON Schema!
    Case studies

    View Slide

  6. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    JSON
    SCHEMA
    does
    what?
    Validation
    Designed for
    of JSON data
    Enables
    "Write validation twice as fast"
    "Remove duplicate validation code"
    "Clients see added value in minutes,
    rather than days or weeks"
    "Write once, validate everywhere consistently"
    "Sustainably move much faster"

    View Slide

  7. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    - Largest recipe sharing service in Japan
    - 100 million people every month
    - 76 countries
    - 34 languages
    - 5.5+ million shared recipes

    View Slide

  8. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Self service
    registration
    of products
    Self service
    pick up
    of products

    View Slide

  9. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Custom dynamic forms
    Duplicated and complex
    logic and validation
    High burden on in-house
    product screening
    Challenge

    View Slide

  10. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Custom code?
    Common Schema!
    JSON Schema!
    Solution

    View Slide

  11. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Impact
    From 10% of submissions
    being deficient, to zero
    "Previously, about 10% of newly registered products
    had incomplete input of quality assurance items,
    but with the introduction of JSON Schema, there
    are no deficiencies in the quality assurance items" -
    Kenshi Shiode, Engineer at Cookpad.

    View Slide

  12. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    "Previously, about 10% of newly registered products
    had incomplete input of quality assurance items,
    but with the introduction of JSON Schema, there
    are no deficiencies in the quality assurance items " -
    Kenshi Shiode, Engineer at Cookpad.
    Impact
    From 10% of submissions
    being deficient, to zero
    "JSON Schema helps us to
    implement backend validation
    and frontend form generation
    easily. It was quite an excellent
    experience!" explains Kenshi,
    estimating that time spent
    building validation has been
    cut in half as a result of using
    JSON Schema.
    Further benefits in development

    View Slide

  13. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    - U.S. public sector software provider
    - $1.8 billion revenue forecast
    - $93 million investment in R&D
    - 98% client retention rate
    - 7k+ employees
    - 2.2k developers/engineers
    - 37,000 installations across 12,00 locations

    View Slide

  14. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Multi-tenant
    custom forms

    View Slide

  15. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Stringent differing
    requirements defined in law
    Custom rules for every client
    is very time consuming and
    expensive
    Power to the client to define
    custom data and validation
    Challenge

    View Slide

  16. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Simple and understandable format
    No-code required (or at least no-developer)
    JSON Schema!
    Solution
    "Tyler found wide adoption of the standard across the industry, partial
    familiarity from using OpenAPI, and broadness of open-source tools
    providing rich functionality."

    View Slide

  17. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    JSON Schema
    Formly

    View Slide

  18. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Impact
    Showing added value to
    clients in minutes, rather than
    days or weeks.
    "From what used to be a multi-day/week
    process, to being able to get something in
    front of the client within minutes." - Andres
    Moreno, Lead Software Engineer at Tyler
    Technologies.

    View Slide

  19. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Showing added value to
    clients in minutes, rather than
    days or weeks.
    Dramatically reduce the time to
    resolution of bugs related to
    custom data structures.
    "From what used to be a multi-day/week
    process, to being able to get something in
    front of the client within minutes." - Andres
    Moreno, Lead Software Engineer at Tyler
    Technologies.
    Further benefits in development
    Impact

    View Slide

  20. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    - No-code low-code automation
    - 600+ employees
    - Fully remote (pre-pandemic)
    - 5,000+ integrations
    - 3 million+ users
    - Two new apps join every day

    View Slide

  21. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Growth in
    integrations
    Web UI
    for developers

    View Slide

  22. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Developer platform web UI
    wasn't powerful enough
    Developers want to ship code
    to Zapier
    CLI assists creating app with
    valid JSON object output
    Need distributable cross
    platform validation system
    Challenge

    View Slide

  23. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Re-parsing user code? Fragile
    Duplicate validation code?
    Single Schema
    JSON Schema!
    Solution
    "While our backend is all Python & Django, we wanted developers to
    use Node.js. So, something that ran everywhere was important." –
    David Brownman, Senior Software Engineer, Zapier (prv)

    View Slide

  24. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    JSON Schema
    Zapier Platform UI Zapier Platform CLI (Command Line Interface)
    🧑💻


    😃

    View Slide

  25. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Impact
    Write once,
    validate everywhere
    consistently
    "That's where JSON Schema really shined
    for us because we could write the schema
    once and then apply it to both [the client
    and the server] in separate languages but
    with consistency" – David Brownman,
    Senior Backend Engineer at Zapier.

    View Slide

  26. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Impact
    Write once,
    validate everywhere
    consistently
    "It's very helpful to know the exact
    possible structure of user-supplied
    code in the database. It lets us
    make large scale data-migrations
    with confidence."
    Further benefits in development
    "That's where JSON Schema really shined
    for us because we could write the schema
    once and then apply it to both [the client
    and the server] in separate languages but
    with consistency" – David Brownman,
    Senior Backend Engineer at Zapier.

    View Slide

  27. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    - Fulfillment solutions provider
    - In 100+ facilities
    - Fulfilling millions of units a week
    - 400+ employees
    - Part of Shopify

    View Slide

  28. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Automated and
    directed smarts
    Command
    center

    View Slide

  29. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Collaboration between
    different expert domain
    groups was difficult
    Need to migrate away from
    deprecated tooling
    Current solutions not
    sustainable long term –
    explosive cost!
    Challenge
    Photo by DeepMind on Unsplash

    View Slide

  30. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Protobuf? Avro? – Specific tie-ins
    Useable across the stack
    Easy to learn and use incrementally
    JSON Schema!
    Solution
    "Front-end engineers use it all the time, it plays nicely with the
    Node/TS ecosystem, and it can be bolted onto existing code
    without completely rethinking it." – Jake Thomas, Lead data platform
    engineer at 6 River Systems

    View Slide

  31. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Product Engineer
    🧑💻
    Data Analysts
    🧑🔬
    JSON Schema
    {…}
    {…}

    View Slide

  32. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Impact
    Teams collaborate to push new
    instrumentation without needing
    the bridging team
    "My team's responsibility is to identify and implement
    cross-team bridges. When engineers and analysts
    "talk" to each other using a shared language we are
    able to sustainably move much faster." – Jake Thomas,
    Lead data platforms engineer at 6 River Systems
    Hardware or factory machines

    View Slide

  33. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Impact
    Teams collaborate to push new
    instrumentation without needing
    the bridging team
    "My team's responsibility is to identify and implement
    cross-team bridges. When engineers and analysts
    "talk" to each other using a shared language we are
    able to sustainably move much faster." – Jake Thomas,
    Lead data platforms engineer at 6 River Systems
    Hardware or factory machines
    "I selfishly love JSON Schema because going to
    chase down retroactive data problems, after
    code is released in a fulfilment centre, is a huge
    pain. Knowing something is 'good to go', before
    code is ever released, is a very large luxury."
    Further benefits in development
    JSON Schema to generate typed SDKs and
    Typescript interfaces which are used
    throughout the applications and on robots

    View Slide

  34. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Where do I go?

    View Slide

  35. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Where to go
    JSON Schema in Production:
    https://JSONSchema.works (in production 😉)
    Docs: json-schema.org/understanding-json-schema
    Support: stackoverflow.com (and tag with `jsonschema`)
    Community: json-schema.org/slack
    Twitter: @jsonschema

    View Slide

  36. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    Thank you all
    • Previous and current team
    • Contributors and community
    • Implementation developers
    • Case study collaborators
    • Kenshi Shiode, Engineer at Cookpad
    • Andres Moreno, Lead Software
    Engineer at Tyler Technologies
    • David Brownman, Senior Backend
    Engineer at Zapier
    • Jake Thomas, Lead data platforms
    engineer at 6 River Systems
    Pictures thanks to @bit_loom

    View Slide

  37. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON Schema / Postman
    JSON Schema in Production
    You can use it today!
    Thank you sponsors!
    🧔 Ben Hutton
    💻 @relequestual on the internet
    👨🚀 JSON Schema Specification Lead @ Postman!
    👨💻 benhutton.me
    🙌 opencollective.com/json-schema
    🎤 API Specifications Conference 2022
    (3.5 FTEs)

    View Slide