Итак, мое первое дежурство, и я вижу, что некоторые системы падают с завидной регулярностью.
После анализа я вижу следующее:
1. Система выступает как центральное звено, ее падение вызывает падение зависящих от нее приложений.
2. Система используется для решения задач, для которых она не предназначена (Например event sourcing система используется так же как долгосрочное хранилище событий).
3. Система была спроектирована под определенную нагрузку и объем данных и теперь она не справляется.
С ростом объемов и нагрузки можно справиться либо оптимизацией производительности и рефакторингом, либо добавлением ресурсов, если рост органичен.
Другое дело с неправильной архитектурой.
Первым и, разумеется, неверным шагом было придти к коллегам с предложением бросить все и переписать. Конечно, такой шаг не увенчался успехом.
Здесь нужно сделать небольшую ремарку: недавно в группе DevOps Moscow обсуждалось понятие личного бренда (об этом я тоже напишу отдельно), и как оно помогает в работе.
В Нидерландах все несколько иначе, личный бренд - ничто, всеобщая уравниловка, социализм и прочие прелести коммунизма.
То есть старший инженер с 10+ годами в конторе и вчера нанятый младший разработчик имеют одинаковый вес голоса.
Я поставил перед собой две цели:
- Избавить нас от проблем 1 и 2 в кратчайшие сроки.
- Сделать так, чтобы этого не повторилось в будущем.
Чтобы достичь первой цели в первую очередь нужно думать по принципу win-win.
То есть не идти к разработке с operations требованием (сделайте так, чтобы ваши приложения не падали), а мотивировать их разрабатывать с reliability in mind, что в итоге будет плюсом и для всех.
Решение было простым, но потребовался административный ресурс. Я поговорил с нашим техническим директором, и мы договорились о следующем:
- Необходимый SLO ставится одной из целей в KPI команды (от KPI зависит годовой бонус)
- 20% спринта выделяется на уничтожение технического долга. Ops определяют приоритет задач, как stakeholders.
- В нашей (Ops) команде на ближайшее время 50% ресурсов уходит на уничтожение технического долга.
Для второй цели пришлось сделать некоторые манипуляции с процессом разработки.
Во-первых, общение между инженерами и разработкой как пункт чек-листа перенесли из Definition of Done в Definition of Ready. Это позволило инженерам участвовать в grooming и planning сессиях (то есть на самих ранних стадиях) разработки.
Участником от инженерной команды назначается текущий дежурный инженер. Это позволяет соблюдать определенный нейтралитет и минимизировать риск принятия неправильного решения под воздействием эмоций или дружеских отношений между инженером и разработчиком. Также нет “привязки” конкретной задачи к конкретному инженеру, и тот может спокойно идти в отпуск или на больничный.
Помимо этого перед планированием дежурный инженер и один или несколько разработчиков разрабатывают несколько PoC с использованием разных сервисов AWS, которые затем демонстрируются перед началом работ по разработке и имплементации. Наилучшее решение (то есть то, которое эффективнее всего решает данную задачу и не конфликтует с зависимостями) уходит непосредственно в разработку.
Во-вторых, чтобы изменения, приходящие со стороны инженеров, не встречали усиленного сопротивления, мы стали проводить “облачные” тренинги для разработчиков.
Например, мы решили заменить DC/OS на Fargate. Эта инициатива требует переработки всех существующих CI/CD pipeline’ов, тестирования и, как результат, - времени разработчиков.
Прежде чем презентовать Fargate как преемника контейнерной оркестрации мы проводим тренинг, где разработчики сами создают кластер и разворачивают dummy приложение на оном.
Разработчик, видя, что новая система имеет ряд преимуществ, уже охотно хочет ей воспользоваться. Видя восторженные возгласы и разные вопросы из разряда “Ну что, когда мы это запустим в прод?”, инженеры понимают, что первый барьер сломан и можно презентовать решение на общем собрании.
После анализа я вижу следующее:
1. Система выступает как центральное звено, ее падение вызывает падение зависящих от нее приложений.
2. Система используется для решения задач, для которых она не предназначена (Например event sourcing система используется так же как долгосрочное хранилище событий).
3. Система была спроектирована под определенную нагрузку и объем данных и теперь она не справляется.
С ростом объемов и нагрузки можно справиться либо оптимизацией производительности и рефакторингом, либо добавлением ресурсов, если рост органичен.
Другое дело с неправильной архитектурой.
Первым и, разумеется, неверным шагом было придти к коллегам с предложением бросить все и переписать. Конечно, такой шаг не увенчался успехом.
Здесь нужно сделать небольшую ремарку: недавно в группе DevOps Moscow обсуждалось понятие личного бренда (об этом я тоже напишу отдельно), и как оно помогает в работе.
В Нидерландах все несколько иначе, личный бренд - ничто, всеобщая уравниловка, социализм и прочие прелести коммунизма.
То есть старший инженер с 10+ годами в конторе и вчера нанятый младший разработчик имеют одинаковый вес голоса.
Я поставил перед собой две цели:
- Избавить нас от проблем 1 и 2 в кратчайшие сроки.
- Сделать так, чтобы этого не повторилось в будущем.
Чтобы достичь первой цели в первую очередь нужно думать по принципу win-win.
То есть не идти к разработке с operations требованием (сделайте так, чтобы ваши приложения не падали), а мотивировать их разрабатывать с reliability in mind, что в итоге будет плюсом и для всех.
Решение было простым, но потребовался административный ресурс. Я поговорил с нашим техническим директором, и мы договорились о следующем:
- Необходимый SLO ставится одной из целей в KPI команды (от KPI зависит годовой бонус)
- 20% спринта выделяется на уничтожение технического долга. Ops определяют приоритет задач, как stakeholders.
- В нашей (Ops) команде на ближайшее время 50% ресурсов уходит на уничтожение технического долга.
Для второй цели пришлось сделать некоторые манипуляции с процессом разработки.
Во-первых, общение между инженерами и разработкой как пункт чек-листа перенесли из Definition of Done в Definition of Ready. Это позволило инженерам участвовать в grooming и planning сессиях (то есть на самих ранних стадиях) разработки.
Участником от инженерной команды назначается текущий дежурный инженер. Это позволяет соблюдать определенный нейтралитет и минимизировать риск принятия неправильного решения под воздействием эмоций или дружеских отношений между инженером и разработчиком. Также нет “привязки” конкретной задачи к конкретному инженеру, и тот может спокойно идти в отпуск или на больничный.
Помимо этого перед планированием дежурный инженер и один или несколько разработчиков разрабатывают несколько PoC с использованием разных сервисов AWS, которые затем демонстрируются перед началом работ по разработке и имплементации. Наилучшее решение (то есть то, которое эффективнее всего решает данную задачу и не конфликтует с зависимостями) уходит непосредственно в разработку.
Во-вторых, чтобы изменения, приходящие со стороны инженеров, не встречали усиленного сопротивления, мы стали проводить “облачные” тренинги для разработчиков.
Например, мы решили заменить DC/OS на Fargate. Эта инициатива требует переработки всех существующих CI/CD pipeline’ов, тестирования и, как результат, - времени разработчиков.
Прежде чем презентовать Fargate как преемника контейнерной оркестрации мы проводим тренинг, где разработчики сами создают кластер и разворачивают dummy приложение на оном.
Разработчик, видя, что новая система имеет ряд преимуществ, уже охотно хочет ей воспользоваться. Видя восторженные возгласы и разные вопросы из разряда “Ну что, когда мы это запустим в прод?”, инженеры понимают, что первый барьер сломан и можно презентовать решение на общем собрании.
Похожего рода тренинги теперь проводятся регулярно, мы покрываем разные сервисы и подходы (не только те, которые хотим “продать”), чтобы мотивировать разработчиков думать не только о разработке нового функционала, но и об использовании нативных амазоновских сервисов, которые упрощают жизнь и им, и нам.
P.S. А спустя полгода я все то же самое читаю в книжке Site Reliability Engineering.
P.S. А спустя полгода я все то же самое читаю в книжке Site Reliability Engineering.
Коллеги, один из участников сообщества AWS_ru ведет прекрасный канал про разные плюшки в AWS.
В канале неприлично мало людей. Если волею Рока вы связали свою жизнь с этим ужасающим своими масштабами монополистом рынка облачных провайдеров, присоединяйтесь.
https://news.1rj.ru/str/aws_notes
В канале очень много полезной информации.
В канале неприлично мало людей. Если волею Рока вы связали свою жизнь с этим ужасающим своими масштабами монополистом рынка облачных провайдеров, присоединяйтесь.
https://news.1rj.ru/str/aws_notes
В канале очень много полезной информации.
Telegram
AWS Notes
AWS Notes — Amazon Web Services Educational and Information Channel
Chat: https://news.1rj.ru/str/aws_notes_chat
Contacts: @apple_rom, https://www.linkedin.com/in/roman-siewko/
Chat: https://news.1rj.ru/str/aws_notes_chat
Contacts: @apple_rom, https://www.linkedin.com/in/roman-siewko/
Коллеги, у меня есть мысль написать про так называемый «личный бренд», про который будет митап DevOps Moscow 16 мая, но сегодня я вдоволь наигрался со штукой под названием Troposphere (https://github.com/cloudtools/troposphere).
По Troposphere если и писать, то много, так что придется использовать Telegraph.
Вопрос к аудитории: с чего начать?
Робот - Troposphere
Человечек - Личный бренд
Напишу по обеим темам в любом случае.
По Troposphere если и писать, то много, так что придется использовать Telegraph.
Вопрос к аудитории: с чего начать?
Робот - Troposphere
Человечек - Личный бренд
Напишу по обеим темам в любом случае.
GitHub
GitHub - cloudtools/troposphere: troposphere - Python library to create AWS CloudFormation denoscriptions
troposphere - Python library to create AWS CloudFormation denoscriptions - cloudtools/troposphere
Я удивлен, как ноздря в ноздрю идут две абсолютно разные темы.
Это хорошо. Это показывает мне, что у вас, коллеги, разнообразные интересы и цели, преследуя которые, вы читаете мой канал.
Я подержу верхний пост до пятницы, хотя видно, что “личный бренд” с небольшим перевесом опережает troposphere, так что сначала я дам контент по нему.
Что касается Troposphere - думаю, это будет моим дебютным материалом в Medium (До этого я писал только на Хабр и сюда).
А пока предлагаю вам ознакомиться с материалом @SinTeZoiD про то, почему стоит ответственно относиться к вопросу хранения персистентных данных: https://habr.com/ru/post/452174/
Миша на этом деле не только собаку съел.
Это хорошо. Это показывает мне, что у вас, коллеги, разнообразные интересы и цели, преследуя которые, вы читаете мой канал.
Я подержу верхний пост до пятницы, хотя видно, что “личный бренд” с небольшим перевесом опережает troposphere, так что сначала я дам контент по нему.
Что касается Troposphere - думаю, это будет моим дебютным материалом в Medium (До этого я писал только на Хабр и сюда).
А пока предлагаю вам ознакомиться с материалом @SinTeZoiD про то, почему стоит ответственно относиться к вопросу хранения персистентных данных: https://habr.com/ru/post/452174/
Миша на этом деле не только собаку съел.
Хабр
Он вам не дRook
В связи с набирающей популярностью Rook хочется поговорить о его подводных камнях и проблемах, которые ждут вас на пути. О себе: Опыт администрирования ceph с в...
По поводу аварии в Яндекс.Облако.
Амазон терял данные пользователей на EBS в 2011 году.
Сервис S3 лежал несколько часов в одном из регионов. Из-за этого у конечных пользователей были проблемы различного масштаба, от сломавшихся холодильников до неработающих пультов от телевизора.
GitLab убил production базу. Во время восстановления выяснилось, что бекапы работали некорректно, и восстановили в итоге из снимка ФС по чистому везению.
ЦОД GCP ушел в отказ, когда в него ударила молния два раза подряд. Два. Раза. Подряд.
Github в результате цепочки отказов работал в деградированном режиме 24 часа и 11 минут.
Про отказы Facebook, Instagram и ВК я вообще молчу.
У меня нет инсайдов о том, что именно произошло в Я.О, но по тем крупицам информации, что я нашел - это не самое страшное, что могло случиться, и масштаб трагедии гораздо меньше, чем пишут на Pikabu и Хабре.
На DevOps Forum Moscow я сказал, что будущее ИТ за развитием публичных и гибридных облаков, и Яндекс делает титаническую работу.
Я желаю команде Яндекс.Облако удачи в решении инцидента, и пусть это будет их последняя крупная авария.
Прекращайте спекуляции и own your reliability (c)
Амазон терял данные пользователей на EBS в 2011 году.
Сервис S3 лежал несколько часов в одном из регионов. Из-за этого у конечных пользователей были проблемы различного масштаба, от сломавшихся холодильников до неработающих пультов от телевизора.
GitLab убил production базу. Во время восстановления выяснилось, что бекапы работали некорректно, и восстановили в итоге из снимка ФС по чистому везению.
ЦОД GCP ушел в отказ, когда в него ударила молния два раза подряд. Два. Раза. Подряд.
Github в результате цепочки отказов работал в деградированном режиме 24 часа и 11 минут.
Про отказы Facebook, Instagram и ВК я вообще молчу.
У меня нет инсайдов о том, что именно произошло в Я.О, но по тем крупицам информации, что я нашел - это не самое страшное, что могло случиться, и масштаб трагедии гораздо меньше, чем пишут на Pikabu и Хабре.
На DevOps Forum Moscow я сказал, что будущее ИТ за развитием публичных и гибридных облаков, и Яндекс делает титаническую работу.
Я желаю команде Яндекс.Облако удачи в решении инцидента, и пусть это будет их последняя крупная авария.
Прекращайте спекуляции и own your reliability (c)
Про личный бренд.
В моем понимании личный бренд состоит из:
- узнаваемость в организации
- узнаваемость в индустрии в пределах одной страны
- узнаваемость в индустрии по всему миру
У нас на слуху имена Торвальдса и Столлмана.
Многие из нас так же знают Митчелла Хашимото и Брандона Грэгга.
Мы прекрасно знаем, что это за люди, мы прекрасно к ним относимся, и мы доверяем им и тому, что они говорят.
Личный бренд может решить (но необязательно решит) следующие задачи:
- прием на работу в желаемую компанию и/или желаемую должность
- продвижение идей внутри компании или индустрии
В Нидерландах личный бренд только упростит устройство на работу. Например, когда я устраивался на должность Cloud Architect, мне, как незнакомому организации лицу, нужно было подтвердить свои знания в 3 технических собеседованиях и одном тестовом задании.
Моему коллеге, который до этого работал в Philips на такой же позиции, было достаточно одного. Его background и запись в резюме сказали за него больше, чем он сам.
Однако нам обоим необходимо проводить подробное исследование, чтобы протолкнуть наши идеи: вы помните из моих предыдущих постов, что в NL в условной команде или департаменте все равны, и задавить авторитетом не получится.
В РФ (я предполагаю) дела обстоят несколько иначе. Приди я на очередной митап DevOps Moscow, буду выглядеть для тусовочки диковинной зверушкой (если только вся тусовочка не читает этот канал), мой доклад будут прогонять, а аудитория будет слушать вполуха (что ожидаемо).
В итоге, чтобы протолкнуть что-либо, мне нужно будет раз за разом выступать с первоклассными докладами, зарабатывая очки авторитета у аудитории.
Но по мере роста доверия доклад будет уменьшаться в размере: в нем будет меньше аргументов, потому что главный аргумент - сам докладчик. Он уже все, кому надо, доказал.
Похожим образом личный бренд может развиваться и в пределах одной организации, а узнаваемость в индустрии, заработанная на конференциях и митапах, будет приятным бонусом.
Иными словами, задача инженера своими действиями показать: «Вася Пупкин - крутой инженер».
Достигать этого вы будете через превосходную работу, проактивность, исполнительность, доклады или knowledge sharing - уже вторично.
По себе могу сказать, что времена, когда можно было строить карьеру, просто занимаясь своим делом и «прокачивая» hard skills, закончились.
People marketing плотно вошел в индустрию, и если не хотите встрять на 2-3 линии поддержки до самой пенсии, придется красиво одеваться и торговать лицом.
Поверьте мне, это окупится сполна.
В моем понимании личный бренд состоит из:
- узнаваемость в организации
- узнаваемость в индустрии в пределах одной страны
- узнаваемость в индустрии по всему миру
У нас на слуху имена Торвальдса и Столлмана.
Многие из нас так же знают Митчелла Хашимото и Брандона Грэгга.
Мы прекрасно знаем, что это за люди, мы прекрасно к ним относимся, и мы доверяем им и тому, что они говорят.
Личный бренд может решить (но необязательно решит) следующие задачи:
- прием на работу в желаемую компанию и/или желаемую должность
- продвижение идей внутри компании или индустрии
В Нидерландах личный бренд только упростит устройство на работу. Например, когда я устраивался на должность Cloud Architect, мне, как незнакомому организации лицу, нужно было подтвердить свои знания в 3 технических собеседованиях и одном тестовом задании.
Моему коллеге, который до этого работал в Philips на такой же позиции, было достаточно одного. Его background и запись в резюме сказали за него больше, чем он сам.
Однако нам обоим необходимо проводить подробное исследование, чтобы протолкнуть наши идеи: вы помните из моих предыдущих постов, что в NL в условной команде или департаменте все равны, и задавить авторитетом не получится.
В РФ (я предполагаю) дела обстоят несколько иначе. Приди я на очередной митап DevOps Moscow, буду выглядеть для тусовочки диковинной зверушкой (если только вся тусовочка не читает этот канал), мой доклад будут прогонять, а аудитория будет слушать вполуха (что ожидаемо).
В итоге, чтобы протолкнуть что-либо, мне нужно будет раз за разом выступать с первоклассными докладами, зарабатывая очки авторитета у аудитории.
Но по мере роста доверия доклад будет уменьшаться в размере: в нем будет меньше аргументов, потому что главный аргумент - сам докладчик. Он уже все, кому надо, доказал.
Похожим образом личный бренд может развиваться и в пределах одной организации, а узнаваемость в индустрии, заработанная на конференциях и митапах, будет приятным бонусом.
Иными словами, задача инженера своими действиями показать: «Вася Пупкин - крутой инженер».
Достигать этого вы будете через превосходную работу, проактивность, исполнительность, доклады или knowledge sharing - уже вторично.
По себе могу сказать, что времена, когда можно было строить карьеру, просто занимаясь своим делом и «прокачивая» hard skills, закончились.
People marketing плотно вошел в индустрию, и если не хотите встрять на 2-3 линии поддержки до самой пенсии, придется красиво одеваться и торговать лицом.
Поверьте мне, это окупится сполна.
А вот и обещанный доклад с конференции в Москве.
https://www.youtube.com/watch?v=LHnOhG1BtEE
P.S. Да, звук отстает.
https://www.youtube.com/watch?v=LHnOhG1BtEE
P.S. Да, звук отстает.
YouTube
DevOpsForum 2019 l Переезд в публичное облако (на примере AWS)
Карен Товмасян, Нидерланды
NewMotion, инженер-архитектор облачных решений
3 года опыта промышленной эксплуатации AWS, обладает сертификациями AWS Certified Solutions Architect Associate, AWS Certified Developer Associate
1) Вступительная часть: AWS vs…
NewMotion, инженер-архитектор облачных решений
3 года опыта промышленной эксплуатации AWS, обладает сертификациями AWS Certified Solutions Architect Associate, AWS Certified Developer Associate
1) Вступительная часть: AWS vs…
По моему недавнему посту про аварию Я.О я получил несколько сообщений, так что вот небольшое summary и мнение.
Нет, уничтожать инфраструктуру клиента не является нормальной или стандартной практикой облачных провайдеров.
Нет, клиент не должен создавать свои продукты, опираясь на то, что провайдер услуг будет их всячески ломать.
Но между клиентом и провайдером услуг есть так называемая shared responsibility модель (за что отвечает он, а за что клиент). Провайдер никогда не будет гарантировать вам, что железо, на котором живет ваша виртуальная машина, никогда не упадет. Провайдер так же не будет гарантировать, что его сотрудники никогда не допустят ошибок.
Провайдер чаще всего прямым текстом говорит, что берет на себя задачи по эксплуатации железа, но вы (клиент) несете ответственность за резервирование и дублирование данных. Вот ЭТО как раз-таки нормально, потому что провайдер отвечает за снижение операционной нагрузки клиента за счет модели managed service’ов (и именно так он и зарабатывает деньги).
Если провайдер дает вам какие-то гарантии, т.е. “у нас никогда ничего не падает вообще” - с таким провайдером не надо иметь дел от слова совсем.
Нет, наличие собственной инфраструктуры не уменьшает риска потери данных, оно переносит риск с провайдера услуг на вас. Если доверяете себе и своим сотрудникам больше, чем сотрудникам провайдера - не пользуйтесь услугами провайдера.
Нет, это ненормально, если провайдер гарантирует 100% uptime SLA. Если он гарантирует - подробно читайте условия SLA, найдете там много интересного (например, посмотрите SLA Cloudflare).
Нет, я не являюсь сотрудником AWS или другого облачного провайдера. Я не получаю от провайдеров денег, у меня нет партнерского соглашения ни с одним из них.
Я не являюсь евангелистом или, прости Боже, influencer’ом, и если когда либо стану - вы об этом узнаете первыми (после меня и работодателя).
Я крайне критично отношусь ко всем провайдерам и настоятельно рекомендую так делать своей публике.
Если есть неотвеченные вопросы - дайте знать.
(Ушел писать про Troposphere)
Нет, уничтожать инфраструктуру клиента не является нормальной или стандартной практикой облачных провайдеров.
Нет, клиент не должен создавать свои продукты, опираясь на то, что провайдер услуг будет их всячески ломать.
Но между клиентом и провайдером услуг есть так называемая shared responsibility модель (за что отвечает он, а за что клиент). Провайдер никогда не будет гарантировать вам, что железо, на котором живет ваша виртуальная машина, никогда не упадет. Провайдер так же не будет гарантировать, что его сотрудники никогда не допустят ошибок.
Провайдер чаще всего прямым текстом говорит, что берет на себя задачи по эксплуатации железа, но вы (клиент) несете ответственность за резервирование и дублирование данных. Вот ЭТО как раз-таки нормально, потому что провайдер отвечает за снижение операционной нагрузки клиента за счет модели managed service’ов (и именно так он и зарабатывает деньги).
Если провайдер дает вам какие-то гарантии, т.е. “у нас никогда ничего не падает вообще” - с таким провайдером не надо иметь дел от слова совсем.
Нет, наличие собственной инфраструктуры не уменьшает риска потери данных, оно переносит риск с провайдера услуг на вас. Если доверяете себе и своим сотрудникам больше, чем сотрудникам провайдера - не пользуйтесь услугами провайдера.
Нет, это ненормально, если провайдер гарантирует 100% uptime SLA. Если он гарантирует - подробно читайте условия SLA, найдете там много интересного (например, посмотрите SLA Cloudflare).
Нет, я не являюсь сотрудником AWS или другого облачного провайдера. Я не получаю от провайдеров денег, у меня нет партнерского соглашения ни с одним из них.
Я не являюсь евангелистом или, прости Боже, influencer’ом, и если когда либо стану - вы об этом узнаете первыми (после меня и работодателя).
Я крайне критично отношусь ко всем провайдерам и настоятельно рекомендую так делать своей публике.
Если есть неотвеченные вопросы - дайте знать.
(Ушел писать про Troposphere)
Материал по Troposphere занимает гораздо больше времени, чем хотелось бы, но такого рода статью лучше преподнести позже, но подготовленнее.
Вот вам немного спойлеров для затравки:
«Когда Bool совсем не Bool.»
«Получаем гибкость Python и его же проблемы.»
«cfn-lint испортит вам все удовольствие.»
«Документацию пишет мизантроп-социопат.»
И много-много других подводных камней, которые я любезно собираю, чтобы выложить перед вами.
Оставайтесь на связи. ;)
Вот вам немного спойлеров для затравки:
«Когда Bool совсем не Bool.»
«Получаем гибкость Python и его же проблемы.»
«cfn-lint испортит вам все удовольствие.»
«Документацию пишет мизантроп-социопат.»
И много-много других подводных камней, которые я любезно собираю, чтобы выложить перед вами.
Оставайтесь на связи. ;)
Почему Medium и почему на английском?
Потому что работать над личным брендом нужно по всем фронтам, и так получилось, что ЦА над которой я начинаю работать не говорит по-русски. Medium же популярная платформа, только и всего.
Заменит ли Medium мой канал? Абсолютно нет, потому что Medium - мой инструмент продвижения, Телега - мое хобби.
Всякие лонгриды будут идти в Медиум (результаты исследований, не попадающие под NDA, и прочие интересные материалы), что-то по чтению не больше 2 минут - в канал.
По итогам работы с Troposphere могу сказать лишь одно: динамическая типизация - зло.
Потому что работать над личным брендом нужно по всем фронтам, и так получилось, что ЦА над которой я начинаю работать не говорит по-русски. Medium же популярная платформа, только и всего.
Заменит ли Medium мой канал? Абсолютно нет, потому что Medium - мой инструмент продвижения, Телега - мое хобби.
Всякие лонгриды будут идти в Медиум (результаты исследований, не попадающие под NDA, и прочие интересные материалы), что-то по чтению не больше 2 минут - в канал.
По итогам работы с Troposphere могу сказать лишь одно: динамическая типизация - зло.
Мой близкий друг и соратник @sonkintammio с месяц назад сподвиг меня приобрести электронную книжку.
Надо сказать, до этого я читал книги с телефона или компьютера, что приводило к уставшим глазам и плохо усвоенной информации (попробуй пойми прочитанное, когда в тебя со всех сторон нотификации стреляют).
Важным вопросом для меня был возврат инвестиций. Покупать устройство за 80 USD и класть его в полку не хотелось.
Женя в свою очередь убедил меня, что книжки я после этого буду пихать, как не в себя, и оказался прав.
С момента покупки (20ые числа апреля), я прочитал Site Reliability Engineering, Site Reliability Workbook, Systems Performance и Database Reliability Engineering.
На данный момент давлюсь Thinking: Fast and Slow (@count0ru, я смогу!), на очереди: Designing Distributed Systems.
Получается где-то по книжке в неделю (до этого была в лучшем случае одна в месяц).
Спасибо, Жека!
Надо сказать, до этого я читал книги с телефона или компьютера, что приводило к уставшим глазам и плохо усвоенной информации (попробуй пойми прочитанное, когда в тебя со всех сторон нотификации стреляют).
Важным вопросом для меня был возврат инвестиций. Покупать устройство за 80 USD и класть его в полку не хотелось.
Женя в свою очередь убедил меня, что книжки я после этого буду пихать, как не в себя, и оказался прав.
С момента покупки (20ые числа апреля), я прочитал Site Reliability Engineering, Site Reliability Workbook, Systems Performance и Database Reliability Engineering.
На данный момент давлюсь Thinking: Fast and Slow (@count0ru, я смогу!), на очереди: Designing Distributed Systems.
Получается где-то по книжке в неделю (до этого была в лучшем случае одна в месяц).
Спасибо, Жека!
Вот эта статья (https://advancedweb.hu/2019/05/28/aws_config_credentials/) воистину “ор выше гор”.
Советы в ней из разряда “мойте руки перед едой и после туалета”, что огорчает меня еще больше.
Тема аутентификации в AWS прожевана вдоль и поперек, давно рекомендуется не использовать IAM пользователей и группы, а аутентификацию и авторизацию делать через IAM роли. Для пользователей - использовать SAML и опять же заставлять их assume’ить роль. Для EC2 - Instance Profile’ы.
При этом в статье нет таких полезностей как авторизовывать операцию sts:AssumeRole через Conditions (а там тоже много вкусного, от проверки MFA до Source IP Address).
В целом статья выглядит даже не как повторение всем известных постулатов, а очередной Security 101.
При всем при этом тему можно развить! Добавить туда такие вещи как Hashicorp Vault, Secrets Manager, SSM Parameter Store и сделать из посредственной материала настоящую рафаэлку.
Советы в ней из разряда “мойте руки перед едой и после туалета”, что огорчает меня еще больше.
Тема аутентификации в AWS прожевана вдоль и поперек, давно рекомендуется не использовать IAM пользователей и группы, а аутентификацию и авторизацию делать через IAM роли. Для пользователей - использовать SAML и опять же заставлять их assume’ить роль. Для EC2 - Instance Profile’ы.
При этом в статье нет таких полезностей как авторизовывать операцию sts:AssumeRole через Conditions (а там тоже много вкусного, от проверки MFA до Source IP Address).
В целом статья выглядит даже не как повторение всем известных постулатов, а очередной Security 101.
При всем при этом тему можно развить! Добавить туда такие вещи как Hashicorp Vault, Secrets Manager, SSM Parameter Store и сделать из посредственной материала настоящую рафаэлку.
advancedweb.hu
Why AWS access and secret keys should not be in the codebase
Setting AWS.config.credentials is a bad practice. And it is also unnecessary.
То есть я отвлекся на новую статью, а за это время отвалился GCP и горит ЦОД в Москве?
Вчерашней историей навеяло.
Когда мне нужно рисовать стрелочки и квадратики с fault tolerance in mind, я спрашиваю заказчика про RPO (recovery point objective) и RTO (recovery time objective).
Кто не в курсе - это состояние системы к моменту восстановления, например как с PITR в СУБД (RPO), и время восстановления рабочего состояния системы, с момента оповещения до момента восстановления (RTO).
Если заказчик не знает таких аббревиатур, то разговор становится чуть длиннее.
Я предлагаю заказчику представить, что система не работает Х минут. При чем не в стиле «представьте, что сервер лежит Х минут», а именно система не работает Х минут.
Если заказчиком выступает неопытный С уровень или нетехнический контингент, я преддагаю заказчику представить, что он не может (здесь используется контекст) загрузить главную страницу в течение 20 секунд (или документ, или картиночку с котиками - любой контекст подойдет). Если заказчик говорит, что ему «норм», цифра увеличивается до тех пор, пока заказчик не начинает ерзать на стуле.
В тот момент, когда заказчик, словно раджа из «Золотой антилопы», кричит «Довольно!», я записываю RTO и перехожу к похожей пытке про RPO («Сколько заказов вы готовы безвозвратно потерять при аварии?»).
Когда эти цифры получены, можно начинать соединять квадратики и кружочки стрелочками.
Проектируя вычислительные системы в Амазоне, я отталкиваюсь от следующих степеней паранойи: отказ экземпляра ЕС2, отказ AZ, отказ какого-то сервиса в регионе, отказ целого региона. Тоже самое делается с данными.
На одном проекте, задействующем S3, я настоял на настройке cross-region replication. Объем данных был довольно большой, гарантии доступа к данными должны были быть предоставлены, но мой страх потери доступа к корзине был встречен смешками о «типичной восточно-европейской пугливости».
После марта 2017 никто уже не смеялся (угадайте в каком регионе была основная корзина?).
Когда мне нужно рисовать стрелочки и квадратики с fault tolerance in mind, я спрашиваю заказчика про RPO (recovery point objective) и RTO (recovery time objective).
Кто не в курсе - это состояние системы к моменту восстановления, например как с PITR в СУБД (RPO), и время восстановления рабочего состояния системы, с момента оповещения до момента восстановления (RTO).
Если заказчик не знает таких аббревиатур, то разговор становится чуть длиннее.
Я предлагаю заказчику представить, что система не работает Х минут. При чем не в стиле «представьте, что сервер лежит Х минут», а именно система не работает Х минут.
Если заказчиком выступает неопытный С уровень или нетехнический контингент, я преддагаю заказчику представить, что он не может (здесь используется контекст) загрузить главную страницу в течение 20 секунд (или документ, или картиночку с котиками - любой контекст подойдет). Если заказчик говорит, что ему «норм», цифра увеличивается до тех пор, пока заказчик не начинает ерзать на стуле.
В тот момент, когда заказчик, словно раджа из «Золотой антилопы», кричит «Довольно!», я записываю RTO и перехожу к похожей пытке про RPO («Сколько заказов вы готовы безвозвратно потерять при аварии?»).
Когда эти цифры получены, можно начинать соединять квадратики и кружочки стрелочками.
Проектируя вычислительные системы в Амазоне, я отталкиваюсь от следующих степеней паранойи: отказ экземпляра ЕС2, отказ AZ, отказ какого-то сервиса в регионе, отказ целого региона. Тоже самое делается с данными.
На одном проекте, задействующем S3, я настоял на настройке cross-region replication. Объем данных был довольно большой, гарантии доступа к данными должны были быть предоставлены, но мой страх потери доступа к корзине был встречен смешками о «типичной восточно-европейской пугливости».
После марта 2017 никто уже не смеялся (угадайте в каком регионе была основная корзина?).
Совсем забыл.
В Москве 18.06 пройдет AWS Dev Day.
Вы сами прекрасно знаете, про что он и для кого.
Подробности и регистрация тут: http://amp.gs/dG67
Обнимите там Стекова от меня. 😉
В Москве 18.06 пройдет AWS Dev Day.
Вы сами прекрасно знаете, про что он и для кого.
Подробности и регистрация тут: http://amp.gs/dG67
Обнимите там Стекова от меня. 😉
А вот эта история посвящается @count0ru: https://bit.ly/2WlXi9d
Medium
Response to
A story of fully automated configuration management with SSM, Lambda and Fargate
Я привык думать, что ИТ бардак присутствует в основном в молодых проектах и направлениях, где кучке смузихлебов без опыта доверено Принимать Решения.
Однако все не так плохо! Все гораздо хуже: http://stefanoborini.com/current-status-of-python-packaging/
Однако все не так плохо! Все гораздо хуже: http://stefanoborini.com/current-status-of-python-packaging/
Fly, Crash, Raise Exception
Current Status of Python Packaging - 2019
In this post, I will try to explain the intricate details of python packaging. I spent the best part of my evenings in the past two months to gather as much information as possible about the problem, the current solutions, what is legacy and what is not.