Pull to refresh
1
0
Send message

Ansible с чего начать

Reading time8 min
Views175K
В последние пару лет я все чаще использую Ansible для решения практически любых задач связанных с автоматизацией, будь то конфигурирование, резервное копирование или деплой проектов. Не смотря на то, что система очень хорошо документирована, я думаю смогу добавить немного полезной информации для тех кто еще только начинает пользоваться Ansible. Для начала я хотел бы рассказать об основных вещах, таких как структура проекта в котором будут содержаться плейбуки, роли, переменные, шаблоны и файлы необходимые для автоматизации развертывания серверов, кода и всего другого, что можно сделать с помощью Ansible.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments44

Расширяем функционал Ansible с помощью модулей

Reading time8 min
Views18K

Под капотом сервиса d2c.io мы активно используем Ansible – от создания виртуальных машин в облаках провайдеров и установки необходимого программного обеспечения, до управления Docker-контейнерами с приложениями клиентов.


В статье о раширении функциональности Ansible мы частично рассмотрели, чем отличаются плагины от модулей. Если вкратце, основное различие в том, что первые выполняются на локальной машине, где установлен Ansible, а вторые — на целевых.


Основная задача плагинов – влиять на ход выполнения плейбука, добавлять новые возможности загрузки и обработки данных. Задача же модулей – расширять перечень систем и сервисов, которыми Ansible может управлять. Например, создать сервер на площадке Vultr – модуль vultr, создать пользователя в самодельной системе авторизации для офисной WiFi сети – модуль mywifiauth_user.

Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments2

Ansible не так прост

Reading time8 min
Views55K
У меня есть три сервера, но я не профессиональный сисадмин. Это означает, что несмотря на четыре базы данных и стопяцот приложений, бэкапы нигде не ведутся, к любой проблеме на сервере я подхожу, шумно вздохнув и бросив тарелку в стену, а операционные системы там достигли EOL два года назад. Я бы рад обновить, но на это нужно выделить, наверное, неделю, чтобы всё забэкапить и переставить. Проще забыть про yum update и apt-get upgrade.

Конечно, это неправильно. Я давно присматривался к chef и Puppet, которые, как я думал, решат все мои проблемы. Но я смотрел на конфиги знакомых проектов и откладывал. Это же нужно изучать, разбираться с ruby, бороться с многочисленными, по отзывам, косяками и ограничениями. Две недели назад статья Георгия amarao стала животворящим пинком. Даже не сама статья, а перечисление систем управления конфигурацией. После чтения комментариев и лёгкого гугления решил: возьму Ansible. Потому что питон, и на проблемы никто не жалуется.



Что ж, тогда я первым буду.
Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments52

Gitlab-CI и проверка корректности синтаксиса Ansible-lint

Reading time7 min
Views27K


Всем привет! Мы продолжаем серию статей про DevOps и ищем наиболее эффективные способы управлять конфигурацией, делясь с вами опытом. В прошлых статьях мы рассматривали, как выстроить управление конфигурацией Ansible с помощью Jenkins и Serverspec, а теперь по вашим просьбам рассмотрим, как организовать управление конфигурацией с помощью GitLab-CI.

Ansible-lint — это утилита для проверки корректности синтаксиса плейбука и стиля кода, которую можно интегрировать в CI-сервис. В нашем случае мы внедряем её в gitlab-ci для проверки плейбуков на этапе принятия Merge-Request и выставления статуса проверок.
GitLab (GitLab Community Edition) — это opensource-проект, менеджер git-репозиториев, изначально разрабатывающийся как альтернатива платной корпоративной версии Github.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments3

Ansible — давайте попробуем

Reading time8 min
Views137K
Ansible — сравнительно молодая система управления конфигурацией, его история насчитывает чуть более трех лет. Но, несмотря на это, он стремительно и быстро ворвался в мир систем управления конфигурацией, потеснив Chef, Puppet и SaltStack.

Давайте посмотрим на него внимательно, чтобы понять, почему он так любим технарями.

Итак, чем же хорош ansbile:
  • низкий порог входа;
  • декларативный язык описания конфигурации;
  • на управляемые узлы не нужно устанавливать никакого дополнительного ПО;
  • просто написать дополнительный модуль.

Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments25

Система управления Ansible

Reading time25 min
Views254K


