Pull to refresh
75
0
Владимир Бредников @bappoy

devops

Как сделать простым и понятным запуск Java-процессов в Linux / Docker

Reading time 8 min
Views 13K

По профилю работы DevOps-инженером я часто занимаюсь автоматизацией установки и настройки разнообразных IT-систем в различных средах: от контейнеров до облака. Приходилось работать со многими системами, основанными на Java-стеке: от небольших (вроде Tomcat), до масштабных (Hadoop, Cassandra и др.).


При этом почти каждая такая система, даже самая простая, почему-то имела сложную неповторимую систему запуска. Как минимум, это были многострочные shell-скрипты, как в Tomcat, а то и целые фреймворки, как в Hadoop. Мой нынешний "пациент" из этой серии, вдохновивший меня на написание этой статьи — хранилище артефактов Nexus OSS 3, скрипт запуска которого занимает ~400 строк кода.


Непрозрачность, избыточность, запутанность startup-скриптов создает проблемы даже при ручной установке одного компонента на локальной системе. А теперь представьте, что набор таких компонентов и сервисов нужно запаковать в Docker-контейнер, попутно написав еще один слой абстракции для мало-мальски адекватного оркестрирования, развернуть в Kubernetes-кластере и реализовать этот процесс в виде CI/CD-пайплайна...


Короче говоря, давайте на примере упомянутого Nexus 3 разберемся, как вернуться из лабиринта shell-скриптов к чему-то более похожему на java -jar <program.jar>, учитывая наличие удобных современных DevOps-инструментов.

Читать дальше →
Total votes 30: ↑29 and ↓1 +28
Comments 13

Включайтесь в игру: the MAZE DevOps game от ITSumma

Reading time 3 min
Views 12K
Мы уже немного рассказывали о том, как устраиваем квесты для участников ИТ-конференций. Сегодня запускаем онлайн-игру для админов (идея квеста была переработана и дополнена) — the Maze. Под катом — ее история. Включайтесь!

image
Читать дальше →
Total votes 31: ↑30 and ↓1 +29
Comments 16

35 полезных инструментов по теме виртуализации

Reading time 3 min
Views 30K


Сегодня слово «виртуализация» у всех на слуху, а технологии виртуализации становятся одним из основных компонентов ИТ-инфраструктуры организаций. Кстати, сегодня вышел наш пост, в котором мы поделились своим опытом создания провайдера виртуальной инфраструктуры на примере 1cloud.

Мы решили продолжить работу с этой темой и составить подборку инструментов, на которые стоит обратить внимание всем, кто имеет отношение к виртуальной инфраструктуре. Далее будет приведена лишь малая часть существующих инструментов, расположенных в случайном порядке.
Читать дальше →
Total votes 22: ↑18 and ↓4 +14
Comments 7

Оптимизируем VPS за 5$ (512MB RAM / 1 CPU) так, что сайт на wordpress выдерживает нагрузку в 42,735,587 хитов в день

Reading time 9 min
Views 95K
Когда вы приобретаете сервер VPS с 256MB или 512MB оперативной памяти на борту и лишь часть мощности процессора, то использовать для таких сервисов как MySQL/PHP/Apache настройки по умолчанию является очень плохой идеей. В настоящее время у меня запущено 3 сайта на самом дешевом тарифном плане с 512MB RAM/1 CPU. Не уверен полностью, но посещаемость составляет порядка 5-10 тысяч посетителей в день. Далее я хочу поделиться инструкцией как оптимизировать LAMP используя всего лишь 512 MB и при этом не уходя в swap. Обычно при такой настройки используется 256 – 378Mb памяти и все работает довольно быстро.

Определяем доступную память и активность swap.

Перед началом оптимизации давайте взглянем на количество используемой памяти. Для этого необходимо выполнить следующую команду:

$ free -m

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

$ ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -r | less


Настраиваем LAMP сервер для потребления малого количества оперативной памяти. Останавливаем, отключаем ненужные сервисы

Первый и очевидный вопрос, который необходимо задать — это «какие сервисы мне не нужны в использовании?». Недавно, я обнаружил очень удобную утилиту для управления сервисами. Она называется "sysv-rc-conf" и управляет сервисами при помощи псевдографики и флажками. Выгдялит вот так:



