Write libraries instead of services, where possible
1–10 of 181 posts
Re: Write libraries instead of services, where possible
#2I think this sentiment is a partial cause of the trend towards self-hostable, downloadable software too.
The customer has a cost when they operate a library instead of consume a service, no doubt. They also get more control (no surprise upgrades, availability is their responsibility) and assurances (no worries about the service suddenly being end of lifed).
Re: Write libraries instead of services, where possible
#3Previous discussion: https://news.ycombinator.com/item?id=26398960
Re: Write libraries instead of services, where possible
#4(so that I can use your library and not depend on your service)
Re: Write libraries instead of services, where possible
#5It was like this 20 years ago. "software that can be run by the user" - good old times.
Re: Write libraries instead of services, where possible
#6Services usually depend on databases. Libraries usually don’t. Either you need to support every storage backend your users might have, require them to write an integration layer from your generic hooks, or expect them to provision and manage new storage when using your library. In any case you are asking them to do a lot more work (manage the data) and in some sense breaking encapsulation by making them responsible for this.
Re: Write libraries instead of services, where possible
#7Is this really a common scenario where there's a choice between these 2 options that isn't obvious? I've never considered libraries and services to be two equal options of distributing functionality, and you just pick one of them. It's usually a function of practicality and monetization.
Re: Write libraries instead of services, where possible
#8Yeah but then who is responsible for maintaining the library? If you have a bunch of internal teams that depend on your library and there is an issue or a feature request, you're back to the same position of being the one that does the work to implement. Better to have a service IMO, you can get telemetry out of it and scale it out or replace internals without having to worry about who will get affected.
Re: Write libraries instead of services, where possible
#9Write libraries instead of services. Where necessary, wrap libraries in services.
Re: Write libraries instead of services, where possible
#10Related: Who Does That Server Really Serve?
https://www.gnu.org/philosophy/who-does-that-server-really-s...