Pull to refresh
27
0
Serhii Balbieko @m0s

Site Reliability Engineer

Send message
Вот автор статьи представляет компанию D., по сути обычную аутсорсинговую или аутстафинговую компанию (или как любят говорить в компании E. — «компанию, оказывающую сервисные услуги»).

У компании D. есть клиент — финансовая компания, или может быть какая-то корпорация, которая решила положится на экспертизу компании D. в вопросах разработки и сопровождения проекта, который они решили аутсорсить.

Сейлзы компании D., идя в ногу со временем знают, что в области системного администрирования есть серебряная пуля, DevOps инжинеры, которые продаются клиенту лучше и дороже чем обычные системные администраторы. Клиент тоже где-то слышал что DevOps это очень круто и сейчас в тренде (а если не слышал – заботливые сейлзы/архитекторы/кто-то еще из компании D. — обязательно расскажут что это именно так)

И в итоге на сайте украинского представительства компании D. сейчас висят две вакансии:

DEVOPS ENGINEER
Необходимые навыки:
  • Конфигурационные инструменты (Chef/Puppet/Docker).
  • Знание облачных инфраструктур, предпочтительно Amazon Web Services.
  • Unix, Shell Script.
  • Опыт работы с Jenkins, Nexus
  • Система контроля версий: Git, SVN
  • Базовое знание Java, Jboss, Maven.
  • Централизированный сбор логов.
  • Разговорный английский.
  • Хорошие коммуникационные навыки.


CONFIGURATION MANAGER / DEVOPS ENGINEER
Обязанности:

  • Устранение сложных технических проблем на всех уровнях технологического стека приложений.
  • Восстановление и поддержание файловых систем, включая смены пароля, отключения сокетов приложения и другие внешние воздействия для защиты файлов производства. Способность контролировать процесс восстановления и устранения неполадок.
  • Поддержание скриптов приложения, базы данных и среды ОС.
  • Написание и запуск скриптов, анализирующих данные по нагрузочному тестированию в различных средах.
  • Ответственность за поддержку основных сервисов инфраструктуры (LDAP, NIS, DNS, DHCP и т. д).
  • Обратите внимание: позиция предполагает работу с 17 до 1 по Киеву.



А теперь прочитайте содержимое спойлеров выше и скажите, чем описанные вакансии отличаются от того что делают системные администраторы.
То, что в какой-то момент Site Reliablity Engineer, Systems Engineer и прочие системные администраторы начали называться DevOps Engineer – это просто дань моде и некомпетенция как работодателей, так и самих работников(а на деле просто проблема нейминга)

Но по сколько DevOps это всего лишь одна из методологий, пусть даже и самая модная в наши дни – то DevOps Engineer звучит так же дико, как и Agile Engineer, Kanban Engineer или Waterfall Engineer.

Слушайте, 2015 год заканчивается уже, я думал все эти вопросы уже году так в 2011-2012 обсудили и закрыли этот холивар. Но нет же, с завидной регулярностью появляется кто-то, кто начинает рассказывать про инженеров DevOps.
Ну вы же знаете почему так происходит :)
Recruiter reaction when putting DevOps as a skill in a public CV
image

Ну с таким подходом – для вас единственно-правильный вариант будет парсить /var/log/lastlog

Вот например простенький one-liner из интернетов, который выводит информацию из lastlog в понятном человеку виде виде

perl -we '$recs = ""; while (<>) {$recs .= $_};$uid = 0;foreach (split(/(.{292})/s,$recs)) {next if length($_) == 0;my ($binTime,$line,$host) = $_ =~/(.{4})(.{32})(.{256})/;if (defined $line && $line =~ /\w/) {$line =~ s/\x00+//g;$host =~ s/\x00+//g;printf("%5d %s %8s %s\n",$uid,scalar(gmtime(unpack("I4",$binTime))),$line,$host)}$uid++}print"\n"' < /var/log/lastlog

Тут лишь нужно учитывать, что в зависимости от архитектуры и версий, структура данных может быть не только 4+32+256

Беглое изучение вопроса показало, что встречаются также другие варианты и самый верный способ — посмотреть соответствующие значения в хедерах (например для Linux это будут UT_LINESIZE и UT_HOSTSIZE в /usr/include/bits/utmp.h)
/ информация выше взята из этой статьи /

