Рубрики
Uncategorized

Упростите свою конфигурацию

На этой неделе я начал помогать небольшому стартапу оценить и оптимизировать их приложение прототипа. Когда -либо … с меткой конфигурации, производительности, программирования, DevOps.

На этой неделе я начал помогать небольшому стартапу оценить и оптимизировать их приложение прототипа. Каждый раз, когда я начинаю один из этих проектов, меня поражает, сколько распространенных анти-паттернов я вижу практически на каждом проекте.

Сегодня я хочу поговорить о чрезмерном использовании конфигурации.

Вот (анонимный) фрагмент конфигурации для приложения, над которым я работаю (извлечен из конфигурации докеров-скомплектования):

      - S3_LOCAL_PATH=./static/
      - EMAIL_TEMPLATE=./static/notifications/email.yml
      - SMS_TEMPLATE=./static/notifications/email.json
      - PUSH_TEMPLATE=./static/notifications/email.json
      - FIREBASE_PRIVATE_KEY_PATH=./firebase.json
      - PUSH_NOTIFICATIONS_PATH=./static/notifications/push/push.json

Это просто глупо.

Буквально ни одна из этих переменных не должна существовать.

Почему?

Это приложение выполняется в одном из двух режимов:

  1. Из контейнера Docker
  2. В местном пути развития

Предоставление пути файлов для программ, которые выполняются из Docker, почти по определению избыточно. Вся идея Docker состоит в том, чтобы упаковать полное приложение.

И во многих случаях, таких как этот, потребности в развитии ничем не отличаются. Если бы было какое -то необходимость указать альтернативный путь, вероятно, было бы достаточно, чтобы иметь сингл Переменная конфигурация, указывающая на путь верхнего уровня.

Само собой разумеется, я буду разорвать эти переменные конфигурации и заменить их константами. Это уменьшит сложность как в самой программе, так и в конфигурации, так и в депутации. Беспроигрышный вариант для Dev и Ops!

Оригинал: «https://dev.to/tinydevops/simplify-your-configuration-3n54»