Abstraction promises convenience, but it often comes with hidden costs that only reveal themselves as time goes on.
Remember when you could download music to your phone and truly own it? You could buy CDs or DVDs, and they were yours, that means no subscriptions, no monthly fees. You had to deal with some issues though. You had to manage storage, worry about physical media (disc) breaking, and manually organise everything into folders jazz, afro etc. Today, the likes of Spotify, Youtube, Apple Music, and Netflix abstract all those concerns away. In exchange, you pay a subscription fee or pay with your attention by watching ads.
This same pattern plays out in software development. LangChain helps developers build LLM-based applications by abstracting away the manual orchestration of pipelines and replacing them with simple calls called chains. They released LangSmith, which helps you trace what each chain is doing and allows you to debug quickly. The first tier is free, but you can easily go over the limit set and will then need to jump on the paid tiers. While truthfully, you can write your own handler to help you trace, it comes with a cost of sitting down and building that logic, time you could spend on more productive work. Thankfully there is Langfuse, which is open source and has a more generous free tier when you use the cloud offering (or you can self-host it entirely).
The thing is, once you are onboard using an abstraction, you are now tied to whatever terms the provider gives in the future. This is what we call vendor lock-in in technical terms, where you cannot go elsewhere because you have been tied to the provider either through better service, through much more convenience, incompatibility with other providers in the same space or maybe through legal terms as with the Adobe subscription.
I have enjoyed many abstractions and not all abstractions are exploitative. Sometimes the convenience you or your team gets genuinely justifies the cost, and providers deliver real value. The key is being aware of the trade-off you're making.
So yes, abstraction brings convenience, but be ready to pay for it immediately or when the time comes, someone bears the costs of making it convenient for you. With that in mind, what abstractions do you enjoy using?
Top comments (0)