По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Как и множество других инструментов для управления и автоматизации на рынке программного обеспечения, Ansible был изначально open – source проектом (с открытым исходным кодом), который предназначался для автоматизации настройки и деплоймента (развертывания) ПО в сетевых контурах компаний. Чего скрывать, продукт «стрельнул» - когда компания AnsibleWorks это поняла, начала активную монетизацию через коммерческую поддержку продукта для корпоративных заказчиков. /p> В настоящее время их продуктовая линейка состоит из двух направлений - Ansible и Ansible Tower, причем последний обладает полноценным интерфейсом управления (UI) и возможностью реализации дашбордов. Ansible - новые ребята в DevOps направлении, по сравнению, например, с Chef или Puppet, но успели круто зарекомендовать себя в сообществе профессионалов за простоту и скоуп возможностей. Его playbooks понятны и легко читаемы, даже без особых знаний. Так к чему это все? В «правильных руках», где присутствует полное понимание плюсов и минусов продукта Ansible может работать еще круче :) Поэтому, хотим рассказать про 5 лучших и 5 худших свойств Ansible. Playbooks в Ansible это файл в формате YAML, который содержит последовательность состояния ресурсов системы, задач, которые позволяет запустить то или состояние сервера. Что такое DevOps, что нужно знать и сколько получают DevOps - специалисты? 5 лучших качеств Ansible Легкость в изучении По правде говоря, это одно из самых крутых качеств Ansible – изучить его можно за один вечер и уже запускать веб – сервер из YAML, например. Ansible задачи запускаются последовательно, что сильно облегчает траблшутинг конфигураций. Например, можно сделать Playbook для Ansible, который позволит получить минимальный веб сервер примерно так: Создаем файл формата .yml и наполняем командами; Установить через yum apache; Запустить apache как сервис в операционной системе; Скопировать в корень веб – сервера html страничку с заглушкой («Мы готовим информацию по сайту, скоро здесь все будет, бла бла бла..»); Скорректировать iptables, открыв порты и сохранить конфигурацию; Не сложно, не правда ли? Написан на Python Я, как автор статьи, подметил следующее: если мы возьмем 10 программистов, вероятность, что кто-то из них знает Python гораздо выше, чем то, что кто – то из них знает Ruby. Именно это делает Ansible крутым – он написан на питоне в отличие от Ruby – based конкурентов. Так же отмечу, что Python библиотека, обычно, по умолчанию присутствует в любом Linux дистрибутиве, чего не сказать о Ruby. Продолжая экскурсию – Ansible поддерживает написание модулей на любом языке программирования. Единственное требование – формат ответа. Это должен быть JSON. Не нужно ставить клиента (агента) на машину Для управления узлами, Ansible обрабатывает все коммуникации между мастер – узлами и узлами – агентами по стандартному SSH, или через модуль Paramiko, который является частью Python SSH второй версии. Не нужно ставить агентское ПО на удаленные машины – только SSH подключение. Как следствие, упрощение обслуживания и траблшутинга. YAML плейбуки Как мы писали ранее, плейбуки в Ансибл невероятно просты и читаемы. Все DevOps инженеры, с которыми мы обсуждали его, освоили их за один вечер. Они даже проще чем JSON :) Портал Ansible Galaxy Портал, на котором вы наверняка найдете решение для своей задачи. Это объединение Ansible сообщества, где люди делятся наработками и решениями той или иной задачи. Знаете, это как ответ на мэйл.ру - чтобы вам не пришло реализовать на Ансибл, то как правило, кто – то эту задачу уже решил :). Тонны плейбуков, фреймворков, дистрибутивов и сопутствующего ПО. 5 худших качеств Ansible Настало время хорошенько пройтись по Ansible и выделить минусы продукта. Пожестим. Проблемы с интерфейсом (UI) Изначально Ansible разработан для работы с командной строкой. Первые наметки в сторону визуализации конфигурации Ансибл начались через AWX – графический интерфейс пользователя, который являлся первой попыткой упрощения конфигураций через интерфейсную составляющую. В последствии, AWX превратился в Anbile Tower, который дает возможность через GUI управлять Ansible, рисовать workflow и так далее. Несмотря на улучшение Tower перед AWX, он все равно позволяет делать только 85% рабочего функционала Ansible, который можно делать через командную строку. В добавок, конфигурации внесенный через интерфейс зачастую не синхронизируются с CLI – конфигами. Ansible Tower находится на стадии разработки и пока весьма сыроват. Нет работы с состоянием машин/процессов Если сравнивать с тем же Puppet, Ansible не имеет понятия «состояние» и, соответственно, не отслеживает его. Ансибл не смотрит на зависимости, а просто выполняет последовательный ряд задач/процессов. Для кого – то это нормально и удовлетворяет поставленным задачам, но есть и другие пользователи, у которых от такой работы, мягко говоря, «подгорает» :) Слабая поддержка совместимости с Windows С версии 1.7 Ansible умеет работать с Unix и Windows узлами, но надо признаться, работа с первыми реализована гораздо лучше. Взаимодействие с Windows машинами происходит через PowerShell, и, что важно, вам все равно потребуется Linux хост (управляющая тачка) для такой коммуникации. Ждем, когда Ansible разрабы разгребут бэклог по работе продукта с Windows. Поддержка крупного бизнеса Ansible Enterprise Tower и Premiun Tower имеют 8х5х4 и 24х7х2 SLA соответственно, но имеют меньше опыта поддержки крупняков, в сравнении, например, с Chef и Puppet. Новизна продукта Ansible находится на рынке меньше своих конкурентов и, само собой, баги будут всплывать. К тому же, комьюнити Ансибл только растет и развивается, в отличие от более крупных игроков, упомянутых в этой статье. Итоги Подведем черту: Ansible это просто, гибкий и мощный инструмент, для управления конфигами и автоматизацией. Ansible Tower имеет графический веб – интерфейс, REST API, с помощью которого вы можете интегрировать свой сторонние приложения и поддержку, которая только учится и осваивает азы сопровождения крупного энтерпрайза. Ansible – новинка, которая имеет своих ранних последователей, противников, сторонников. Сочетая в себе большое количество плюсов, он, конечно, имеет ряд недостатков или так сказать «ранних болезней», через которые уже прошли более крупные конкуренты. Но кто знает, что покажет нам Ansible завтра?
img
Современная IT-сфера немыслима без компьютерных сетей. С течением времени сети росли и расширялись, и соответственно, возникла необходимость их обслуживания. Это было реализовано на аппаратном уровне возникли выделенные ЭВМ, которые предназначались исключительно для обслуживания компьютерной сети. Эти компьютеры стали называть серверами (от английского to serve служить). Такое решение позволило перевести обслуживание сетей в автоматизированную плоскость. Такие машины требовали создания специализированного программного обеспечения. Такие разработки вели различные компании, и результатом их деятельности стало появление целых операционных систем, предназначенных только для работы на серверах. Отличие таких операционных систем от сборок, предназначенных для офисов или домашнего использования в том, что они предназначены для выполнения различных по сути задач, и поэтому обладают различным функционалом. В этой статье мы рассмотрим, как изменялись операционные системы, предназначенные для серверов, от компании Windows. В 1993 году компания выпустила в свет новую операционную систему, точнее, даже решение для существующей операционной системы Windows NT 3.1. Оно называлось Advanced Server, и отличалось от стандартной ОС тем, что также могло поддерживать домены, массивы RAID и аппаратной поддержкой 4 процессоров. Уже через год, в 1994 году Microsoft предоставила пользователям новую версию ОС Windows NT 3.5. Серверная версия данной ОС отличалась от предыдущей новыми внедренными решениями, например, поддержкой клиентских машин в сети даже под другими операционными системами. 1995 год подарил миру операционную систему Windows 95. За 3 месяца до ее появления вышла серверная ОС Windows NT 3.51 Server. В данной системе была предусмотрена возможность клиент-серверного обмена с Win 95, а в целом система была "заточена" под архитектуру PowerPC. Следующей версией серверных ОС от Microsoft стала Windows NT 4.0 Server.Она имела более высокие системные требования, а также позволяла на основе себя создавать компьютерные сети для небольших бизнес-компаний. Эта версия вышла в 1996 году, а в 1997 году вышла сборка Enterprise Edition, предназначенная для более крупных клиентов и сетей с большой нагрузкой. В 1998 году вышел дистрибутив Terminal server, главной особенностью которого стала поддержка удаленного доступа. Это решение прижилось и в более поздних версиях OS Windows. Выпуск операционной системы Windows 2000 также повлек за собой выход аж трех версий серверной операционной системы. Это были: Windows 2000 Server - основными нововведениями которого стали внедрение новой методики аутентификации, функция Active Directory и возможность использования динамического IP. (2 процессора, 4 ГБ оперативной памяти) Windows 2000 Advanced Server версия для среднего и крупного бизнеса. Она была предназначена для машин с большей аппаратной мощностью, нежели стандартная сборка, и реализовывала свои возможности через кластерную инфраструктуру. (8 процессоров, 8 ГБ оперативной памяти) Windows 2000 Datacenter Server этакое "вундерваффе" среди новоявленных серверных ОС была предназначена для крупных компаний, имеющих самые мощные сервера и большие объемы передаваемых внутри сети данных. (32 процессора, 32 ГБ оперативной памяти) Полноценная новая версия сетевой ОС от Microsoft появилась в 2003 году. Она называлась Windows 2003 Server, и была создана на основе Windows XP специально для работы с серверами. В ней была добавлена поддержка Microsoft .NET, улучшена система Active Directory, добавлены новые решения безопасности и внедрена обновленная поддержка интернет-служб, что позволило в разы повысить скорость и эффективность работы системы. Второй релиз данной версии состоялся в 2005 году, при этом компания внедрила в операционную систему ряд решений, позволяющих оптимизировать ее работу. Следующая версия серверной ОС появилась в 2008 году и носила название Windows Server 2008. Она отличалась от предыдущих версий возможностью установки так называемого "ядра сервера", улучшениями Active Directory, встроенным Windows Power Shell, возможностью изолировать и восстанавливать поврежденные данные без перезагрузки сервера и значительным обновлением службы терминалов. Также систему "почистили" от ненужных функций, что также благоприятно повлияло на ее использование. Второй релиз этой системы был основан на Windows 7, с внедрением соответствующих улучшений. Появление на рынке OS Windows 8 повлекло за собой выход серверной версии, которая называлась Windows Server 2012. Она была выпущена в 4 редакциях Foundation (для исследовательских задач), Essentials (версия с ограничением по количеству пользователей и с неполным функционалом), Standard и Datacenter (обе версии с широчайшим, незначительно различающимся функционалом). Эта версия собрала в себе все лучшее, что было в прошлых вариантах ОС и внедрила несколько новых решений, значительно упрощающих и ускоряющих работу. В 2013 году был выпущен второй релиз, еще более оптимизированный и эффективный. В 2016 году появилась Windows Server 2016 серверная операционная система, поддерживающая обновление с предыдущих версий. Здесь были внедрены новые возможности в управлении процессами, решения безопасности и общей эффективности системы. Также изменения коснулись и стандартного ПО, по умолчанию поставляемого вместе с ОС. И наконец, последней на текущий момент версией ОС Windows Server является Windows Server 2019. Удобный графический интерфейс Windows 10 и внедрение новых решений, существенно расширяющих возможности относительно предыдущих версий, делают Windows Server 2019 одной из наиболее популярных серверных операционных систем в мире.
img
Перед тем как начать чтение этой статьи, советуем ознакомиться с материалом про расчет пути по алгоритму Bellman - ford. Алгоритм диффузного обновления (Diffusing Update Algorithm -DUAL) - один из двух обсуждаемых здесь алгоритмов, изначально предназначенных для реализации в распределенной сети. Он уникален тем, что также удаляет информацию о достижимости и топологии, содержащуюся в конечном автомате алгоритма. Другие обсуждаемые здесь алгоритмы оставляют удаление информации на усмотрение реализации протокола, а не рассматривают этот аспект работы алгоритма внутри самого алгоритма. К 1993 году Bellman-Ford и Dijkstra были реализованы как распределенные алгоритмы в нескольких протоколах маршрутизации. Опыт, полученный в результате этих ранних реализаций и развертываний, привел ко "второй волне" исследований и размышлений о проблеме маршрутизации в сетях с коммутацией пакетов, что привело к появлению вектора пути и DUAL. Поскольку DUAL разработан как распределенный алгоритм, лучше всего описать его работу в сети. Для этой цели используются рисунки 8 и 9. Чтобы объяснить DUAL, в этом примере будет прослеживаться поток A, изучающего три пункта назначения, а затем обрабатываются изменения в состоянии доступности для этих же пунктов назначения. В первом примере будет рассмотрен случай, когда есть альтернативный путь, но нет downstream neighbor, второй рассмотрит случай, когда есть альтернативный путь и downstream neighbor. На рисунке 8 изучение D с точки зрения A: A узнает два пути к D: Через H стоимостью 3. Через C стоимостью 4. A не узнает путь через B, потому что B использует A в качестве своего преемника: A - лучший путь B для достижения D. Поскольку B использует путь через A для достижения D (пункта назначения), он не будет анонсировать маршрут, который он знает о D (через C) к A. B выполнит split horizon своего объявления D на A, чтобы предотвратить образование возможных петель пересылки. A сравнивает доступные пути и выбирает кратчайший путь без петель: Путь через H помечен как преемник. Возможное расстояние устанавливается равным стоимости кратчайшего пути, равной 3. A проверяет оставшиеся пути, чтобы определить, являются ли какие-либо из них downstream neighbors: Стоимость C составляет 3. A знает это, потому что C объявляет маршрут к D со своей локальной метрикой, равной 3. A сохраняет локальную метрику C в своей таблице топологии. Следовательно, A знает локальную стоимость в C и локальную стоимость в A. 3 (стоимость в C) = 3 (стоимость в A), поэтому этот маршрут может быть петлей, следовательно, C не удовлетворяет условию выполнимости. C не помечен как downstream neighbors. Downstream neighbors в DUAL называются возможными преемниками. Предположим, что канал [A, H] не работает. DUAL не полагается на периодические обновления, поэтому A не может просто ждать другого обновления с достоверной информацией. Скорее A должен активно следовать альтернативному пути. Таким образом, это диффузный процесс обнаружения альтернативного пути. Если канал [A, H] не работает, учитывая только D: A проверяет свою локальную таблицу на предмет возможных преемников (Downstream neighbors). Возможных преемников нет, поэтому A должен найти альтернативный путь без петель к D (если он существует). A отправляет запрос каждому соседу, чтобы определить, есть ли какой-либо альтернативный путь без петель к D. В C: Преемником C является E (не A, от которого он получил запрос). Стоимость E ниже, чем стоимость A для D. Следовательно, путь C не является петлей. C отвечает со своей текущей метрикой 3 на A. В B: А - нынешний преемник Б. Посредством запроса B теперь обнаруживает, что его лучший путь к D потерпел неудачу, и он также должен найти альтернативный путь. Обработка B здесь не расписывается, а предоставляется выполнить самостоятельно. B отвечает A, что у него нет альтернативного пути (отвечает бесконечной метрикой). A получает эти ответы: Путь через C - единственный доступный, его стоимость 4. A отмечает путь через C как его преемника. Других путей к D нет. Следовательно, нет подходящего преемника (downstream neighbor). На рисунке 9 пункт назначения (D) был перемещен с H на E. Это будет использоваться во втором примере. В этом примере есть возможный преемник (downstream neighbor). Изучение D с точки зрения A: A узнает два пути к D: Через H стоимостью 4. Через C стоимостью 3. A не узнает никакого пути через B: У B есть два пути к D. Через C и A стоимостью 4. В этом случае B использует как A, так и C. B выполнит split horizon свого объявления D на A, потому что A помечен как преемник. A сравнивает доступные пути и выбирает кратчайший путь без петель: Путь через C отмечен как преемник. Возможное расстояние устанавливается равным стоимости кратчайшего пути, равной 3. A проверяет оставшиеся пути, чтобы определить, являются ли какие-либо из них downstream neighbors: Стоимость H составляет 2. 2 (стоимость в H) = 3 (стоимость в A), поэтому этот маршрут не может быть петлей. Следовательно, H удовлетворяет условию выполнимости. H отмечен как возможный преемник (downstream neighbors). Если канал [A, C] не работает, просто рассматривая A: A проверит свою таблицу локальной топологии на предмет возможного преемника. Возможный преемник существует через H. A переключает свою локальную таблицу на H как лучший путь. Распространяющееся обновление не запускалось, поэтому пути не были проверены или пересчитано. Следовательно, допустимое расстояние изменить нельзя. Он остается на 3. A отправляет обновление своим соседям, отмечая, что его стоимость достижения D изменилась с 3 до 4. Как вы можете видеть, обработка, когда существует возможный преемник, намного быстрее и проще, чем без него. В сетях, где был развернут протокол маршрутизации с использованием DUAL (в частности, EIGRP), одной из основных целей проектирования будет ограничение объема любых запросов, генерируемых в случае отсутствия возможного преемника. Область запроса является основным определяющим фактором того, как быстро завершается двойной алгоритм и, следовательно, как быстро сходится сеть. На рисунке 10 показан базовый законченный автомат DUAL. Вещи, входящие в route gets worse (ухудшение маршрута), могут представлять собой: Отказ подключенного канала или соседа Получение обновления для маршрута с более высокой метрикой Получение запроса от текущего преемника Получение нового маршрута от соседа Обнаружен новый сосед, а также маршруты, по которым он может добраться Получение всех запросов, отправленных соседям, когда маршрут ухудшается
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59