Здесь представлен список сервисов, которые я изменил.

  • Postfix. Этот сервис позволяет отправлять и получать почтовые email сообщения для домена. Я использую для этих целей Google Apps для отправки почты и mailchimp для новостных подписчиков. Таким образом я остановил и отключил этот сервис.
  • Bind9. Он нужен для управления DNS записями Вашего домена. Его можно отключить, так как все DNS записи хранятся у хостера.
  • SSHD. Имеются и другие реализации, которые используют гораздо меньше памяти, но они не поддерживают sftp, поэтому данный сервис я оставил без изменений.


Не запускайте X-сервер, выключите все ненужные сервисы и настройте Apache, MySQL, PHP только с базовой необходимой функциональностью.
Читать дальше →
Total votes 131: ↑81 and ↓50 +31
Comments 85

Заземление. Что это такое и как его сделать (часть 2)

Reading time 12 min
Views 136K


1 часть. Заземление
(общая информация, термины и определения)


2 часть. Традиционные способы строительства заземляющих устройств
(описание, расчёт, монтаж)


3 часть. Современные способы строительства заземляющих устройств
(описание, расчёт, монтаж)



2 часть. Традиционные способы строительства заземляющих устройств (описание, расчёт, монтаж)


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

Г. Основные способы строительства

Г1. Несколько коротких электродов (“уголок и кувалда”)
Г1.1. Особенности решения
Г1.1.1. Промерзание грунта зимой
Г1.1.2. Взаимное “экранирование”/ “затенение” электродов
Г1.2. Расчёт получаемого сопротивления заземления и необходимого количества заземляющих электродов
Г1.3. Монтаж
Г1.4. Достоинства и недостатки
Г1.5. Уменьшение количества электродов
Г2. Одиночный глубинный электрод (“обсадная труба”)
Г2.1. Особенность решения
Г2.2. Расчёт получаемого сопротивления заземления
Г2.3. Монтаж
Г2.4. Достоинства и недостатки


Г. Основные способы строительства


Напомню, в прошлой части я остановился на общем подходе…
Читать дальше →
Total votes 65: ↑64 and ↓1 +63
Comments 30

Layout страницы за 5 секунд

Reading time 1 min
Views 1.7K
www.layzilla.com

Проект родился просто из личных нужд. Если это удобно нам, надеюсь будет полезно кому-то еще. Все просто и без наворотов. Но не смотря на это, следуем стандартам и качеству кода.

Можно создавать основу страницы проекта любой сложности.

В будущем сделаем поддержку HTML5.

Мануал для любителей почитать.
Total votes 105: ↑98 and ↓7 +91
Comments 40

Опыт заказа в китайских интернет-магазинах

Reading time 5 min
Views 578K
В данной статье хотелось бы поделиться с читателями своим личным опытом о китайских интернет-магазинах, в которых мне (или моим друзьям) приходилось делать покупки. Речь пойдет именно про электронный сегмент товаров. Сразу перейду к сути, и приведу обзоры этих самых магазинов с заключительной оценкой:
Читать дальше →
Total votes 169: ↑155 and ↓14 +141
Comments 106

Интервью с Линусом Торвальдсом

Reading time 7 min
Views 6K
Посмотрите 12-минутное интервью создателя операционной системы Linux Линуса Торвальдса канадскому телеканалу TVO.

Интервью старое, взято на конференции Linux Expo Toronto в 2000 году. Ведущая — Пола Тодд. Приехавший на конференцию в Торонто Линус Торвальдс рассказывает о себе, о программировании, о том, почему Linux удался, о своей семье.

Читать дальше →
Total votes 90: ↑84 and ↓6 +78
Comments 29

Взламываем шифры с Python

Reading time 1 min
Views 51K
Опубликованное неделю назад издание «Взламываем секретные шифры с Python» (Hacking Secret Ciphers with Python) — это учебник по Python для новичков. Авторы разумно рассудили, что учиться программированию нужно на конкретных практических задачах. А что может быть интереснее, чем взлом зашифрованных сообщений?

