Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

apidays LIVE Paris - How to tackle the reusability problem in the software industry with GraphQL and microservices? by Maxime Topolov


Published on

apidays LIVE Paris - Responding to the New Normal with APIs for Business, People and Society
December 8, 9 & 10, 2020

How to tackle the reusability problem in the software industry with GraphQL and microservices?
Maxime Topolov, Co-founder of

Published in: Technology
  • Login to see the comments

  • Be the first to like this

apidays LIVE Paris - How to tackle the reusability problem in the software industry with GraphQL and microservices? by Maxime Topolov

  2. 2. Reusable software myths
  3. 3. 60 years old problem
  4. 4. Not only about « modules » or « libraries »
  5. 5. 4 reusability rules
  6. 6. Domains Reusability works well in narrow domains. Forget about generic components. Think industry domains : Banking, Insurance, Transportation, E-commerce…
  7. 7. The Right Size ADA created a catalog 4000 small components : big failure. HP created 100 components catalog : big win.
  8. 8. Interoperability Components have to be really plug-and-play in any project of app.
  9. 9. Discoverability Natural resistance and inertia can be fought trough transparency and discoverability.
  10. 10. Why Now ?
  11. 11. Serverless is now mainstream PAY-PER-USAGE SMALL & ISOLATED SIMPLE DEPLOYMENT FUNCTION VS VMSAUTO-SCALING It’s difficult to re-use only code (GitHub, Stackoverflow, GitLab…) because developer still needs to understand, integrate, debug, deploy and run code. Often they just abandon the idea and code the feature again. But when the code is live and running and the only thing to integrate is an API the re- use is possible. Serverless offers just that : running and live code made easy.
  12. 12. Headless / decoupled projects are now everywhere thanks to Angular & ReactJS You can’t re-use front-end & user experience of features. Those are unique to each implementation. Once front and back are fully separated thanks to React, Angular or Vue.JS you can start re-use back-end.
  13. 13. Total front-end flexibility No front <> back teams adherence Schema federation : you can combine services together in a single API No need for versioning Single Graph for an entire enterprise. GraphQL is a revolution for APIs started in 2015
  14. 14. Microservices architectures are now common = Millions of Isolated, autonomous and potentially reusable services inside enterprise IT
  15. 15. GraphQL & Domain Design
  16. 16. Exposing Data Sources as Domain Model Generating Domain Models from a Combination of Other Domain Models Schema design is less technical than database design
  17. 17. Mutations federations & transactions Teams dependencies Resolvers performance
  18. 18. Next step NPM for APIs
  19. 19. … B2B API Start-ups Freelancers Agencies & IT Services Corporate IT Departments RFP with components Recommend Components Consume marketplace Consume marketplace Make Services Sell parts of their legacy products as consumable APIS Wrap their API, Sell on a marketplace Components Assignments Recommend Components Consume marketplace Internal components platform In-house visibility Use backend Use backend … Legacy software editors Make Services
  20. 20. GRAPHQL ENDPOINTS DATABASE & CODE GENERATION CI/CD & ENVIRONMENTS CATALOG OF REUSABLE API With 🥰 Vous-mêmes 😭 all included VS a single place to build, run, re-use GraphQL microservices.
  21. 21. Coming soon : a fully open-sourced GraphQL native API Gateway. Stay tuned, follow us :