news.volyx.in

Almost every infrastructure decision I endorse or regret (cep.dev)

1181 points by slyall · 921 days ago · 626 comments on HN

Article summary

The article discusses the author's experiences and decisions made while leading infrastructure at a startup for four years, including choices about cloud providers, databases, and software tools. The author endorses some decisions, such as using AWS and RDS, while regretting others, like using a shared database and not adopting an identity platform earlier. The article highlights the importance of considering trade-offs and potential consequences when making infrastructure decisions. The author also emphasizes the value of prioritizing team efficiency and using tools like Notion and Slack to streamline processes.

Main themes

  • Infrastructure decisions
  • Database management
  • Cloud providers
  • Software tools
  • Team efficiency
  • Database design
  • Programming languages
  • ORMs and database interactions
  • SQL and database skills

What commenters say

  • Hiring a DBA or having a database team is crucial for managing and maintaining databases, especially in large-scale applications.
  • Using a shared database can lead to significant tech debt and performance issues, and it's better to have separate databases for each team or application.
  • UUIDs can be problematic as primary keys due to their non-sortable nature, which can cause performance issues in databases.
  • Some argue that database expertise is essential and should be gated through a dedicated DB team, while others believe that teams can manage their own databases with proper support and auditing.
  • There is a need for programming languages with first-class database support to simplify database interactions and reduce the complexity of managing separate database systems.
  • The use of ORMs like Prisma can simplify database interactions, but they may have limitations, such as lack of support for certain features like JOINs.
  • Database design and schema planning are critical skills for software engineers, and resources are needed to help developers learn and improve these skills.
  • The importance of SQL knowledge is debated, with some arguing that it's a basic skill for software engineers, while others claim that it's no longer a requirement due to the use of ORMs and visual tools.