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

JSON Schema in Production - You can use it today

Ben Hutton
October 13, 2022

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
  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?
  3. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON

    Schema / Postman JSON Schema! Case studies
  4. 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"
  5. 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
  6. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON

    Schema / Postman Self service registration of products Self service pick up of products
  7. 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
  8. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON

    Schema / Postman Custom code? Common Schema! JSON Schema! Solution
  9. 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.
  10. 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
  11. 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
  12. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON

    Schema / Postman Multi-tenant custom forms
  13. 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
  14. 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."
  15. 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.
  16. 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
  17. 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
  18. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON

    Schema / Postman Growth in integrations Web UI for developers
  19. 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
  20. 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)
  21. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON

    Schema / Postman JSON Schema Zapier Platform UI Zapier Platform CLI (Command Line Interface) 🧑💻 ✅ ✅ 😃
  22. 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.
  23. 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.
  24. 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
  25. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON

    Schema / Postman Automated and directed smarts Command center
  26. 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
  27. 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
  28. ASC 2022 – Ben Hutton @relequestual / benhutton.me – JSON

    Schema / Postman Product Engineer 🧑💻 Data Analysts 🧑🔬 JSON Schema {…} {…}
  29. 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
  30. 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
  31. 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
  32. 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
  33. 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)