Measuring Entrypoint Layer Latency in NewRelic

In a microservices environment where services align to team boundaries, many times it will be necessary to call a service owned by another team. My team is responsible for the customer-facing external API layer for B2B transactions. We maintain multiple versions of MISMO APIs and handle security, logging, monitoring, and mapping the customer request to a standardized data format for our internal APIs. The APIs we are fronting do a lot of work....

October 30, 2023 · 4 min · Daniel Adams

Framework-ish Dependencies

In software development, we generally must use dependencies to efficiently get more complex functionality we don’t want to write ourselves. However, there are some types of dependencies that prove to be more painful when maintaining software than others. Fewer dependencies leads to less upgrade work including less security vulnerability remediation work. Below I rank categories of dependencies with respect to the likelihood to have coupling issues during framework upgrades. The Dependencies Good: broadly adopted, well-maintained dependencies that provide necessary functionality orthogonal to the framework (Spring Boot) AWS SDK , MapStruct , JAXB used in another project Not ideal, but necessary: coupled to the framework, but necessary functionality SpringFox for OpenAPI spec generation Probably not necessary: small uses of convenience functions or premature optimizations Pulling in the full Apache Commons Collections just for CollectionUtils....

October 14, 2023 · 4 min · Daniel Adams

Hammock Driven Development

…Or how good ideas sometimes come in the middle of the night. An episode of the Big Ideas in App Architecture podcast introduced me to a set of talks by Rich Hickey. I think it was this one with Joe Lynch? Rich’s talks were Simple Made Easy and Hammock Driven Development . Both were insightful regarding what mindset to invoke when creating software. The premise of hammock driven development is that thinking about a topic over a long enough period of linear time causes the subconscious mind to prioritize it....

September 26, 2023 · 4 min · Daniel Adams