Day Two Cloud 100: Adding Complexity to Simplify

There’s a tension between consumers and producers created by the competing desires of each party. The producer wants to create something robust that meets the needs of 80% of consumers without being too complicated to produce and maintain. The consumer wants a service that meets 100% of their needs without being too complicated to consume and configure. Too meet the needs of 100% of consumers, the producer needs to add more complexity to a service to cover the remaining 20% of use cases. The new complexity will be unneeded and unwanted by many consumers, which leaves them annoyed that their simple service now is more complicated to consume and configure. The producers, likewise, now need to maintain a more complicated service that does more things. The alternative is to leave the service “incomplete”, frustrating potential consumers with a perceived lack of utility. For producers that choose not to ornament their product with every possible use case, a vacuum is created where a new service might be introduced to fulfill the needs of the 20%. Crossplane is that type of service.

Continue reading “Day Two Cloud 100: Adding Complexity to Simplify”