Развертывание
Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
foxdev_7:развертывание [10.11.2017 01:12] admin [Принципы развертывания программ и сервисов PL7] |
foxdev_7:развертывание [20.05.2019 15:18] (текущий) |
||
---|---|---|---|
Строка 41: | Строка 41: | ||
- Также удобно делать два ориджин origin - на github.com и origin_carbon на gitlab.carbonsoft.ru и мерджить при разработке | - Также удобно делать два ориджин origin - на github.com и origin_carbon на gitlab.carbonsoft.ru и мерджить при разработке | ||
- TODO привести подробные примеры proxy_sms, wiki1, satellite_blacklist, asr_billing | - TODO привести подробные примеры proxy_sms, wiki1, satellite_blacklist, asr_billing | ||
- | - | + | - |
==== Дополнение 3 уровни ==== | ==== Дополнение 3 уровни ==== | ||
- | Хост - это только возможности ос и железа, он максимально тупой, это просто голая ОС.\\ | + | |
- | Нода - это набор утилит для инициализации сети, стореджа, ядра и гипервизоров, например /node/bin/node.(этот уровень может отсутствовать) \\ | + | Хост - это только возможности ос и железа, он максимально тупой, это просто голая ОС. \\ Нода - это набор утилит для инициализации сети, стореджа, ядра и гипервизоров, например /node/bin/node.(этот уровень может отсутствовать) \\ Base - это набор утилит для запуска, настройки и управления приложениями и/или виртуальными машинами. Например в pl5ctl - /app/asr_fiscal/service, или в carbon_cloud - /node/bin/vm, или в devops_crab - carbon_lxc \\ Cloud Visor - это набор утилит для централизованной оркестровки node,vm,конфигов,бекапов и специфичных облачных сервисов. Обычно это виртуальная машина с ключами ко всем нодам. |
- | Base - это набор утилит для запуска, настройки и управления приложениями и/или виртуальными машинами. Например в pl5ctl - /app/asr_fiscal/service, или в carbon_cloud - /node/bin/vm, или в devops_crab - carbon_lxc\\ | + | |
- | Cloud Visor - это набор утилит для централизованной оркестровки node,vm,конфигов,бекапов и специфичных облачных сервисов. Обычно это виртуальная машина с ключами ко всем нодам.\\ | + | |
==== Дополнение 4 Авторизация ==== | ==== Дополнение 4 Авторизация ==== | ||
- | Если на предприятии, то Централизованная система авторизации OpenLdap с многогрупповостью, кэширование авторизации sss.\\ | + | |
- | Если облачные сервисы, то oAuth2 желательно с дополнительной защитой при установке пароля, чтоб в ssl не передавался в открытом виде.\\ | + | Если на предприятии, то Централизованная система авторизации OpenLdap с многогрупповостью, кэширование авторизации sss. \\ Если облачные сервисы, то oAuth2 |
+ | с провайдером аутентификации. Провайдер желательно с дополнительной защитой при установке и проверке пароля например дайджест, чтоб в ssl не передавался в открытом виде. | ||
==== Дополнение 5 веб интерфейс и cmd ==== | ==== Дополнение 5 веб интерфейс и cmd ==== | ||
- | Все должно быть утилитами удобно скриптоваться и отлаживаться из командной строки uixway и/или GitCtl style.\\ | + | |
- | Демоны должны запускать отдельные утилиты, кроме редких случаев реальных проблем с производительностью.\\ | + | Все должно быть утилитами удобно скриптоваться и отлаживаться из командной строки uixway и/или GitCtl style. \\ Демоны должны запускать отдельные утилиты, кроме редких случаев реальных проблем с производительностью. \\ Веб-интерфейс к системным вещам должен в конечном итоге запускать утилиты и быть к ним просто интерфейсом, кроме редких случаев когда утилит нет. Либо общая библиотека для веб-бекенда и утилит с вызовом одних и тех.же функций и возможностью отладки из консоли. |
- | Веб-интерфейс к системным вещам должен в конечном итоге запускать утилиты и быть к ним просто интерфейсом, кроме редких случаев когда утилит нет. Либо общая библиотека для веб-бекенда и утилит с вызовом одних и тех.же функций и возможностью отладки из консоли.\\ | + | |
==== Дополнение 6 многоязычность ==== | ==== Дополнение 6 многоязычность ==== | ||
- | Всегда реализуется возможность добавления дополнительных языков стандартными средствами.\\ | ||
- | [[:open_carbon_7:team_agile_scrume|Читать далее: команды agile scrum]] | + | Всегда реализуется возможность добавления дополнительных языков стандартными средствами. |
+ | |||
+ | ==== Дополнение 7 устаканилось ==== | ||
+ | |||
+ | Стандартное взаимодействие это rest или просто get или файлы. | ||
+ | |||
+ | Максимальная живучесть вачдог, софтдог, ангелы, форки и тп | ||
+ | |||
+ | Возможность легкой миграции на другой хост | ||
+ | |||
+ | Возможность полного бекапа и восстановления, точки восстановления | ||
+ | |||
+ | Подсистема сбора и отображения всей информации о службах и нодах через snmp или carbon_monitoring | ||
+ | |||
+ | Возможность легкого включения дебага любой проги по единой схеме, стандартизация логлевелов и формата логов \\ Рассмотреть событийность и бродкаст события в тч сетевые ipc net единый монитор событий. NET-DBUS NET-RPC, http, https, XML-RPC, SoaP. Идея единой шины событий предприятия. | ||
+ | |||
+ | \\ Не заниматься оптимизацией приложений и файлов в них, пусть будет много лишнего, centos minimal. | ||
+ | |||
+ | ВАЖНО Излишняя безопасность вредна! \\ ВАЖНО Излишняя технологичность и непривычность для пользователя вредны! \\ ВАЖНО НЕ пакетная система, а бинарная или rsync! | ||
+ | |||
+ | Вся кастомизация под клиента должна быть в отдельном каталоге и желательно хуками или хук с патчем его вызова. | ||
+ | |||
+ | Централизованное развертывание и обновления софта. \\ Древовидная структура служб предприятия с возможностью переноса.\\ | ||
+ | |||
+ | Помощь админу, различные демоны для отслеживания состояния системы и логов, carbon_monitoring с отправкой и евентами в единую бд.\\ | ||
+ | Kickstart\\ | ||
+ | kexec+kdump\\ | ||
+ | Максимально не трогаем хостовую ОС, от нее нам надо только ядро и может быть крон и может быть сеть\\ | ||
+ | Откат на старые версии приложений и хоста\\ | ||
+ | Конфиг файл должен в себе содержать комментарий к переменной, ее виджет, ее рендж. Как минимум в виде коммента.\\ | ||
+ | |||
+ | ==== Дополнение 6 к обсуждению идеи и todo ==== | ||
+ | |||
+ | Многое из этих идей уже было реализовано, но сейчас не поддерживается тк нерентабельно. | ||
+ | |||
+ | Возможность нормальной мягкой перезагрузки с полным прибиванием и умаунт всего, только инит оставляем и потом он все запускает с нуля, тк аппаратные шняги сильно тормозят по сути init 1; init3 | ||
+ | |||
+ | В начале любого скрипта должна быть возможность его отключения и должен быть Include BASE или что то в этом роде для хуков и переменных переопределения | ||
+ | |||
+ | Разобраться и стандартизировать с uid,gid | ||
+ | |||
+ | Сервер должен быть доступен сразу после груба или даже при грубее ssh | ||
+ | |||
+ | Проблема LAMP и вложенности не решена. \\ Профили наборов приложений и их пересечения не стандартизованы. \\ Посмотреть много полезного у Майкрософт рхел и новел по ролям серверов и инфраструктуре предприятий. | ||
+ | |||
+ | ==== В кртичных к безопасноcти и надежности проектах ==== | ||
+ | |||
+ | То что изменяется нельзя исполнять, то что исполняется нельзя изменять. Рута делать красным.\\ | ||
+ | High Available\\ | ||
+ | Контрольная сумма приложений или исполняемых файлов.\\ | ||
+ | При установке системы генерируется уникальный RSA ключ.\\ | ||
+ | Ядро повышенной защищенности от осв, с настроенными cap, античрут и киллером rootkit.\\ | ||
+ | |||
+ | [[http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D0%BD%D0%B4%D0%B0%D1%82%D0%BD%D0%BE%D0%B5_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BE%D0%BC|мандатного управления доступом]] | ||
+ | |||
+ | [[http://ru.wikipedia.org/wiki/ACL|списки контроля доступа]] | ||
+ | |||
+ | [[http://ru.wikipedia.org/wiki/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BE%D0%BC_%D0%BD%D0%B0_%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5_%D1%80%D0%BE%D0%BB%D0%B5%D0%B9|ролевую модель]] | ||
+ | |||
+ | ==== Читать схожие подходы ==== | ||
+ | Читаем обзоры и доки к | ||
+ | Redhat oVirt, Redhat IPA, Redhat Sattelite | ||
+ | LXC, DOCKER, KVM, OpenVZ, XEN, Vmware, proxmox. | ||
+ | |||
+ | |||
+ | [[https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux]] | ||
+ | |||
+ | [[http://docs.redhat.com/docs/ru-RU/Red_Hat_Enterprise_Linux/6/html/Migration_Planning_Guide/]] | ||
+ | |||
+ | [[http://docs.redhat.com/docs/ru-RU/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/]] | ||
+ | |||
+ | [[http://docs.redhat.com/docs/ru-RU/Red_Hat_Enterprise_Linux/6/html/]] | ||
+ | |||
+ | [[http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Technical_Notes/index.html]] | ||
+ | |||
+ | [[http://www.convirture.com/index.php]] | ||
+ | [[https://lenovopress.com/redp4480.pdf|System x Virtualization Strategies]] | ||
+ | |||
+ | [[foxdev_7:team_agile_scrume|Читать далее: команды agile scrum]] | ||
+ | ~~OWNERAPPROVE~~ | ||