a brief history of the future of the api · ebay api amazon twitter facebook platform 2000s cloud...
TRANSCRIPT
![Page 1: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/1.jpg)
A BRIEF HISTORY OF THEFUTURE OF THE API
QCon London 2020Mark Rendle
@markrendle
visualrecode.com
![Page 2: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/2.jpg)
BRIEF HISTORY► 1970s to now
![Page 3: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/3.jpg)
APPLICATIONPROGRAMMINGINTERFACE
![Page 4: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/4.jpg)
► Message Oriented Middleware (MOM)
► ISAM
1970s
![Page 5: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/5.jpg)
► Object Oriented Programming
► Shared Libraries► DLL, OCX, Shared Objects
► Dynamic Data Exchange (DDE)
► Sockets
1980s
![Page 6: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/6.jpg)
► Client-Server
► Common Object Request Broker Architecture (CORBA)
► Component Object Model (COM)► DCOM, COM+
► World Wide Web
► Service Oriented Architecture (SOA)
► SOAP
1990s
![Page 7: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/7.jpg)
“
”Architectural Styles and the Design ofNetwork-based Software Architectures
Roy Thomas Fielding, UC Irvine
2000
![Page 8: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/8.jpg)
► XMLHttpRequest
► JSON
► Windows Communication Foundation (WCF)
► ReST
► Mobile devices
2000s
![Page 9: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/9.jpg)
► eBay API
► Amazon
► Facebook Platform
2000s
![Page 10: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/10.jpg)
► Cloud computing
► Amazon Web Services
► Microsoft Azure
2000s
![Page 11: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/11.jpg)
► Microservices
► Containers
► Kubernetes
► Web Sockets
2010s
![Page 12: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/12.jpg)
WIRE FORMATS
![Page 13: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/13.jpg)
CORBAGeneral Inter-ORB Protocol
0x47 0x49 0x4f 0x50 -> GIOP, the key0x01 0x00 -> GIOP_version0x00 -> Byte order (big endian)0x00 -> Message type (Request message)0x00 0x00 0x00 0x2c -> Message size (44)0x00 0x00 0x00 0x00 -> Service context0x00 0x00 0x00 0x01 -> Request ID0x01 -> Response expected0x00 0x00 0x00 0x24 -> Object key length in octets (36)0xab 0xac 0xab 0x31 0x39 0x36 0x31 0x300x30 0x35 0x38 0x31 0x36 0x00 0x5f 0x520x6f 0x6f 0x74 0x50 0x4f 0x41 0x00 0x000xca 0xfe 0xba 0xbe 0x39 0x47 0xc8 0xf80x00 0x00 0x00 0x00 -> Object key defined by vendor0x00 0x00 0x00 0x04 -> Operation name length (4 octets long)0x61 0x64 0x64 0x00 -> Value of operation name ("add")0x20 -> Padding bytes to align next value
https://www.ibm.com/developerworks/library/ws-underhood/index.html
![Page 14: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/14.jpg)
XML
<?xml version="1.0" encoding="utf-8"?><Books>
<Book Year="1979"><Title>The Hitchhiker's Guide to the Galaxy</Title><Author>Douglas Adams</Author>
</Book><Book Year="1983">
<Title>The Colour of Magic</Title><Author>Terry Pratchett</Author>
</Book></Books>
![Page 15: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/15.jpg)
SOAP
<?xml version="1.0"?><soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<soap:Body xmlns:m="http://books.org/books><m:Books>
<m:Book Year="1979"><m:Title>The Hitchhiker's Guide to the Galaxy</m:Title><m:Author>Douglas Adams</m:Author>
</m:Book><m:Book Year="1983">
<m:Title>The Colour of Magic</m:Title><m:Author>Terry Pratchett</m:Author>
</m:Book></m:Books>
</soap:Body></soap:Envelope>
![Page 16: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/16.jpg)
JSON
{ "Books": [{
"Title": "The Hitchhiker's Guide to the Galaxy","Author": "Douglas Adams","Year": 1979
},{
"Title": "The Colour of Magic","Author": "Terry Pratchett","Year": 1983
}]
}
![Page 17: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/17.jpg)
Protobuf
syntax = "proto2";
message Book {string title = 1;string author = 2;int32 year = 3;
}
![Page 18: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/18.jpg)
Protobuf
0A 38 0A 24 54 68 65 20 48 69 74 63 68 68 69 6B65 72 27 73 20 47 75 69 64 65 20 74 6F 20 74 6865 20 47 61 6C 61 78 79 12 0D 44 6F 75 67 6C 6173 20 41 64 61 6D 73 18 BB 0F 0A 29 0A 13 54 6865 20 43 6F 6C 6F 75 72 20 6F 66 20 4D 61 67 6963 12 0F 54 65 72 72 79 20 50 72 61 74 63 68 6574 74 18 BF 0F
![Page 19: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/19.jpg)
► Thrift
► Avro
► MessagePack
► BERT
► BSON
OTHER WIRE FORMATS
![Page 20: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/20.jpg)
PROTOCOLS
![Page 21: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/21.jpg)
► Raw, fast and painful
TCP/IP
![Page 22: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/22.jpg)
► Text-based
► Headers
► Body
HTTP 1.1
![Page 23: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/23.jpg)
► Over HTTP
► Hypermedia
Representational State Transferaka ReST
![Page 24: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/24.jpg)
► Binary
► Fast
► Windows Communication Foundation
► Proprietary to Microsoft
NETTCP
![Page 25: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/25.jpg)
► Binary
► Fast
► Internal to Google
STUBBY
![Page 26: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/26.jpg)
► Binary
► Fast
► HTTP/2
► Open-sourced by Google
gRPC
![Page 27: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/27.jpg)
► JSON
► Efficient
► Flexible
GraphQL
![Page 28: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/28.jpg)
► Reactive Streams semantics
► Lower-level
► RSocket-RPC
RSOCKET
![Page 29: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/29.jpg)
WCF vs gRPC2006 vs 2020
![Page 30: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/30.jpg)
WCF vs gRPC
WCF Wire formats
SOAP
NetTCP encoding
C# or VB.NET
Windows-only
Interop via SOAP
WSDL or native stub generator
gRPC Wire formats
Protobuf
Customizable
C++, Java, Python, C#, Go, Node…
Cross-platform
Interop as standard
Protobuf stub generator
![Page 31: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/31.jpg)
gRPC Language Support
Official C++
Java
C#
Python
Go
Ruby
Node.js
Objective-C
Dart (beta)
3rd Party Rust
Haskell
Erlang
Elixir
Elm
TypeScript
Scala
Kotlin
Perl
![Page 32: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/32.jpg)
WCF exampleIt's always a Calculator…
![Page 33: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/33.jpg)
gRPC exampleStill a Calculator…
![Page 34: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/34.jpg)
THE FUTURE
![Page 35: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/35.jpg)
► 5G networks
► Satellite internet
► New devices► Wearables
► Mixed Reality
► Voice
► IoT
THE FUTURE
![Page 36: A BRIEF HISTORY OF THE FUTURE OF THE API · eBay API Amazon Twitter Facebook Platform 2000s Cloud computing Amazon Web Services Microsoft Azure 2000s Microservices](https://reader033.vdocument.in/reader033/viewer/2022042304/5ecf344c875e2c2d8330da6f/html5/thumbnails/36.jpg)
A BRIEF HISTORY OF THEFUTURE OF THE API
QCon London 2020Mark Rendle
@markrendle
visualrecode.com