Человек и машина – Telegram
Человек и машина
1.82K subscribers
46 photos
1 video
2 files
346 links
Авторский блог Карена Товмасяна.
Идеи, слова поддержки и критики отправляйте мне - @ThomasStorm.

С предложениями рекламы не обращайтесь.

I do not speak on behalf of my employer.
Download Telegram
Мне нечего сказать про Trunk-Based Development.
У меня 3 простых принципа: fit for purpose, KISS и YAGNI.

Пока идет бурное обсуждение, давайте я малость разбавлю интересной новостью, которая была некоторое время на слуху амазонщиков.

https://arstechnica.com/information-technology/2019/07/feds-former-cloud-worker-hacks-into-capital-one-and-takes-data-for-106-million-people/

Если вкратце:
1. Бывший (?) сотрудник AWS смог получить доступ к IAM роли.
2. Воспользовавшись этой ролью сотрудник получил доступ к S3.
3. Сотрудник радостно поделился об этом со всем миром, был арестован, ну и так далее.

Что говорят медиа: “взломали AWS, слили данные”

Плевать на желтушные заголовки, у меня только один вопрос: каким образом роль для сервиса WAF имела доступ в S3?
На всякий случай напомню, что я пишу цикл статей на тему IAM и как их правильно готовить: https://news.1rj.ru/str/manandthemachine/425

Достаточно иметь здравый смысл, понять принципы IAM, least privilege principle и изучить IAM Policy Conditions, чтобы не сесть в лужу.
Использование Mappings в шаблонах Cloudformation для выбора нужного AMI Id из региона - самое идиотское дело.

То есть каждый раз нужно ходить руками по регионам (которых на минутку очень много), копировать и вставлять идентификаторы.

Для тех, кто, как и я, страдал похожей фигней, Амазон сделал публичный репозиторий параметров с идентификаторами машин Amazon Linux 2 (и насколько я знаю и более ранних версий). Использовать его до неприличия просто:

# Parameter section
ImageId:
Denoscription: 'Latest Amazon Linux AMI ID'
Type: 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>'
Default: '/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2'

# Resource Section
WebServerLaunchTemplate:
Type: AWS::EC2::LaunchTemplate
Properties:
LaunchTemplateData:
InstanceType: !Ref InstanceSize
UserData: …
ImageId: !Ref 'ImageId'
SecurityGroupIds:
- !Ref 'WebServerSecurityGroup'


Есть ли похожие для других дистрибутивов, я не проверял.
Подводных камней у такого выбора параметров два: не получится запустить стек, если отвалился Parameter Store, и нужно иметь в виду, что новые версии AMI могут быть несовместимы с вашим приложением.
Читаю "Никаких компромиссов" за авторством Криса Восса - отставного специалиста по переговорам из ФБР.

Не смотря на то, что книга направлена на популяризацию техник ФБР, в ней есть интересный момент с историей создания современных методик ведения переговоров (которые мы - обычные сотрудники частного сектора экономики - можем взять на вооружение).

Так вот в 1979 основатели проекта Роджер Фишер и Уильям Юри выпустили книгу "Путь к согласию", где описывали новую методику. В этом, не постесняюсь этого слова, труде авторы акцентировали внимание на эмоции - один из недостатков разумных существ.

Один из пунктов гласил: не зацикливайтесь на том, "что" хочет человек, но на том "почему" он этого хочет.

Даже если вы простой инженер, зона ответственности которого мала, а цена ошибки ничтожна, этот прием поможет решить большинство ваших (и не только) проблем.

Взять тот же холивар про Кубернетес. Если к вам сверху пришел запрос на изучение и внедрение оного, то задайтесь вопросом, "почему" "ТАМ" хотят кубер, облако и прочее. Решение чаще всего лежит на поверхности и не нуждается в интеграции хайповых технологий на вашем проекте.
Если в России рогокопытоподобные конторы любят приманивать сотрудников бесплатным печеньем и дружным коллективом, то в Нидерландах - “открытой” культурой и бесплатным алкоголем по пятницам.

В который раз убеждаюсь, что индустрия в Нидерландах отличается только большим количеством денег и больше ничем.
https://learnworthy.net/highest-paid-programming-languages-in-2019/

