Инструменты админа во времена DevOps

tools image

В свое время, когда начинал работать в IT, для системного администратора было важно разбираться с операционной системой Linux, уметь пользоваться bash и основными утилитами ОС, знать как настраивать Apache, Nginx, MySQL, Postfix и понимать сеть и маршрутизацию. Прошло время, и теперь сисадмины стали девопсами. Теперь уже всех вышеперечисленных знаний стало недостаточно, чтобы быть крутым перцем в области администрирования. Технологии HighLoad, зародившиеся в таких гигантах, как Facebook и Google, пришли в обычные компании, где работают уже простые смертные. Если еще лет пять — семь назад в проектах, где нужно было горизонтально масштабировать сервисы под большую нагрузку, приходилось очень долго задумываться над технической реализаций. Сейчас все это решается легко и банально.

Где-то в литературе читал, что DevOps — это в первую очередь взаимоотношения между ITшниками в коллекиве и уже потом какие-то специфичные программные утилиты. Однако, с моей точки зрения, DevOps — во многом определяют программные продукты, которые позволяют организовать хорошо масштабируемые IT сервисы с уклоном в облачные технологии. Понимание того, как работают основные программные продукты HighLoad, одно из основных требований для инженеров DevOps. Тут попытаюсь показать основные инструменты, которые используют DevOps специалисты. В первую очередь это система контейнеризации Docker и система управления контейнерами Kubernetes. Следующим важным продуктом обязательным для изучения является система управления конфигурациями Ansible. Также многие относят к средствам DevOps-ов систему контроля версия Git, которую по сути используют практически все программисты. Также специалисту необходимо знать средства CI — Contitunuos Integration на базе ПО Jenkins, и систему IaaC — Terraform.

Читать далее «Инструменты админа во времена DevOps»

Docker в повседневной работе ITшника


За последние несколько лет технологии DevOps сильно перевернули мир IT. Зародившись в гигантских корпорациях, разрабатывающих современные IT системы, способные эффективно горизонтально масштабироваться, эти технологии прочно вошли в повседневую жизнь обычных администраторов и программистов. Docker — система контейнеризации приложений, которая позволяет эффективно использовать аппаратные ресурсы, оперативно горизонтально машстабироваться, а также отделить контекст работы приложения от остальной операционной системы. Подход работы с приложениями с помощью контейнеров можно сравнить по масштабу с теми изменениями в IT, которые происходили когда появилась полноценная виртуализация серверов на базе VMware ESX.

Что дает система Docker рядовому ITшнику на современный день и как она позволяет повысить эффективность труда. Как в целом меняется подход к работе, после того как под рукой появляются контейнеры с приложениями. В первую очередь, заметно уменьшается количество новых серверов или виртуальных машин. Теперь для того, чтобы протестировать работу того или иного приложения нет надобности в установке целого сервера. Достаточно загрузить нужный контейнер и работать с выбранным приложением. Кроме экономии аппаратных ресурсов сервера это значительно экономит и затраты времени на развертывание того или иного приложения.

Читать далее «Docker в повседневной работе ITшника»