Posts

Showing posts with the label Versions

What are we running and how do we know it?

Image
Modern software systems can be complicated with many moving parts.  Each of those parts can be updated, upgraded, or changed at any time.  We need the ability to understand which versions of each component or configuration are running in each environment at any time.   Smart designs, automation, and the appropriate metadata can set us up to understand the specific configurations and versions in each layer in every environment. We will attack this problem in the static / design phases and the dynamic run time phases. What versions do we have available? What versions are we running?

What are we running - API changes expressed as versions

Image
What API version is out there and how do we know it? The software world is continually moving along the path to more API-driven solutions in an attempt to break down monolithic software systems into more manageable size pieces.  We stitch together business processes with a collection of synchronous API endpoints, asynchronous messages, and massive event streams.  Every one of these connection points is a data and behavior contract that can be changed every time one of these endpoints is updated or upgraded.  Today's agile means that the individual services change often and at a rate decoupled from the API consumers.  We need to apply software engineering discipline to capture the changes and make it possible for our consumers to know which version they are talking to. Video Part 1 Change Types and Scale, Synchronous/Asynchronous APIs, Design Time vs Run time Considerations Part 2 Run Time versioning options for consumers and operations ...