Вы просто посмотрите на эту красоту, которая идет десятой в списке "самых высокооплачиваемых языков программирования во всем мире".
Недавно (буквально вчера, кажется) прогремела история с PHP.CE, с которой случилось кое-что занятное: среди докладчиков не было женщин, а львиная доля участников состояла из белых мужчин.

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

По этому поводу можно много и долго мусолить, но мне это все напомнило две истории. Морали в них не будет, но считаю должным поделиться ими с вами.

Первая связана с HR расследованием в Google, которое инициировали сотрудницы. По их словам существовал большой разрыв в компенсациях для женщин и мужчин, и инициативная группа требовала уравниловки.
Разрыв действительно был, но в пользу женщин и цветных: по итогам расследования вышло, что белые мужчины как раз и недополучают. Подробнее здесь: https://www.nytimes.com/2019/03/04/technology/google-gender-pay-gap.html

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

Ответ Тома мне очень понравился. Он сетовал на то, что нанимающие менеджеры сплошняком состоят из расистов и сексистов, и квоты - единственный способ разбавить это болото. Сознание шовиниста неизменно по определению, и только административный ресурс может изменить положение дел.

Чуть позже я напишу, почему, на мой взгляд, на рынке ИТ "мало" цветных и женщин, и существует так называемый "гендерный разрыв" в оплате труда.
Довольно редко разница между компенсацией М и Ж вызвана сексистскими наклонностями работодателя.

Вот вам такая ситуация, и я сейчас говорю конкретно про Нидерланды. Когда мужчина ищет работу и доходит до обсуждения ЗП, у него в голове следующее: ипотека/аренда, коммуналка, накопления, расходы на медстраховку, еду, одежда, маломальские развлечения.
Поскольку большинство расходов ложится на М, то он и старается выбить себе ЗП побольше (добавьте к этому, что нидерландцы жадные до одури и очень хорошо изучают рынок труда).

В случае с Ж все проще - достаточно выбить себе 32 часовую рабочую неделю и ЗП, достаточную на удовлетворение потребностей пропустить стаканчик с подруженьками в пятницу вечером.
Расходы на жизнь либо на М, либо на родителях (в зависимости от возраста). Ежели Ж съехала от родителей и снимает жилье, то чаще всего с подружками (что превращает 1500 евро в 500 - вполне подъемная сумма даже с зарплатой в 2000).

Прибавьте к этому очень большую конкуренцию на рынке труда вне ИТ и получите подписание первого же offer’а без обдумывания и торговли.

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

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

Все очень просто, и есть способы решить эти проблемы. Но зачем, если можно устроить обратный расизм и сексизм и выбить себе квоты?
В очередной раз за обсуждением такой бессмысленной херни, как "токсичность в ИТ", поймал себя на мысли.

По сути имеется определенный лагерь элитариев. Снобов, переживших многое в своей карьере, повстречавших всякое, и теперь - чопорных боевых мужиков (и не только), которые смеются в лицо новичкам и их "смешным" проблемам.
В принципе, можно бесконечно копаться в психологической стороне вопроса. Связаны ли снобизм, чопорность, шовинизм, you name it с тем, что большинство очень крутых специалистов пожертвовали личной жизнью для обретения своей экспертизы? Может они интроверты? Может дело в больших (сравнивая с другими сферами) зарплатах? Кадровом голоде? Или детские травмы? А может потому, что в былые времена они пережили схожее и теперь считают, что это - единственный путь к самосовершенствованию (через продолжительное поедание членов в групповых чатах, ага)? Или давайте ударим по гендеру и решим что дело в "токсичной маскулинности", которое, словно рак, поедает индустрию и не пускает в нее барышень, геев, миноритариев и прочих "нежных" персон?

Впрочем, это все бессмысленные тонкости. Прелесть в том, что люди любят прикрывать свои неудачи и проблемы в работе (и не только) той самой "токсичностью", не имея при этом для нее точного определения.

Для кого-то это подколки на работе по поводу прически/одежды/образа. Для кого-то - пассивно агрессивные комментарии во время code review.

