Autonomous APIs: Navigation in complex landscapes
Who is this presentation for?
- Enterprise, domain, and solution architects, engineers, and frontend and backend developers
Services with their APIs are no longer living isolated in silos. Capabilities exposed by these microservices, service meshes, and serverless functions are creating the landscapes. The clients depend on multiple services and are often servers to other clients. These landscapes forming at every level—team, application, organization, domain, and global—start to face out-of-the-bound complexity issues. The current approach building such systems is imperative programming, human-produced and consumed interface documentation, minimal visibility, and limited automation (“Do you CI? Do you even CD?”). As such, it’s impossible to predict the effects of modifying even one component of the system. The task structure and size complexity is growing beyond our cognitive abilities, and yet we’re still trying to solve the problem by hiring more engineers.
With limited visibility, the capability discovery in these landscapes is limited to institutional knowledge, hand-crafted organizational Wiki pages, or Google searches on the domain and global level. Zdenek Nemec explores the problems with the complexity of forming API landscapes and proposes the autonomy of the components as the solution to the difficulty of managing components centrally. He defines levels of autonomy and examines the building blocks of autonomous systems such as automation, virtualization, uniform interface, bounded context, domain-driven design, declarative programming, semantic profiles, service discovery, and self-driving clients. He also gives special attention to the interface lifecycle, advertising future changes and subscription to it. He details the most important and currently missing piece—the service discovery (API producing and consuming standpoint, not the DevOps virtual machine (VM) and machine instance).
- A basic understanding of the core concepts of the distributed systems
- Familiarity with APIs (REST, WS/SOAP, GraphQL, Kafka, etc.)
- A working knowledge of the API description formats, DevOps, CI/CD, and domain-driven design (useful but not required)
What you'll learn
- Discover why autonomy is the solution to complexity in distributed systems
- Understand levels of autonomy of distributed systems, how to achieve autonomy of components in distributed systems, how to achieve service discovery and build self-navigating clients, and the impacts of autonomous APIs on the business
Leave a Comment or Question
Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?
Join the conversation here (requires login)
For conference registration information and customer service
For more information on community discounts and trade opportunities with O’Reilly conferences
For information on exhibiting or sponsoring a conference
For media/analyst press inquires