Net API Notes for 2019/07/01
Last week I had the opportunity to speak to the Technical Product Management Community of DC. It was part of my desire to deepen local ties and grow richer area communities. It was different in that the presentation wasn't directly about APIs, software governance, or knowledge communities. Instead, I parlayed my last several years of working with agile development teams into a micro-workshop on solving common anti-patterns.
If that degree of difficulty (different group, different subject matter) wasn't high enough, I added forty pounds of Lego to the mix. I'll save the conversation about surfacing assumptions and creating shared understanding through physical metaphor for another time. The logistics of getting things clean, sorted, transported, and cleaned again is no small feat. It's no wonder we don't see more experimentation outside of the usual "lecture with slides" fare.
The talk went better than I expected and I hope to have it posted soon. I also shot some video but haven't had an opportunity to review it yet. When I do, I'll be sure to mention it here.
Now let's talk about the thought that is already posted online!
NOTES
BUILDING DISTRIBUTED SYSTEMS AND MICROSERVICES
Jan Stenberg, writing on InfoQ, covers a thoughtful presentation given by Jeppe Cramon at Micro CPH. Cramon leans heavily into his experience building SOA architectures to discuss how microservices are different and where the architectural pattern can go wrong:
"-we should focus on the business domain and finding the boundaries within it, in order to be able to define the services for the solution."
You can watch the presentation, in its entirety, from the Micro CPH YouTube channel.
- FORGET MONOLITHS AND MICROSERVICES - COGNITIVE LOAD IS WHAT MATTERS While I am mentioning microservices, it is worth mentioning an interesting article that was published by Matthew Skelton and Manuel Pais. When companies consider software decomposition, "domain driven design" (DDD) is the usually recommended approach. However, what if there's more to it?
The "monoliths versus microservices" debate often focuses on technological aspects, ignoring strategy and team dynamics. But instead of starting with technology, smart-thinking organizations are beginning with the team's cognitive load as the guiding principle for the effective delivery and operation of modern software systems.
It is an intriguing idea that doesn't replace DDD, but adds nuance. The article continues to define several types of cognitive load and how to approach it.
GRAPHQL CASE STUDY
We're getting to the point in GraphQL's maturity where in-production case studies are starting to emerge. Peter Nycander shares one of those in his piece "A year of large scale GraphQL - the biggest takeaways". In it, Peter discusses how his team used Apollo to standardize the communication with their using React UI framework. He also shares the challenges that came from caching and schema stitching.
For a subset of use cases, GraphQL provides a compelling value proposition. "Just make sure to take your time when designing the schema," Peter advises, "getting it right the first time around will save you a lot of headache."
MILESTONES
- Postman 2.7 now has GraphQL support. While the use case given is a bit of a straw man argument, it does show Postman's continued diversification in the tool space.
- Meetup is about to start charging for API access. This is a bummer, as I've been using Meetup information for a variety of hobby projects, including Net API Events, for some time. API Keys are out, OAuth is in, and after August 15th anyone who wants to apply for API access through OAuth will need to have a Meetup Pro account.
- Venmo APIs still have API insecurities, allowing scraping of purchase info. If that sounds familiar, it is. There's been little to curb the privacy issue since it blew up a year ago.
- I don't usually post tweet storms in the Milestones, but Matt Klein has a great one about service meshes and complexity.
- Finally, API Fortress, following a trend of more full-featured API toolkits, announced a new test creation ability for APIs.
WRAPPING UP
In the US, we're gearing up for a week of Fourth-of-July celebrations. I'll be traveling "back home" to rural South Dakota, where the internet is spotty, and the cell phone reception is non-existent. Before I disappear into the connectivity-equivalent of the mid-90s, I want to share a big thank you to my Patreon sponsors. I appreciate your support of my compulsive research and hope you have a relaxing (and safe) holiday.
Till I come back,
Matthew @libel_vox and matthewreinbold.com