В итоге получаем в довесок обратную картину: обиженные, оскорбленные и угнетенные создают свои кружки по интересам, где хвалятся своим Code of Conduct и игнорируют отсутствие полезного и качественного контента (какой там может быть полезный контент, если все эксперты - токсичные снобы, и им в тусовочку нельзя?).

Получается два стула: на одном - синеволосые новички с их странными правилами приличия, на другом - "шовинистичные мудаки", с которыми никто не хочет иметь дело, хотя есть, чему поучиться.

Отсюда вырастает и другая проблема: в контору берут харизматичного середнячка, а не профессионального ублюдка. С ублюдком никто не захочет работать, пусть он и может принести проекту гораздо больше пользы (разрушив, правда, к чертям, всю "мораль" команды).
Будет забавно, если читающие мой канал жопой (количество таких среди подписчиков, к сожалению, больше 0) решат, что я обвиняю во всем белых цисгендерных профессионалов.

Я же надеюсь, что вы сделаете правильные выводы из прочитанного.

Есть еще один приятный момент во всем этом бардаке: большинство “снобов”, которых я знаю достаточно давно, прекрасно осознают и понимают, что они снобы. Когда я спрашиваю условного сноба, откуда берется такое поведение, ответ, как правило, один: задолбали одни и те же (простые) вопросы.

И я это прекрасно понимаю и испытал на своей шкуре. Терпения доносить людям простые истины (которые ты воспринимаешь как "мыть руки перед едой") зачастую не хватает.
Мне нравится подход в @AWS_Ru - если человек пришел с элементарным (на взгляд местных старичков) вопросом, ему просто кидают ссылку на нужную документацию. Если человек начинает неистовствовать - его методично успокаивают и приглашают ознакомиться с оной документацией.

Впрочем, в виду ряда вещей, которым я свидетельствовал (от драмы вокруг Tarantool, выборки Medium до нескольких личных поражений), я постепенно теряю верю в будущее индустрии. Ну вы просто вдумайтесь - разработчики экосистемы Scala ведут срачи на политические темы в твиттере (я так понял, конфликт между Alt-Right’ами и “прогрессивными” ребятами), и из-за этого в сообществе происходит не пойми что.

Я прекрасно понимаю снобов и нередко замечаю снобизм со своей стороны. Даже если иметь бездонную чашу терпения, в какой-то момент просто плюешь на все и понимаешь, что весь образовательный контент (сужу по статистике прочтений постов про IAM на Medium) либо неинтересен, либо люди недостаточно мотивированы (ленивы?) его потреблять.

Надежду на прекрасное будущее вселяют те 2-3 человека из 50, которые используют мой опыт, чтобы избежать ошибок в своей работе. Для них и стараюсь.

А падающего, как известно, толкнуть сам Заратустра велел.
Из разряда "Любимые вопросы на собеседовании". Вопрос не имеет точного ответа (кто ж знает, что там под капотом), но я его люблю за то, что он проверяет "думалку" кандидата.

Мы знаем, что снепшоты EBS хранятся в S3. Они инкрементальные, и когда мы создадим новый снепшот, то будем платить только за разницу в размерах.

То есть у нас есть первый снепшот размером в 2 Гб. Мы создаем новый, его размер 3 Гб. Мы платим только за 2 Гб (первый снепшот) и за инкремент размером в 1 Гб. Вопрос: почему?

Опять же, точного ответа на этот вопрос нет и быть не может, но если взять вводные (снепшоты хранятся на S3, они инкрементальные), то легко можно додуматься, что в S3 используется версионирование, и при создании нового снепшота создается новая версия объекта. Поэтому, создай вы хоть 100 снепшотов одного тома по 4 Гб каждый, платить будете все равно одинаковую сумму.
Помните, как AWS отвесил Mongo отличного леща, создав DocumentDB?

Так вот маленькая, но очень смелая компания вчера решила отвесить леща Амазону: https://www.scylladb.com/alternator/

И это просто восхитительно.
Мысль, которая преследует уже давно, но применима к компаниям, где cloud adoption - не галочка в портфолио, а реальность.

Отдельно выделенный AWSник (будь-то консультант или full-time) в конторе - ходячая документация, не больше и не меньше.
Forwarded from oleg_log (Oleg Kovalov)
Несколько дней?... Наивные :)
Читаю новости про украденные данные из Сбера.