Книга включает в себя исходный код нескольких шифров и программы для взлома этих шифров. В числе программ на Python — шифр Цезаря, шифр перестановки, шифр простой замены, мультипликативный и аффинный шифры, шифр Виженера и программы для взлома каждого из них. В последней главе рассматривается современный шифр RSA и криптография с открытым ключом.

Книга лежит в открытом доступе, её можно бесплатно скачать в формате pdf (зеркало).
Читать дальше →
Total votes 68: ↑62 and ↓6 +56
Comments 14

Обзор свежих материалов, январь-март 2013

Reading time 23 min
Views 13K
Уже три года я публикую регулярные обзоры свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель 2010-декабрь 2012.

Обзор свежих материалов, январь-март 2013
Читать дальше →
Total votes 47: ↑38 and ↓9 +29
Comments 7

Обзор литературы по Data Mining

Reading time 7 min
Views 66K
Добрый день!

Публикация нескольких статей о Data Mining показала высокий интерес сообщества к данной теме. Много вопросов было задано по типу «где почитать» и «с чего начать». Предлагаю вашему вниманию подборку литературы, ресурсов для уверенного старта в данной области.

Читать дальше →
Total votes 54: ↑50 and ↓4 +46
Comments 22

История одной оптимизации

Reading time 7 min
Views 6.1K
Речь пойдет о unity-launcher-editor — редакторе элементов и контекстного меню (quicklists) панели Unity для Ubuntu. Редактор написан с использованием связки python+gtk, с обязанностями справляется сносно. Раздражает время запуска: до появления главного окна проходит непозволительно много времени.

Можно пенять на Python, Unity или разработчиков, а можно попробовать разобраться в чем же дело, проект ведь с открытым кодом. Во время «исследования» делал пометки, которые и легли в основу этой заметки. Любопытных прошу под кат.

Читать дальше →
Total votes 87: ↑86 and ↓1 +85
Comments 15

Памятка пользователям ssh

Reading time 13 min
Views 1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

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

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Total votes 360: ↑352 and ↓8 +344
Comments 148

[Перевод] История программы ping

Reading time 3 min
Views 75K


Все верно, я — автор программы ping для UNIX. Ping — это программа в тысячу строк длиной, которую я написал за один вечер и о которой почти все наверняка знают. :-)

Я назвал ее в честь звука, издаваемого гидролокатором. В колледже я много занимался моделированием гидроаккустических и радиолокационных систем, так что аналогия с “Киберпространством” казалась весьма уместной. В ping используется та же идея: равномерно посылать IP/ICMP-пакеты ECHO_REQUEST и ECHO_REPLY, чтобы измерить “расстояние” до целевого компьютера.

Мое первоначальное желание написать ping для 4.2a BSD UNIX возникло после небрежного замечания Дэвида Миллса, сделанного им в июле 1983 года на заседании DARPA в Норвегии, о проделанной им работе в замере задержки прохождения ICMP пакетов в системах Fuzball LSI-11.
Читать дальше →
Total votes 186: ↑172 and ↓14 +158
Comments 68

На пути к созданию безопасного веб-ресурса. Часть 1 — серверное ПО

Reading time 7 min
Views 98K
Я уже довольно долгое время хочу формализовать все свои мысли, опыт, ежедневно применяемый на практике, и многое другое в одном месте и предоставить их общественности. Уверен, многим этот материал будет полезен. Он посвящен различным моментам в конфигурации серверного ПО Linux и безопасным подходам к созданию сайтов/приложений на php (все же это до сих пор одна из самых популярных связок, хоть её успешно и подвигают другие технологии. Но советы так же легко применимы и к веб-ресурсам на других технологиях).

Т.е. речь идет о типичной ситуации. Проект (стартап), купили под него сервер и разворачиваем на нем сайт. Бизнесу не нужно тратить лишних денег на сервера (поэтому будут выбраны наиболее производительные связки ПО), а так же нужно, чтобы все было безопасно, при чем бесплатно :)
Много текста. По-другому никак
Total votes 170: ↑159 and ↓11 +148
Comments 47

Правильный хостинг для MODx своими руками

Reading time 7 min
Views 57K

