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

apidays Paris 2024 - Death By A Thousand API Ve...

apidays
December 31, 2024

apidays Paris 2024 - Death By A Thousand API Versions, Stanislav Zmiev, Monite

Death By A Thousand API Versions
Stanislav Zmiev, Tech Lead of Platform Engineering at Monite

apidays Paris 2024 - The Future API Stack for Mass Innovation
December 3 - 5, 2024

------

Check out our conferences at https://www.apidays.global/

Do you want to sponsor or talk at one of our conferences?
https://apidays.typeform.com/to/ILJeAaV8

Learn more on APIscene, the global media made by the community for the community:
https://www.apiscene.io

Explore the API ecosystem with the API Landscape:
https://apilandscape.apiscene.io/

apidays

December 31, 2024
Tweet

More Decks by apidays

Other Decks in Programming

Transcript

  1. It all comes back to Stripe 7 *Note that I

    am not associated with Stripe and am only using the publicly available information
  2. It all comes back to Stripe 8 *Note that I

    am not associated with Stripe and am only using the publicly available information
  3. What about multiple addresses? 1 6 1. Extend it! 2.

    Talk to clients! 3. GraphQL! 4. API Versioning
  4. Okay, so how do we version? 1 7 1. Only

    one dimension 1.2.3-beta
  5. Okay, so how do we version? 1 8 1. Only

    one dimension 2. ISO Dates for versions 1.2.3-beta 2022-11-16
  6. Okay, so how do we version? 1 9 1. Only

    one dimension 2. ISO Dates for versions 3. Versions passed through a custom header 1.2.3-beta 2022-11-16 Monite-Version: 2022-11-16
  7. How solutions are categorized 2 1 Isolation of old versions

    from new bugs Simplicity of implementation and learning Ease of maintenance
  8. What else can we do? 2 7 • How do

    we minimize the burden on our developers? • How do we minimize the burden on our clients? We need a solid compromise
  9. What else can we do? 2 8 Isolation of old

    versions from new bugs Simplicity of implementation and learning Ease of maintenance
  10. What else can we do? 2 9 Isolation of old

    versions from new bugs Simplicity of implementation and learning Ease of maintenance Improved by automated testing
  11. What else can we do? 3 0 Isolation of old

    versions from new bugs Simplicity of implementation and learning Ease of maintenance Improved by automated testing Improved by longer onboarding for new hires
  12. What else can we do? 3 1 Isolation of old

    versions from new bugs Simplicity of implementation and learning Ease of maintenance Improved by automated testing Improved by longer onboarding for new hires Improved by hiring more people
  13. Let’s get back to the basics 3 2 Databases have

    versions Repositories have versions
  14. But is it… 3 8 • Easy to add a

    bug to an older version?
  15. But is it… 3 9 • Easy to add a

    bug to an older version? • Slow?
  16. But is it… 4 0 • Easy to add a

    bug to an older version? • Slow? • Hard to switch to?
  17. Back to conclusion 4 1 - How acceptable is it

    to introduce a bug into an old version? - How often do you make breaking changes? - How long do you support your versions? Less More Migrate requests and responses like Cadwyn and Stripe Copy single routes and small pieces of business logic Deploy versions separately