A bit of inspiration most weekdays for building YOUR Platform.

But what if ...

Cliff Brake August 08, 2024 #future

In the last post, we discussed the fallacy of using complex technology when the scale does not justify it.

But, what if we get a lot more customers, or sell a lot more systems? Should we not plan for the future now? Use technologies now that will work at large scale? We don't want to paint ourselves into a corner such that we end up with a system that won't meet our needs in the future.

Certainly, we should keep the future in mind, but the most important way to plan for the future is to streamline your processes and development workflow now so that you can continually move toward the future as it comes.

NOT try to implement the future now. That is costly, and you'll never get it right that way.

Some decisions are important now and some are not.

You don't need to use Kubernetes now -- you can add that in later. But it is important to use some type of automated configuration and deployment -- perhaps a simpler solution like a simple Github Action, or Ansible.

The same with micro-services. It is easy to split things apart later as it makes sense. But it is difficult to deal with a mess that is prematurely split up.

You can plan by using a decoupled architecture, data structures that are flexible, and modern programming languages that are efficient.

If you have an efficient workflow where it is easy to make and deploy changes, the correct architecture will naturally emerge. You will continually simplify things as you see common patterns.

And simple patterns are what scale to any problem.