Net API Notes for 2019/04/17
Whew! I got a little busy and several weeks flew by in the wink of an eye.
During the day job, my team and I have been exploring alternatives to domain driven design (DDD) for helping teams identify API boundaries. While DDD is great, it can be a heavy process. Understanding the lexicon, navigating the methodology, and finding a skilled facilitator are all challenges for time-strapped teams.
One technique that we practiced with, recently, is event-storming. Invented by Alberto Brandolini, it is an exploratory process for decomposition of big concepts in a low-fi, approachable way. In theory, using only a few ground rules, a session leader would be able to lead a group to insights on their bounded contexts in an afternoon.
That's the theory, anyway. Thus far, our training sessions uncovered a handful of subtle, but significant gotchas when establishing (or not establishing) guide-rails. Without the rigidity of a formal, heavy-weight methodology (like DDD), there are even more demands on the facilitator's ability to shape the conversation.
That's not to say event-storming is bad or lacks promise. The team came away from our initial session enthusiastic about both what they learned about the immediate problem and the potential of what the technique could be. However, it requires practice.
For more about event storming, check out this getting started piece. And I hope to share further experiences as we continue to explore the space.
Now, onto the notes!
Notes
Decomposing the Monolith
Decomposing monoliths is hard, which is why my team is exploring techniques to recommend to other development teams. Manish Mehndiratta, writing on Forbes, has a piece on "How to Approach the Transformation to Microservices".
For many, microservices push the decomposition challenges to the forefront. Manish describes several steps for identifying these finer-grain APIs. Unsurprisingly, many steps need to happen before ever writing the first bit of code.
Happy Little APIs
I love watching as (relatively) new networks co-opted for something else. Twitch.TV is an Amazon-owned video service used, initially, by gamers to livestream their playthroughs. However, Amazon has started using Twitch to stream educational content.
On AWS's BuildOn channel, Eric Johnson, Sr. Developer Advocate Serverless AWS and Alan Tan, Sr. Product Manager for API Gateway, AWS have started a 13 episode series, entitled "Building Happy Little APIs".
Everyone learns in different ways and if this is your jam, more power to you! At a minimum, it is very cool seeing alternative training options being made available for folks.
The Many Flavors of Orchestration
How many flavors of API orchestration can you count? I know in my daily work, I run into many teams that use 'orchestration' inconsistently. I'll now be referring them to Matt McLarty's piece, "Flavors of Orchestration. If you want precise disambiguation of aggregation, orchestration, and choreography, then this is the piece for you.
Milestones
- Cloud Elements released its 'State of API Integration' Report for 2019. There's a fair amount of data there including preferences for event-driven integration patterns, API styles, and more.
- Stackoverflow also released its 2019 Developer Survey Results. A nugget I always dig for is the average 'time on job' for a typical developer; the historical trend has been shorter engagements. That puts more pressure on companies to provide the mechanisms to retain and redistribute institutional knowledge across developer churn. This year's report states that approximately 74% of developers are either actively looking, or open to new opportunities. Meanwhile, over half of survey respondents have taken a new job in the last two years.
- API Platform Tink raises €56m and Expands in Europe. I don't have much more to share here than the press release, but it has been fascinating to watch the interplay between regulatory bodies and incumbents play out in Europe.
- GPS API bug allowed unauthorized people to mess with people's maps. It is a bit buried, but it appears that while the service provider was authenticating requests, it was not checking to see if those authenticated users were authorized to write new values against other users. Combine that with auto-incrementing accountId numbers, and shenanigans ensued.
- With little warning, Lyft is shutting down its developer API program. This is after IPO'ing earlier this year and then entering an immediate slump. The API will continue to exist, but only for partner relationships.
- Let's end on a positive note. Ever have to scramble to connect to the latest, greatest version of an API after an unannounced change? This CommitStrip comic is for you.
Wrapping Up
I recently fixed a minor bug in Webapi.events. It should be current through this month. I've also looked at whether including API-related Eventbrite activities would be worthwhile. If you have an opinion or suggestions for other in-person event sites I should be scanning, let me know.
Finally, thanks to my Patreon sponsors. Their support of this newsletter, WebAPI.events, and more is much appreciated.
Till next time, Matthew