Топик рассказывает о настройке быстрого и недорогого хостинга для MODx Revolution. В принципе, вещи тут описаны общие, так что информация подойдет для любой CMS. Позже была смонтирована и видеоверсия этой инструкции.

На всякий случай, приложу видео, как должна работать админка MODx Revo.

Для быстрой и комфортной работы желательно:
  • Быстрый браузер — Google Chrome. Админка Revo работает в нем молниеносно
  • Хороший интернет-канал. Тут без вариантов, нужно всем и всегда.
  • Качественный хостинг — про него и пишу.


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

Читать дальше →
Total votes 47: ↑41 and ↓6 +35
Comments 113

И снова о… LAMP и базово защищённый мини-хостинг своими руками

Reading time 9 min
Views 56K
Увидев в очередной раз презренный посыл в Google в ответ на вопрос о том, как развернуть собственную LAMP'у, решил написать данный пост. Чтобы хоть как-то разбавить тонны радостных отчётов об успешной установке из блогов, суть которых сводится к одной команде aptitude install blah-blah.

Нет, ну конечно понятно, PHP самый надёжный язык, а все движки сайтов, на нём написанные, являются живым воплощением непробиваемой защиты от взлома. Тогда да — aptitude install apache2 — и будет вам счастье. Не забудьте оставить phpmyadmin по дефолтному адресу, да поставьте какое-нибудь дырявое FTP решето.

Вообще, как оказалось, многие даже не в курсе, что взломав сайт и получив возможность исполнять свой PHP код, злоумышленник на системе с дефотными настройками сможет как минимум прочитать в вашей системе почти что угодно. Оно и понятно — работая с Linux привыкаешь как-то, что по дефолту безопасность находится на вполне достаточном уровне. А тут такая дыра…

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

Те, кому тема веб-серверов надоела, возможно смогут найти в статье интересные приёмы многопользовательского ограниченного доступа к серверу по SFTP.

И нет, это не ещё одна статья с описанием установки Linux и выполнением aptitude install apache2. Скорее наоборот: в этой статье я хотел показать фатальную недостаточность данных манипуляций и мягко говоря некомпетентность тех, кто их тиражирует в интернете.
Итак - снова LAMP
Total votes 78: ↑47 and ↓31 +16
Comments 76

256 цветов в терминале ⇒ уровень nightmare

Reading time 2 min
Views 59K


Я тут строю некоторый велосипед с длинным отладочным выводом в stdout и меня взволновал вопрос серьезной расцветки лога. Современные терминалы xterm умеют и любят 256 цветов, но вот люди, которые придумывали escape-последовательности для этой палитры, стреноженные обратной совместимостью и латентной склонностью к криптографической эмпирике, все сделали так, что у меня ушло несколько часов, чтобы со всем этим разобраться. Интернет тоже не изобилует подробными разъяснениями, как оно там устроено.
Вкратце, текст в иксовый терминал можно нынче выводить кучеряво. Я набросал некое подобие сервиса, типа визивига для генерации escape-последовательностей. Выбрал цвета, начертание шрифта — получи набор закорючек. Тех же, кому интересны потроха — прошу под кат.
Читать дальше →
Total votes 124: ↑121 and ↓3 +118
Comments 79

OAuth на практике. Аутентификация и авторизация пользователей сайта через популярные социалки

Reading time 14 min
Views 345K
Думаю, не мне одному чрезвычайно надоели ресурсы, требующие регистрации по каждому поводу и без. С обязательной капчей, которая правильно введется только с пятого раза, с подтверждением по е-мейлу, которое обязательно свалится в спам и то — только через сутки. Придумывать каждый раз новую пару логин-пароль — забудется, вводить одно и то же на всех сайтах — небезопасно. Местами прокатывают пары вида «qwerty:qwerty» или «login:password», но, увы, далеко не везде. Надоело. Не счесть, сколько раз я, увидев надпись «только зарегистрированный пользователь может ****», просто кривился и закрывал вкладку, чтобы больше ни разу на этот сайт не заходить. Неужели администраторы ресурсов сами этого не понимают?
Читать дальше →
Total votes 126: ↑116 and ↓10 +106
Comments 180

Information

Rating
Does not participate
Location
Россия
Registered
Activity