goodapi.co GENERIC APIS 2 API PROVIDERS ARE FACING COMPLEXITY ISSUES FROM INCREASING NUMBER OF OWN APIS, CLIENT INTEGRATIONS, SERVER & CLIENT DEPLOYMENTS AND API VERSIONS
goodapi.co Accommoda tion B Accommoda tion C Accommoda tion D Accommoda tion E API Consumer APIs Accommoda tion E 3 HARMONIZED APIS CROSS-DOMAIN LANDSCAPES
goodapi.co –Radek Novotny; CEO & founder MyStay “There are few integrators for hospitality APIs consolidating as many as 40 PMS but they are either not-duplex or slow in reactions” CHALLENGE: INTEGRATION WITH MANY PROPERTY MANAGEMENT SYSTEMS (PMS) 3
goodapi.co Accommoda tion B Accommoda tion C Accommoda tion D Accommoda tion E Existing Customer Existing Customer Existing Customer 3rd party New Type of Customer New Type of Customer New Type of Customer BANKING APIS Accelerated by PSD2 3
goodapi.co Accommoda tion B Accommoda tion C Accommoda tion D Accommoda tion E Existing Customer Existing Customer Existing Customer 3rd party New Type of Customer New Type of Customer New Type of Customer LOGISTICS Metapack integrates over 400 carriers Over 100 (!!!) 3rd Party vendors 3
goodapi.co HARMONIZED APIS 3 COMPLEXITY OF CONSUMING MULTIPLE DIFFERENT APIS IS TACKLED BY STANDARDIZATION, GOVERNANCE TO ACHIEVE CONSISTENCY HARMONIZATION IS ALSO OFTEN DONE WITH WRAPPER APIS
goodapi.co HARMONIZED APIS 3 HARMONIZED APIS PROVIDERS ARE FACING COMPLEXITY ISSUES TRYING TO NORMALIZE, GOVERN OR MAINTAINING MANY INTEGRATIONS APIS MANUALLY
goodapi.co COMPLEXITY Complexity Task-structure Complexity How difficult it is understand how to perform a task in a distributed system Unpredictability How difficult is to predict effect of an action in distributed system, amount of entropy Size Complexity Size of the system implies cognitive complexity, large number of concepts and the knowledge required Chaotic Complexity Small variations in a certain part of the system can have large effects on overall system behavior Algorithmic Complexity Both traditional algorithm complexity in the term of time and space and cognitive complexity of understanding algorithm
goodapi.co COMPLEXITY Complexity API Designs x Versions x Deployment Hosts x Clients x Client Deployments IS HIGHER THAN TWO You are likely to face complexity using, maintaining and evolving your API 130 APIs 3 x 6 (environments x availability zones) 70 versions 1500 integrations own deployments: 3 x 6 on-premise deployments: 1000 apps: 3 000 000 IoT: ????? = 1,10565×10^9 IF THE NUMBER OF
goodapi.co SOLUTIONS TO COMPLEXITY Complexity 1. Hire more people 2. Standardization 3. Apply massive automation 4. Autonomy of the components in API landscape
goodapi.co SOLUTIONS TO COMPLEXITY Complexity 1. Hire More People Mechanical turks, eyeballing documentation for changes in design, fixing clients and implementations accordingly. CUSTOMER-SPECIFIC & GENERIC APIS ROLE OF HUMANS IN APIS
INTERFACE ACTUALLY EXPOSED INTERFACE DOCUMENTED INTERFACED USED are they the same? are they the same? are they the same? Complexity AUTOMATION KEEPING THINGS IN CHECK IS HARD
goodapi.co 4. Autonomy AUTONOMOUS APIS SOLUTIONS TO COMPLEXITY AUTONOMY IS THE SOLUTION TO THE DIFFICULTY OF MANAGING MANY COMPONENTS CENTRALLY Components autonomy in an API Landscape reduces the complexity, enables scaling, and promotes the service commoditization. Complexity
goodapi.co AUTONOMY “Autonomy: freedom from external control or influence; independence; sovereignty in making decisions and changes.” –New Oxford American Dictionary Complexity
goodapi.co Navigation through autonomic units Countries, Regions, Cities, City Quarters are autonomous regions but when you are driving from A to B you need to navigate through their roads A B Design-time & Runtime Navigation You need both to follow a map and traffic signs to navigate effectively 4 AUTONOMOUS APIS NAVIGATE SAFELY IN API LANDSCAPE
goodapi.co –Autonomous Client “The level of autonomy is the ability to safely navigate in the API landscape (where the constraints are time and price)” 4 LEVELS OF AUTONOMY
goodapi.co Brittle System Documented Brittle System Automated System Decoupled Automated System Autonomous System Autonomy Autonomous APIs 0 1 2 3 4 AUTONOMOUS APIS 4
goodapi.co • Tightly coupled components • No semantics, interface or lifecycle data • Pros • Time to delivery for point to point integrations when complexity is low • Cons • Everything breaks when something changes • Not scaling with growing complexity Level 0 BRITTLE SYSTEM LEVELS OF AUTONOMY
goodapi.co • Tightly coupled components • Interface metadata available • Human only-semantics metadata available • No lifecycle metadata (is the documentation documenting the interface implementation?) • Pros • Possible API productization • Reusability • Cons • Lock on changes, unable to evolve DOCUMENTED BRITTLE SYSTEM LEVELS OF AUTONOMY Level 1
goodapi.co • Mostly tightly coupled components • Metadata are verified, valid and reliable • Metadata are human or machine readable • Advertisement of the interface, semantics and lifecycle metadata • Client subscription to future changes • Pros • Explicit understanding of price and risk of making changes in the API landscape • Quality Control • Cons • Advanced mindset change involving many people • Cultural denial, hard to get buy-in AUTOMATED SYSTEM LEVELS OF AUTONOMY Level 2
goodapi.co • Uniform Interface • Decoupled components • Evolvability of the components in their respective environments • Share understanding-metadata at RUNTIME • Pros • Harmonized within the system • Reducing price and risk of making changes (by design) • Cons • Difficult taking everything into account, prone to chaotic & size complexity DECOUPLED AUTOMATED SYSTEM LEVELS OF AUTONOMY Level 3
goodapi.co • Self driving clients • Landscape discovery • Machine understanding • Vocabulary not data structure • Declarative programming • Autonomy of the components • Leveraging learned data from simulation for infrastructure • Pros • Higher level of abstraction • Implicit harmonization • Full autonomy of components • Independent evolution • Cons • Cognitive (Algorithmic) Complexity • Demanding on computational power • Higher level of abstraction AUTONOMOUS SYSTEM LEVELS OF AUTONOMY Level 4
goodapi.co goodapi.co Early four-engine jets required flight engineers. Later four-engine jets were designed with sufficient automation to eliminate the position. 747 FLIGHT ENGINEERS ...this will also happen in the world of APIs.
goodapi.co SERVICE COMMODITIZATION CUSTOMER SPECIFIC APIS (SOAP) GENERIC APIS (SO-CALLED-REST) HARMONIZED APIS AUTONOMOUS APIS Graph by Simon Wardley, “How commodity is something?” HARMONIZED APIS (AUTOMATED)
goodapi.co DIGITAL WHOLESALE PRESENCE & SERVICE COMMODITIZATION “Look for a service that can fulfill the shipment of 6 pallets from Prague to Paris under 100 EUR.” “Look for a service that provides information about adidas stan smith” “Is there an air condition service in my landscape?” “Look for a service that has gs1:Offer where gs1:itemOffered gs1:gpcCategoryCode is MILK.” “The level of autonomy is the ability to safely navigate in the API landscape (where the constraints are time and price)” REVOLUTION IN (API) ECONOMY