Рано или поздно перед любой растущей ИТ-компанией встаёт задача оптимизации ресурсов, которая с точки зрения системного администрирования обязательно предполагает максимальную автоматизацию всех процессов. Нужно это по многим причинам: сокращение затрат времени, минимизация влияния человеческого фактора, повышение за счёт этого масштабируемости и надёжности систем в целом.
Наша компания Wild Apricot занимается разработкой ПО (SaaS), которое работает на ASP и .NET, а в качестве базы данных использует MS SQL Server. Поэтому львиная доля инфраструктуры у нас работает под управлением Windows, преимущественно Server 2012 R2. Соответственно, отделу сисопов периодически приходится поднимать новые машины с ней, а иногда и разворачивать целые фермы, как на живом окружении, так и на тестовом. В настоящее время у нас порядка 20 гипервизоров и, соответственно, более сотни разнообразных машин, из которых абсолютное большинство — это ВМ с Windows. Сейчас планируется установка ещё полудюжины девелоперских окружений, каждое из которых состоит из десятка компонент, которые желательно изолировать друг от друга. Для решения подобных задач мы и задумали автоматизацию всего процесса. Описание всего пути я сделал довольно детальным, так что статья разрослась и поэтому я решил разделить её на три части. В этой части я постараюсь затронуть общие вопросы, объяснить выбор инструментов и рассказать, как подготовить окружение для дальнейшей работы.
Наша компания Wild Apricot занимается разработкой ПО (SaaS), которое работает на ASP и .NET, а в качестве базы данных использует MS SQL Server. Поэтому львиная доля инфраструктуры у нас работает под управлением Windows, преимущественно Server 2012 R2. Соответственно, отделу сисопов периодически приходится поднимать новые машины с ней, а иногда и разворачивать целые фермы, как на живом окружении, так и на тестовом. В настоящее время у нас порядка 20 гипервизоров и, соответственно, более сотни разнообразных машин, из которых абсолютное большинство — это ВМ с Windows. Сейчас планируется установка ещё полудюжины девелоперских окружений, каждое из которых состоит из десятка компонент, которые желательно изолировать друг от друга. Для решения подобных задач мы и задумали автоматизацию всего процесса. Описание всего пути я сделал довольно детальным, так что статья разрослась и поэтому я решил разделить её на три части. В этой части я постараюсь затронуть общие вопросы, объяснить выбор инструментов и рассказать, как подготовить окружение для дальнейшей работы.