Назад | Перейти на главную страницу

Что требуется для установки / обслуживания программного пакета на производственном сервере?

Мой коллега и я обсуждаем использование (или нет) решения для полнотекстового поиска, а именно Elasticsearch в нашем веб-приложении. Я разработчик веб-приложения, и он управляет производственным сервером, который представляет собой один Intel NUC под управлением Ubuntu 14.04, предназначенный для запуска приложения Rails (с PostgreSQL) для небольшого отдела в моем университете.

В настоящее время у нас есть разногласия по поводу выбора программного обеспечения для текстового поиска; он говорит, что я мог бы выполнить задачу с PostgreSQLвстроенные возможности поиска текста. Однако дополнительные функции Elasticsearch, которые являются основной частью программного обеспечения, значительно снизят сложность операций поиска в веб-приложении (по сравнению с функциями текстового поиска PostgreSQL), а также код, необходимый для разработки таких функций.

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

Мы в тупике. Использование Elasticsearch вместо текстового поиска PostgreSQL сэкономило бы мне немало времени на разработку за счет того, что ему пришлось установить одну часть программного обеспечения на сервере. Я должен отметить здесь, что конфигурация Elasticsearch будет ваниль. Он не упомянул безопасность как проблему, поэтому позвольте мне просто спросить:

Какой рабочий процесс требуется администратору сервера для установки (и обслуживания) программного обеспечения? Из того, что я могу догадаться:

  1. Напишите небольшой сценарий bash (~ 5 строк) для установки Elasticsearch X.X.X (и его можно будет повторно использовать / автоматизировать)
  2. Включение Elasticsearch в сценарий служб запуска (возможность повторного использования / автоматизации)
  3. Периодически следите за обновлениями программного обеспечения / уязвимостями безопасности (есть ли для этого автоматизированные инструменты?)
  4. При необходимости обновите установку; скрипт обновления, сделанный на шаге 1

редактировать: Elasticsearch можно установить / обновить / удалить через apt. Это, очевидно, частично упрощает проблему. Но есть проблемы с обслуживанием, которые, как мне кажется, больше всего беспокоят моего коллегу.

Я действительно не думаю, что это ужасно сложно; но я не системный администратор, поэтому не могу знать наверняка. Я просто знаю, что установка на моем компьютере с Ubuntu заняла менее 3 минут и не требовала дополнительной настройки для работы с существующей настройкой приложения Rails.

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

Похоже, вы можете добавить ElasticSearch в качестве репозитория в Ubuntu и управлять им с помощью apt, что означает, что он будет обновляться так же, как и все другое программное обеспечение на сервере Ubuntu.

Шаги описаны здесь: https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-repositories.html

  1. Добавьте открытый ключ подписи eleasticsearch
  2. Добавить репозиторий elasticsearch
  3. Обновить apt
  4. Установите или обновите elasticsearch, используя apt как и все остальное в Ubuntu.

Как только elasticsearch станет доступен в apt таким образом, обновления безопасности для elasticsearch должны обрабатываться, когда обновления безопасности применяются через apt вроде нормально. У меня нет личного опыта работы с elasticsearch, но я не уверен, какие проблемы с обслуживанием могут возникнуть, если его можно будет обновить с помощью apt.

Мне кажется немного странным, что документ elasticsearch не включает скрипт bash прямо там в дополнение к информации.