Как говорил классик: компьютеризация бардака на выходе даст лишь компьютеризированный бардак.

Те же, кто считает, что подобное могло произойти только в России, приглашаются к изучению десятков схожих кейсов с американскими (и не только) банками. Идиоты в индустрии, к сожалению, везде и в недопустимом количестве.
Коллеги по цеху попросили пояснить за идиотов в индустрии, кого-то даже задели мои слова. Я не совсем понимаю, что конкретно надо пояснять, но раз чьи-то чувства были уязвлены, то стоит пожалуй.

Во-первых, не стоит относиться к словам "идиот", "глупец", "дилетант" и прочим СЛИШКОМ уж обидчиво.

Дилетант - тот кто чем-то занимается, не имея необходимой квалификации. Глупец - неумный человек. Подумайте хорошенько, можно ли (стоит ли?) считать такие "обзывательства" оскорблением.

Я довольно долго проработал в окружении людей, среди которых я был и чувствовал себя самым глупым, и это было прекрасно - я очень скучаю по этому чувству, и чем дальше, тем меньше вероятность его снова пережить.

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

И это не является каким-то переходным периодом. Я знаю некоторых парней, у которых "о-го-го" сколько лет за спиной, а что ни день, то "я ничего не знаю вообще". Я и сам к таким отношусь и не могу с уверенностью сказать, что я что-то знаю. Ну разве что таблицу умножения (и то не факт).

Другое дело люди, которые не понимаю глубину своей глупости, эти люди по-настоящему опасны, скорее всего их реально 95% на Земле (и я не исключаю, что к ним отношусь).

Идиот искренне верит в то, что преуспел в своей деятельности, либо, что еще хуже, что это нормально, так и должно быть, «не, ну а что».

Такие люди неосознанно наносят вред предприятию, и их стало много. Почему так произошло, расскажу позже.
Готовя материал для одного мероприятия, наткнулся на бриллиантовую штуку - https://github.com/awslabs/aws-config-rdk

Кто не в курсе: AWS Config это система проверок на compliance в вашем аккаунте с поддержкой самописных правил.

Поскольку писать однотипные лямбды долго и скучно, Амазон выкатил свой девкит.
В продолжение https://news.1rj.ru/str/manandthemachine/461

Причины лежат на поверхности.

Во-первых, повсеместные курсы, Youtube-каналы, блоги и прочие учебные материалы, совпадающие с возросшим спросом на кадры в индустрии. Чем идти и получать профильное образование, человечек, начитавшись «историй успеха» и «гарантий трудоустройства» в рекламных буклетах, идет на месячный интенсив. Поскольку уложить фундаментальный Computer Science в месячный курс очень сложно, на выходе получаем фронтендера без знаний Big-O нотации.

Во-вторых, развитие самих технологий. Лет 10 назад рынку нужны были прожжённые инженеры со знанием небезызвестной СУБД, теперь - достаточно отличать DDL от DML. Работа с платформами и системами автоматизируется и атомизируется настолько, что людям нет необходимости знать, что там внутри.

Начиналось это все, как необходимость ускорить работу людей, т.е. вырезать из рабочих процессов «непроизводственную» часть.

В результате это было не вырезано, а всего-лишь заменено: раньше человек тратил n часов на тонкую настройку Linux, теперь >n часов на настройку облака.

Мало того, специалист «хайповой» платформы почему-то стоит дороже, чем «классический» инженер Linux, и это при том, что «обычный» инженер относительно легко освоит тот же кубер, а вот опытный куберовод, который целый день писал ямлики для кубера в GKE, починить etcd (если однажды столкнется с self-hosted) уже не сможет в виду отсутствия квалификации.

Похожие симптомы видны не только в ИТ, и общая картина радовать не может. Те же, кого устраивает повсеместная деградация в угоду собственной гарантии трудоустройства, не видят дальше собственного носа.

Мне же остается лишь надеяться, что я просто напросто ошибаюсь, и в критически важных секторах экономики дела обстоят совсем иначе.
Когда сдал Certified Solutions Architect - Associate и нашел новую работу.