Как настроить среды разработки, подготовки, производства и контроля качества

8

Я нахожусь в процессе настройки новых серверов для организации. Каковы стандарты или лучшие практики для создания новой среды разработки, тестирования, организации и производства (или я открыт для других уровней, с которыми я не знаком)? Кроме того, я слышал, как организации разбивают серверы на SQL, приложения, веб-сервер и т. Д. Где я могу найти хорошие примеры возможных решений для настройки сервера?

Является ли виртуализация этих сред среди нескольких физических блоков хорошей практикой?

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

Я только что нашел эту ссылку: http://dltj.org/article/software-development-practice/ Я хотел бы найти больше подобных статей, если кто-нибудь знает о каких-либо хороших, на которые они могут указать мне.

Прежде чем вы проголосуете против моего вопроса, пожалуйста, оставьте комментарии, чтобы я попытался объяснить больше. Я могу просто не знать достаточно, чтобы задать правильные вопросы.

путешествие
источник
2
Я думаю, что первое, что вы должны сделать, это объяснить реальную задачу, которую вы должны выполнить. Для чего нужно приложение? Сколько нагрузки он будет иметь? Как вы думаете, какие изменения вы получите? (Как: Вам нужно 4 уровня, Dev, Test, Stage, Prod)
MichelZ
1
Требуется разместить множество (до 50) пользовательских приложений интрасети. Это все в стеке Microsoft. В настоящее время мы используем сервер разработки Sql и локальные веб-серверы для разработки, а также отдельный сервер Sql и веб-сервер, на которых размещены как наши тестовые, так и производственные среды. Я знаю, что все можно сделать намного лучше, чем то, что мы делаем в настоящее время, поэтому я с оригинальностью разместил этот вопрос. Я просто не знаю, что лучше с моим опытом.
Трек
2
По сути, это не ответ, поэтому я добавлю комментарий. Одна вещь, в которой вы хотите быть уверенным, это то, что у вас есть механизм (например, ключ API, проверка IP), который гарантирует, что ваши тестовые среды не смогут получить доступ к вашей производственной среде.
HTTP500

Ответы:

8

Это довольно загруженный вопрос. Мой общий совет - сосредоточить ваше внимание на управлении сложностью и позволить системе расти органично.

Виртуализация:

Вы действительно хотите избежать разрастания сервера, и в наши дни все виртуализировано. Выберите платформу, которая позволит вам быстро добавлять виртуальные серверы и эффективно управлять ими. Одна тенденция, которую я видел, - наличие двух (например) кластеров AIX или VMWare, один для prod, другой для non-prod. Non-prod используется для всех сред разработки, тестирования и промежуточной среды. Эти среды идеально подходят для веб-серверов или серверов приложений, но я бы постарался не использовать большие растущие производственные базы данных в качестве виртуальных машин (по крайней мере, для Windows).

Базы данных

Они могут легко выйти из-под контроля, когда им нужно поделиться ресурсами с другими серверами. Всегда имейте базы данных, работающие на выделенной ОС, никогда не разделяйте их с приложением или веб-сервером, если для этого нет действительно веской причины. Используете ли вы ВМ или аппаратное обеспечение - это единственный вопрос.

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

Если вы не говорите об окнах, то некоторые из этих рекомендаций не будут актуальны. Например, общепринятая практика - помещать большие растущие базы данных как LPAR в гипервизор AIX.

Место хранения

Вы не можете иметь настоящую виртуализацию (с мобильностью виртуальных машин и кластеризацией хоста) без общего хранилища. Серверы Prod, Dev, Testing и QA выглядят одинаково для вашего хранилища, однако вы можете потратить некоторое время на поиск способа расставить приоритеты для вашего продукта. Это очень плохая идея, например, иметь базу данных prod, облагаемую большими налогами, совместно использующую диски (наборы рейдов, пулы и т. Д.) С сервером разработки. Иногда Dev может поразить диски так же сильно, как и prod, и последнее, что вам нужно, это выяснить, является ли какой-то тест замедлением вашей работы.

