proliferating openapi at google

22
Proliferating OpenAPI Tim Burks, Sunny Gupta Google Inc.

Upload: open-api-initiative-oai

Post on 23-Jan-2018

341 views

Category:

Data & Analytics


5 download

TRANSCRIPT

Page 1: Proliferating OpenAPI at Google

Proliferating OpenAPITim Burks, Sunny GuptaGoogle Inc.

Page 2: Proliferating OpenAPI at Google

Google Likes OpenAPI

Standard representations are good!- They improve our internal processes.- They help us publish our APIs to outside consumers.- They help us support API publishers running on GCP.

OpenAPI is the community’s choice for standardizing API representation.

Page 3: Proliferating OpenAPI at Google

10 billion(~1000 trillion per day!)

Page 4: Proliferating OpenAPI at Google

Google Likes APIs

- Thousands of internal APIs- Hundreds of public APIs

- Vision- Pubsub- Translate- Prediction

- We even have an API that describes our APIs!

Page 5: Proliferating OpenAPI at Google
Page 6: Proliferating OpenAPI at Google
Page 7: Proliferating OpenAPI at Google

How Google Builds APIs

Page 8: Proliferating OpenAPI at Google

Protocol Buffers

Page 9: Proliferating OpenAPI at Google
Page 10: Proliferating OpenAPI at Google
Page 11: Proliferating OpenAPI at Google

Service Configuration

Page 12: Proliferating OpenAPI at Google
Page 13: Proliferating OpenAPI at Google
Page 14: Proliferating OpenAPI at Google

Google API Service Configuration

- Open sourced at github.com/googleapis/googleapis.- Described using protocol buffers.- Representable with JSON/YAML/binary formats.

Page 15: Proliferating OpenAPI at Google

Google’s OpenAPI Challenge

Google wants to support API creators who use OpenAPI.- on many different platforms- with many different services (billing, quota, auth)

So.. rewrite every API tool to read OpenAPI?

Page 16: Proliferating OpenAPI at Google

Swagger Codegen’s Challengeswagger-codegen is a monolithic tool generating at least:

- 20 API clients and - a dozen server stubs

But...- People want many more generators!- People want to write code generators in their favorite languages.- People want to tweak existing code generators.

Page 17: Proliferating OpenAPI at Google

Google API Compiler

Page 18: Proliferating OpenAPI at Google

GoogleAPI Compiler

Client Code Generators

Server Code Generators

EndpointProxy

QuotaManagement

AccessConfiguration

APIBrowser

Verifies and normalizes API

descriptions

google.api.service

.yaml.proto

Page 19: Proliferating OpenAPI at Google

GoogleAPI Compiler

Client Code Generators

Server Code Generators

EndpointProxy

QuotaManagement

AccessConfiguration

APIBrowserOpen API

SpecificationVerifies and

normalizes API descriptions

google.api.service

.yaml.proto

JSON Schema

Page 20: Proliferating OpenAPI at Google
Page 21: Proliferating OpenAPI at Google
Page 22: Proliferating OpenAPI at Google

What next?- Google API Compiler and google.api.service descriptions are open sourced.- We are working to close gaps between OpenAPI and google.api.service.- Google is actively integrating tools with OpenAPI using google.api.service.- We would welcome additions and new projects built on google.api.service.

A world of easy-to-write API tools

GoogleAPI CompilerOpen API

Specification

Google API Tools

Verifies and normalizes API

descriptionsJSON Schema

google.api.service

..................

timburks/service-generator