8 Technology decisions

 

This chapter covers

  • The importance of making long-term strategic decisions, like build versus buy
  • Hosting in the cloud or your own servers and disaster-continuity considerations
  • Different types of data storage
  • Open source licenses and choosing the right language/framework

Making decisions on the technology that will power a company is one of the most important responsibilities a CTO will take on in their role. Although we like to think we are in a fast-paced industry, always changing, always evolving, the reality is that production systems can last decades without any significant change. This is quite a sobering thought—the system you are developing now could still be running when you are looking to retire. How can this be, you ask yourself? The reasons a production system can last for so long can include the following:

  • The technology stack does not lend itself to incremental updates easily.
  • The technology leadership over the years don’t wish (or know how) to touch the sacred cow.
  • The leadership has no experience of anything but the current technology.
  • It becomes so critical that replacing or upgrading it is too high a risk or cost.
  • Hubris—it was built perfectly, so how can you improve on perfection?

8.1 Avoid lock-in

8.2 Build vs. buy

8.2.1 Buy

8.2.2 Build

8.2.3 Considerations

8.2.4 Checklist

8.3 Cloud vs. on-prem

8.3.1 Cloud

8.3.2 On-prem

8.4 Disaster recover