Попросите кого-нибудь, кто знает ваше хранилище, сесть и проанализировать все потенциальные узкие места (порты, кеш, контроллеры, диск и т. Д.) И приложить все усилия, чтобы предотвратить конфликт как можно большего количества между prod и non-prod.

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

Бэзил
источник
1

Для чего вам эта среда? Поставщик программного обеспечения или ваша организация занимаются собственной разработкой?

Не знаю, поможет ли это, но HP и Dell упадут навстречу, чтобы оценить ваш текущий центр обработки данных и дать вам рекомендацию обновить или создать с нуля. Читатели форума могут дать хорошие близкие ответы, но, не видя, «что у вас есть и где вы к тому, что вы хотите и где вы должны быть», будет трудно дать вам твердый ответ. Сделайте себе одолжение и придерживайтесь одного поставщика оборудования по причинам администрации.

Наш центр обработки данных ориентирован на это (у нас есть оборудование для этого)

Среда VMWare. Блейд-корпус C7000 Hp с бэкэндом EMC SAN, 8-гигабайтное оптоволоконное соединение.

Это позволяет нам ограничить затраты на спал, потребление электроэнергии и кондиционирование воздуха. Он будет использоваться для тестовых машин, проверочных концептуальных серверов, производственных серверов, которым не требуется аппаратное обеспечение, уникальное для приложения (USB-ключи, факс-платы и т. Д.)

Физическая среда Blade Server C7000 Hp Корпус Blade с 16 блейдами HBA, подключенными к бэкэнду EMC SAN через 8-гигабитное оптоволокно.

Это будет для машин, которые требуют большого количества оперативной памяти и процессора, но не имеют уникальных аппаратных дополнений. Виртуальные машины хороши, за исключением случаев, когда им требуется огромное количество процессора или оперативной памяти. VMWare позволяет vmotion перемещать vmserver на хост-компьютер, чтобы сбалансировать использование оборудования. Недвижимость VM эффективна только при максимальном использовании. То есть, более маленькие машины вместо нескольких больших. Это также зависит от системы, которую вы пытаетесь встать.

Физический сервер (от 1U до 5U)

Серверы HP DL360 - DL 5xx. Специальное оборудование, такое как 4x 8-ядерный CPUS и оперативная память на 256 гигабайт, последовательные карты для телекоммуникационных интерфейсов или высококлассные факс-платы, подключенные к нескольким телефонным линиям В эту группу будут включены серверы, для которых поставщику требуется большое локальное хранилище.

Это пример, но не полный ответ. Серьезно, поговорите с поставщиком оборудования и дайте ему понять, где вы находитесь и как сделать его лучше / эффективнее.

Пол Хикокс
источник
0

Каковы стандартные или лучшие практики для создания новой среды разработки, тестирования, подготовки и производства.

Это зависит от бюджета среди других соображений. Не уверен, что есть стандартные, но вы бы хотели, чтобы ОС и другие программы были одинаковыми на всех компьютерах. Используйте инструменты автоматизации, такие как Puppet, для автоматизации и стандартизации ваших сборок.

Является ли визуализация этой среды среди нескольких физических боксов хорошей практикой?

Виртуализация? Да. Отличная практика. Но нужно проверить ваши настройки, если они могут работать как виртуальные машины.

Я слышал, как организации разбивают серверы на SQL, приложения, веб-сервер и т. Д. Где я могу найти хорошие примеры возможных решений для настройки сервера?

Возможно, другие могут вмешаться, но имхо, вы бы хотели установить разные компоненты на разных серверах по нескольким причинам, среди которых обновление ОС и приложений, а также доступность.

Радж Дж
источник
1
Это все зависит от размера его проекта. Я не думаю, что вам нужно что-то
подобное