Представьте себе, что вам нужно управлять парком серверов, расположенных к тому же в разных географических точках. Каждый из этих серверов требует настройки, регулярного обновления и мониторинга. Конечно, для решения этих задач можно воспользоваться самым простым способом: подключиться к каждому серверу по ssh и внести необходимые изменения. При всей своей простоте этот способ сопряжен с некоторыми трудностями: он чрезвычайно трудоемок, а на выполнение однообразных операций уходит очень много времени.

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

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

Со всеми сложностями, о которых идет речь выше, мы хорошо знакомы на собственном опыте: у нас имеется 10 точек присутствия с NS-серверами, расположенные в разных точках планеты. На них необходимо регулярно вносить различные изменения: обновлять операционную систему, устанавливать и обновлять различное ПО, изменять конфигурцию и т.п. Мы решили все эти операции автоматизировать и внедрить систему удаленного управления конфигурациями. Изучив имеющиеся решения, мы остановили свой выбор на Ansible.

В этой статье мы бы хотели подробно рассказать о его возможностях этого инструмента управления конфигурациями и поделиться собственным опытом его использования.
Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments49

Комплексная автоматизация с Ansible и OpenStack

Reading time12 min
Views14K
Решения Ansible гарантируют максимальную гибкость. Это позволяет сообществу находить все новые способы использования модулей Ansible для автоматизации часто выполняемых операций на многих уровнях, в том числе в сочетании с технологиями OpenStack.

В этом блоге мы будем обсуждать многочисленные варианты использования Ansible, самого популярного программного обеспечения (ПО) для автоматизации, совместно с OpenStack, самым популярным ПО для облачной инфраструктуры. Мы поможем вам понять, как и почему вам следует использовать Ansible, чтобы сделать свою жизнь проще с помощью комплексной автоматизации (Full-Stack Automation), как мы любим ее называть.

image
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments6

Пособие по Ansible

Reading time29 min
Views684K

управление конфигурацией оркестра


Это практическое пособие познакомит вас c Ansible. Вам понадобится виртуальная или реальная машина, которая будет выступать в роли узла для Ansible. Окружение для Vagrant идет в комплекте с этим пособием.


Ansible — это программное решение для удаленного управления конфигурациями. Оно позволяет настраивать удаленные машины. Главное его отличие от других подобных систем в том, что Ansible использует существующую инфраструктуру SSH, в то время как другие (chef, puppet, и пр.) требуют установки специального PKI-окружения.


Пособие покрывает такие темы:


  1. Установка Ansible и Vagrant
  2. Файл инвенторизации
  3. Модули shell, copy, сбор фактов, переменные
  4. Запуск на группу хостов
  5. Плейбуки
  6. Пример: поднимаем кластер, устанавливаем и настраиваем Apache и балансировщик нагрузок HAproxy
  7. Обработка ошибок, откат
  8. Шаблоны конфигурации
  9. Роли

Ansible использует так называемый push mode: конфигурация «проталкивается» (push) с главной машины. Другие CM-системы обычно поступают наоборот – узлы «тянут» (pull) конфигурацию с главной машины.


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

Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments15

15 вещей, которые вы должны знать об Ansible

Reading time9 min
Views78K
Предлагаю читателям «Хабрахабра» перевод опубликованной на codeheaven.io статьи «15 Things You Should Know About Ansible» за авторством Marlon Bernardes.

В последнее время я много работал с Ansible и решил поделиться некоторыми вещами, которые выучил по пути. Ниже вы найдете список из 15 вещей, которые, как я думаю, вы должны знать об Ansible. Что-то пропустил? Просто оставьте комментарий и поделитесь вашими личными советами.
Читать дальше →
Total votes 56: ↑55 and ↓1+54
Comments11

Идеальные требования, и как с этим бороться

Reading time7 min
Views11K

В прошлых частях


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

В прошлой, второй части я рассказал про частые проблемы предпроекта и получил в комментариях закономерные замечания: «Хорошо написано о проблемах, всё как в действительности. Но решение предлагается в стиле «Не делайте плохо, и будете делать хорошо» neskazhui, «Но это жизнь, она в целом в статье и написана. А как надо-то?» other_letter.


Рассказ о том, как надо, я разделю на части:

  1. Как правильно: то есть хорошо бы так делать, но обычно это получается лишь частично. Это будут следующие два рассказа.
  2. Какие можно дать советы по каждой фазе работы с требованиями: чтобы облегчить ситуацию, когда что-то пошло неправильно, чтобы вписаться в реальные ограничения.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments10

