Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe

APIdays_official 132 views 18 slides May 05, 2024
Slide 1
Slide 1 of 18
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18

About This Presentation

Scaling API-first – The story of a global engineering organization
Ian Reasor, Senior Computer Scientist - Adobe
Radu Cotescu, Senior Computer Scientist - Adobe

Apidays New York 2024: The API Economy in the AI Era (April 30 & May 1, 2024)

------

Check out our conferences at https://www.apid...


Slide Content

May 1st, 2024
Scaling API-first – The story of a
global engineering organization
Ian Reasor | Senior Computer Scientist
Radu Cotescu | Senior Computer Scientist

© 2024 Adobe. All Rights Reserved.
May 1st, 2024
Who We Are
Adobe Experience Manager
Best In Class Content Management, Digital Asset Management and Forms Processing Platform
Ian Reasor
Senior Computer Scientist
AEM Assets
Radu Cotescu
Senior Computer Scientist
AEM Sites

Our Journey
© 2024 Adobe. All Rights Reserved.
May 1st, 2024

© 2024 Adobe. All Rights Reserved.
May 1st, 2024
API First Task Force
“Organizations which design systems… are constrained to produce designs which are copies of the
communication structures of these organizations.”
—Melvin E. Conway, How Do Committees Invent?
© 2024 Adobe. All Rights Reserved.

© 2024 Adobe. All Rights Reserved.
May 1st, 2024
API First Task Force
Discuss standards
Document API guidelines
Review new APIs
Build tooling
Provide infrastructure

© 2024 Adobe. All Rights Reserved.
May 1st, 2024
JSON Schema conventions API style guide
Pagination and sorting Security
Long-running operations Performance
Conditional requests Error handling
Versioning API namespace
API First Guidelines

© 2024 Adobe. All Rights Reserved.
May 1st, 2024
API First Guidelines - Standards
RFC 2119
Key words for use in RFCs to
Indicate Requirements Levels
RFC 9110
HTTP Semantics
RFC 5789
PATCH method for HTTP
RFC 6902
JSON Patch
RFC 7396 JSON Merge Patch
RFC 7807 Problem Details for HTTP APIs
RFC 8594 The Sunset HTTP Header Field
RFC 9111HTTP Caching RFC 6585 Additional HTTP Status Codes

© 2024 Adobe. All Rights Reserved.
May 1st, 2024
Common OpenAPI Schemas Repository
├── headers
│ ├── request
│ │ ├── If-Match.yaml
│ │ ├── If-None-Match.yaml
│ └── response
│ ├── ETag.yaml
│ ├── Last-Modified.yaml
│ ├── Location.yaml
│ └── Retry-After.yaml
├── parameters
│ ├── cursor.yaml
│ └── limit.yaml
├── responses
│ ├── 204_NoContent.yaml
│ ├── …
│ ├── 503_ServiceUnavailable.yaml
│ ├── ProblemDetails.yaml
│ ├── CommandResult.yaml
└── schemas
├── Cursor.yaml
├── Limit.yaml
├── OrderBy.yaml
└── jsonpatch
├── AddOperation.yaml
├── ...

© 2024 Adobe. All Rights Reserved.
May 1st, 2024
Common OpenAPI Schemas Repository

© 2024 Adobe. All Rights Reserved.
May 1st, 2024
Redocly Decorators

Redocly Decorators
Authentication
Add authentication methods for use in local
development workflows
Code Generation
Generate code, based on custom business rules
Add Servers
Add additional servers to support development
workflows
Add Parameters
Add additional parameters, such as those used
in development workflows or those that are only
available in certain deployment scenarios.
© 2024 Adobe. All Rights Reserved.
May 1st, 2024

© 2024 Adobe. All Rights Reserved.
May 1st, 2024
API Schema Bootstrap

© 2024 Adobe. All Rights Reserved.
May 1st, 2024
Validates
•Alignment to security best practices
•No introduction of new vulnerabilities
Validates •Adherence to API Guidelines
•Coherence with APIs from other product areas
API Reviews
Validates
•Correctness of API for the business case
•Coherence with other APIs in the product area
Objective Outsider
API expert from outside of the team
Security Champion
Member of the security team
Subject Matter Expert
Member of the implementing team

© 2024 Adobe. All Rights Reserved.
May 1st, 2024
API Registry and Router
§Developers release new API versions to our
artifact repository and list them in the API registry
•CI reads the updated registry configurations and
builds and deploys a set of API router VCL
configurations in our CDN
•Client requests are routed to the appropriate
backends by the router

© 2024 Adobe. All Rights Reserved.
May 1st, 2024
Developer Documentation
https://developer.adobe.com/experience-cloud/experience-manager-apis/

Looking Back
© 2024 Adobe. All Rights Reserved.
May 1st, 2024