Нужно понимать, что lastlog хранит только записи о логинившихся пользователях, а т.к. исходная задача стояла в получении тех, кто не логинился ни разу – то, соответственно, ими являются все остальные UIDы, кроме полученных в выводе этого скрипта.
Но давайте будем честны, это всего лишь вольный пересказ вот этой статьи близко к тексту.
Хоть бы из вежливости об оригинале вспомнили
Чтобы узнать дату создания файла wtmp, следует ввести в консоли last mia

Так же можно ввести last vincent или же last jules, равно как и имя любого другого существующего или не очень существующего пользователя системы.

На самом деле команда last USERNAME выводит содержимое lastlog для конкретного пользователя, не более того. После вывода лога, она добавляет строку с датой и временем создания соответствующих логфайлов и если по конкретному пользователю записей нет — в вывод попадает только эта вспомогательная информация
Ну как вам сказать… Мне за получение рутового доступа к ~400 серверам целого подразделения Adobe дали всего-лишь годовую подписку на Adobe CC. Ну это при том, что у Adobe, на сколько я понимаю, вообще нет официальной bug-bounty программы, только hall of fame.

Когда я учился на первом курсе, у нас проводили олимпиаду по инженерной графике. Что-то долго и много чертили в AutoCAD, сдали работы и разошлись по домам. Через несколько дней меня вызвал преподаватель и сказал — «Твоя работа была лучшей, но была еще одна работа идентичная твоей. я знаю что ты делал работу сам, но поделать ничего не могу. Вас обоих дисквалифицировали»

Оказалось что кто-то дернул мои чертежи по сети и сдал как свои. Тогда, в 17 лет, это было очень обидно.
Единственная проблема — минимальный интервал синхронизации — 15 минут
Но это пока, наверное, самый удобный способ синхронизировать данные RDS во внешний датацентр
>> ссылку лучше открывать в IE
нет, спасибо.
ничего, скоро пальцы вместо этого разомнешь =)
будут curl'ом, очевидно же. зачем нам скальпель, мы и топором можем
Не думаю что много
Это не QR-код, а datamatrix, если что
*шутка про Mac OS X*
А вообще, мне кажется — стоит абстрагироваться от инструментария, по тому что это лишь лишь почва для религиозных войн, не более. А проблему нужно решать слегка сферически и в вакууме — придумывать/применять алгоритмы и методы, а не языки и инструменты.
плох тот админ, которому рецепты для chef на ruby непонятным языком кажутся
image
все правильно, у вас есть свой велосипед, аналогичный предложенным инструментам и покрывающий часть их функций. и вы им гордитесь.
Нет, правда — столько текста вокруг простой идеи — вы зачем-то связали отсутствие навыков ручного troubleshooting с использованием системам управления конфигурациями.
Не подменяйте понятия. Это две разных области, и применение инструментов из одной совсем не лишает знаний в другой.

А на практике — вы все равно используете систему управления конфигурациями. Только свою, самописную. Это, кстати, тоже вариант решения проблемы описанной в первом пункте. И его право на жизнь никто не оспаривает. (Ну по крайней мере я не оспариваю)
Из серьезных книг — пожалуй вот эти:

DevOps: High-impact Strategies — What You Need to Know: Definitions, Adoptions, Impact, Benefits, Maturity, Vendors
Roebuck, Kevin

Web Operations: Keeping the Data On Time
Allspaw, John, Robbins, Jesse

Cloud Computing Architected: Solution Design Handbook
Rhoton, John, Haukioja, Risto

Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley Signature Series (Fowler))
Farley, David, Humble, Jez

Pro Puppet
Turnbull, James, James Turnbull, Jeffrey McCune December 8, 2011

Pulling Strings with Puppet: Configuration Management Made Easy
Turnbull, James

Configuration Management: High-impact Strategies — What You Need to Know: Definitions, Adoptions, Impact, Benefits, Maturity, Vendors
Roebuck, Kevin

А из статей и блогов:
Стоит обрать внимание на этот и этот блоги. А так же на хэштеги #opschef, #puppet и #devops и прочие тематические в твиттере.
вам возможно будет интересно прочитать эту статью
1

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Registered
Activity