Простой статический сайт на Webpack 4

Reading time15 min
Views141K


После прочтения ряда статей (например, этой) решил перейти на современный подход с использованием Node.js при написании простых сайтов с подхода «динозавров». Ниже представлен разбор примера сборки простого статического сайта с помощью Webpack 4. Статья написана, так как инструкции с решением моей задачи не нашел: пришлось собирать всё по кусочкам.

Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments88

Ускорение сборки JavaScript-кода с использованием webpack 2–3

Reading time8 min
Views14K
Появляется все больше SPA салонов. Даже лендинги люди пилят на React. А действительно сложное веб-приложение уже трудно представить с другим подходом. Одна из главных проблем современного фронтенда — это сборка таких проектов. С этим помогают справляться бандлеры.

Иван Соснин, фронтенд-разработчик Контура, рассказывает как настроить webpack 2 и 3, чтобы получить ощутимый прирост в скорости сборки статики. Статья будет полезна тем, кто уже работает с webpack или смотрит в его сторону.

Стоит начать с ремарки, что недавно вышел webpack 4. Там вообще все супербыстро и ничего делать не надо, а еще изменилось процесс разбиения кода на чанки.


Но тащить в продакшен библиотеки, которые обновились вчера — не мой путь.


Webpack


Webpack — это сборщик модулей (бандлер). Он собирает различные модули с зависимостями в один или несколько файлов (бандлов). У webpack модульная архитектура, а это значит, что его можно гибко настраивать. Сборка кода настраивается при помощи плагинов, а трансформации кода производятся с помощью загрузчиков (loaders).


Если хочется больше базовых подробностей, можно почитать статью Рахима Давлеткалиева про webpack 1. Она немного устаревшая, но идеи и примеры в ней разобраны подробно.


За всю эту гибкость приходится платить сложной конфигурацией.

Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments5

Вышел GitLab 10.5: интеграция с Let’s Encrypt, проверки зависимостей Gemnasium и внешние файлы CI/CD

Reading time12 min
Views6.6K

Картинка для привлечения внимания


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


Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments12

9 лучших книг про IT и программирование, которые вы могли пропустить

Reading time4 min
Views129K
image

Помните, Льюис Кэрролл писал: «Здесь приходится бежать со всех ног, чтобы только остаться на том же месте, а чтобы попасть в другое место, нужно бежать вдвое быстрее»? Это фраза прекрасно подходит для IT-мира: технологии быстро развиваются, и каждый день нужно осваивать что-то новое, чтобы оставаться востребованным специалистом. У каждого программиста наверняка есть 5-6 бумажных книг, ставших классикой. О некоторых таких книгах мы уже писали. Но чтобы оставаться востребованным кодером, надо постоянно обновлять библиотеку. В прошлом году портал DevMountain сделал подборку из семи не слишком популярных книг для начинающих программистов. Учитывалась не только оценка портала, но и отзывы на Amazon, а также рекомендации популярных блогов. Автор GeekBrains Илья Бубнов внимательно изучил этот список, а также дополнил подборку парой свежайших экземпляров.
Читать дальше →
Total votes 30: ↑26 and ↓4+22
Comments3

Как работает JS: обзор движка, механизмов времени выполнения, стека вызовов

Reading time6 min
Views208K
Популярность JavaScript растёт, его возможности используют на разных уровнях применяемых разработчиками стеков технологий и на множестве платформ. На JS делают фронтенд и бэкенд, пишут гибридные и встраиваемые приложения, а также многое другое.

Анализ статистики GitHub показывает, что по показателям активных репозиториев и push-запросов, JavaScript находится на первом месте, да и в других категориях он показывает довольно высокие позиции.


Статистические сведения по JavaScript с GitHub

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

Если множество проектов плотно завязаны на JavaScript, значит, разработчикам необходимо как можно более эффективно использовать всё, что даёт им язык и его экосистема, стремясь, на пути разработки замечательных программ, к глубокому пониманию внутренних механизмов языка.

Как ни странно, существует множество разработчиков, которые регулярно пишут на JavaScript, но не знают, что происходит в его недрах. Пришло время это исправить: этот материал посвящён обзору JS-движка на примере V8, механизмов времени выполнения, и стека вызовов.
Читать дальше →
Total votes 41: ↑33 and ↓8+25
Comments29

Выученная беспомощность в разработке ПО

