Конфигурации серверов #
Типичной задачей Linux-сервера является обслуживание деятельности какой-либо организации. Будем считать, что в любой организации есть минимум две ключевые задачи, которые приносят ей основной доход. В рамках курса будем считать, что эти задачи могут быть автоматизированы с помощью информационных систем.
Стоит отметить, что в организации также есть обычные задачи, связанные, например, с документооборотом, бухгалтерией и т.д. Их автоматизация является необходимым элементом для функционирования организации, но не может являться ключевым элементом работы информационной системы.
В рамках данной курсовой работы необходимо предоставить конфигурацию для Linux-сервера, которая позволит автоматизировать задачи выбранной Вами организации. Для этого:
- Необходимо определиться с типом организации, чью работу будет автоматизировать ПО.
- Выбрать набор ПО, которое потребуется для работы организации. ПО должно устанавливаться на сервер, следовательно должно быть доступно по сети.
- Сформировать план по установке каждого элемента ПО.
- Сформировать план по резервному копированию и восстановлению данных и работы данного ПО.
- Автоматизировать задачи, описанные в пунктах № 3 и № 4. Автоматизация задач должна быть выполнена с помощью средств конфигурации сервера Ansible, Puppet, Chef, SaltStack или Terraform.
Для получения оценок необходимо:
- Выбрать уникальный набор ПО для выбранной организации. Набор должен не повторяться с ПО, используемым в других конфигурациях.
- Согласовать с преподавателем профиль организации и список выбранного ПО.
- Реализовать установку и настройку базового набора ПО, необходимого для управления сервером. Настройка должна производиться автоматически. Автоматизация должна быть произведена с использованием инструментов категории Ansible.
Помимо автоматизации задач по установке ПО необходимо подготовить отчёт о проделанной работе и выступить с презентацией. В отчёте необходимо отразить как были решены все поставленные задачи.
Примерный вариант выборов, которые можно сделать при решении задачи.
- Организация занимается разработкой программного обеспечения. Для её работы необходимо обеспечить работу над общим исходным кодом, отслеживать прогресс по выполнению задач, выполнять задачи непрерывной интеграции.
- Для хранения исходного кода и управления задачами выбираем Forgejo, а для автоматизации непрерывной интеграции выбираем Woodpecker.
- Решаем задачи по автоматической установке, резервному копированию и восстановлению указанных проектов. Выбираем подход к автоматизации действий: Bash-скрипты, Ansible, Puppet и т.д.
Список интересных проектов для развёртывания на сервере организации можно подчерпнуть из следующих источников:
- Репозитория awesome-selfhosted, содержащего список программ для установки на свой сервер.
- Официальной документации на сервера ALT.