Reading time5 min
Views15K

Лучше зажечь одну свечку, чем проклинать темноту.

За последние 24 часа, две мои статьи «Почему ваш программист просто хочет кодировать» и «Менеджерам пора проснуться» прочитаны более 96 000 раз на Medium и получили более 900 комментариев на Reddit.

Похоже, проблема серьёзнее, чем я думал.

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

Но я хочу помочь разработчикам, которые чувствуют себя разочарованными, бесправными или лишёнными права голоса. Ведь именно вы разместили подавляющее большинство комментариев, описывающих ужасные условия и ужасное управление. Вы подняли руку, чтобы сказать: «Мне это надоело».
Читать дальше →
Total votes 22: ↑17 and ↓5+12
Comments6

Git: советы новичкам – часть 1

Reading time8 min
Views143K
В Playrix приходит много новых сотрудников и большинство из них не работали с Git. Особенно это касается гейм-дизайнеров и художников. Хотя и для программистов это не редкость – опыт работы с другими системами контроля версий не слишком помогает. Например, часто встречается опыт работы с SVN. Но Git заметно отличается по идеологии. Заучить, какие кнопки нажимать, в большинстве случаев не сложно, но шаг в сторону – и уже трудно понять, что происходит.



Поэтому мы решили написать ознакомительный материал. Мы поговорим о системе контроля версий и логике её работы, с самых азов. С Git можно работать с помощью  разных клиентов, потому в статье не пойдет речь об интерфейсе пользователя. Это может показаться непривычным, но это сделано намеренно. Вместо этого мы сфокусируемся на рабочем каталоге, коммитах, ветках, командах pull, push и прочих. Когда вы разберетесь в этих понятиях, вам останется выбрать один из Git-клиентов и освоить его интерфейс.
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments45

Модульное тестирование react компонетнов withRouter (jest, enzyme)

Reading time4 min
Views11K
При разработке модульных тестов для react компонента, обернутого в вызов withRouter(Component) столкнулся с сообщением об ошибке, что такой компонент может существовать только в контексте роутера. Решение этой проблемы очень простое и не должно по идее вызывать вопрсов. Хотя почему-то ссылки на документацию https://reacttraining.com/react-router/web/guides/testing Google упорно отказывался выдавать. Меня это совсем не удивляет, т.к. документация написано как чистое SPA-приложение без всякого там SSR и с точки зрения поисковой машины выглядит вот так:

Показать изображение
image

Кому достаточно документации может на этом закончить чтение. А для себя я сделаю несколько заметок под катом.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments2

Системный архитектор: первый после Бога

Reading time14 min
Views67K

Источник


"Правильно мыслить более ценно, чем многое знать"
Джон Локк


Системный архитектор – интересная и крайне важная профессия в современном мире, имеющая отношение отнюдь не только к миру ИТ. Как сегодня, так и в обозримом будущем системные архитекторы будут наиболее востребованным и весьма дефицитным ресурсом в любой быстро развивающейся отрасли. И обязательно в сфере системной интеграции. Причем по степени и качеству использования системных архитекторов можно судить по зрелости управления в организации. И по соответствующей оценке их труда тоже. Во многом именно поэтому в получении информации о профессии системного архитектора заинтересована значительная часть молодых специалистов, у которых все еще впереди. А что именно?


Если вы считаете, что Создатель не был первым системным архитектором, то можете не читать дальше эту статью.

Читать дальше →
Total votes 19: ↑12 and ↓7+5
Comments33

[в закладки] Инструменты для тестирования JavaScript-проектов

Reading time17 min
Views43K
Автор материала, перевод которого мы публикуем сегодня, сотрудник Welldone Software, говорит, что если в двух словах рассказать об инструментах для тестирования JavaScript-проектов, то для модульного и интеграционного тестирования рекомендуется использовать Jest, а для тестов пользовательского интерфейса — TestCafe. Однако каждый конкретный проект может нуждаться в чём-то особенном. Лучший способ найти именно то, что нужно — взять несколько инструментов, которые, как кажется, подойдут, и испытать их в действии. Эксперименты подскажут — на чём именно стоит остановиться.



Представляем вашему вниманию обзор наиболее широко используемых инструментов тестирования для JS-проектов, на которые стоит обратить внимание в 2018-м году.
Читать дальше →
Total votes 53: ↑48 and ↓5+43
Comments8

Information

Rating
Does not participate
Registered
Activity