Раз, два… 2FA

24 марта 2023
Раз, два… 2FA

В этом дайджесте расскажем про новые требования безопасности GitHub, магическую платформу Juju от Canonical, а также про инструмент для долгосрочного хранения метрик Prometheus. На закуску посмотрим, как работает фреймворк тестирования Appium. Приятного чтения!

Добровольно-принудительно

Многие веб-сервисы настоятельно рекомендуют двухфакторную авторизацию для всех пользователей. Она существенно повышает уровень защиты от несанкционированного доступа к пользовательскому аккаунту. Раньше Github не требовал 2FA, но правила игры изменились.

Разработчики сервиса уведомили в своём блоге, что с 13 марта 2023 начнут внедрение двухфакторной авторизации. Чтобы не вызвать недовольства, эта инициатива будет внедряться постепенно. Первыми уведомления получат небольшие группы администраторов и программистов. Уведомлять будут письмом на почте и соответствующим баннером на главной странице.

С момента получения такого уведомления в течение 45 дней нужно включить один или несколько возможных способов 2FA. До истечения этого срока Github не будет влиять на аккаунт, разве что может прислать ещё напоминаний. Уведомление можно будет разово подвинуть на срок до недели. 

 

Github не требовал 2FA

Отсрочка станет доступна, как только вы авторизуетесь в аккаунте. Даже если срок 45 дней истёк, а вы, к примеру, были в отпуске, то ничего страшного. Вы всё равно сможете отложить уведомление на 7 дней.

Если уведомления отложены и просрочены, то доступ к учётной записи будет ограничен. Важно серьёзно отнестись к этому нововведению, ведь оно сделает вашу работу с GitHub безопаснее. А проще всего не дожидаться уведомлений и заблаговременно подключить 2FA.

Каноничный Juju

С чем у вас ассоциируется компания Canonical? Наверняка с их знаменитого дистрибутива Ubuntu. 20 лет назад Linux прекрасно работал на серверах и уже тогда заслужил уважение системных администраторов. Но вот для широкой аудитории Linux никак не годился. Canonical приложили массу усилий, чтобы сделать его удобным для простых пользователей на обычных компьютерах. 

Интернет в то время был дорог и доступен не всем. Чтобы не скачивать дистрибутив, можно было заполнить заявку и оставить свой домашний адрес. Через пару недель вы находили компакт-диск в своём почтовом ящике. Удивительно гуманный подход к распространению Linux. Кстати, слово «ubuntu» родом из Африки. С языка зулу оно переводится как «человечность».

Компания Canonical делает много разных продуктов помимо Ubuntu. Один из них — Juju. Этим словом в Западной Африке обозначают религиозные и магические практики. От привлечения удачи и до защиты от злых духов — всё это Juju, то есть то, чем занимается современный DevOps. А если серьёзно, то Juju — это интересная платформа для управления приложениями, чем-то схожая с Kubernetes. Основное отличие в том, что она не ограничивается только контейнерами и может рулить любыми виртуальными машинами, облаками и даже bare-metal серверами.

Juju написан на Golang и это предполагает более высокий порог входа, чем у Chef или Ansible. Базовая единица платформы называется Charm (амулет), некий собственный формат сценариев. Правда, в отличие от Ansible, Juju использует декларативный подход. Так что в Charms входят зависимости и действия при поступлении внешних ивентов. Разрабатывать их можно через Charmed Operator SDK, а управлять через OLM (Operator Lifecycle Manager). Общедоступный репозиторий для Charms называется Charmhub и содержит коллекции сценариев и метаданных.

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

В этой бочке мёда есть только одна ложка дёгтя. Если создавать свои Charms, то придётся писать кучу абстракций, править множество конфигов и раскладывать файлы по нужным местам. То есть ровно то, что обычно делается с помощью Ansible. Однако, рассматривать его в роли конкурента не совсем правильно. Juju, Ansible и Terraform делают упор на разные концепции и в некоторых случаях могут дополнять друг друга. Так что если вы ни разу не пробовали Juju, то это хороший повод взглянуть на эту платформу и сделать собственные выводы.

Безумный титан

Связка из Prometheus и Grafana давно стала отраслевым стандартом. Единственным «недостатком» Prometheus можно считать то, что он не рассчитан на долгосрочное хранение метрик. Это неудивительно, ведь он создавался в стенах компании SoundCloud и предназначался, чтобы хранить метрики лишь несколько дней. Созданная ими система идеально подошла не только для оперативного мониторинга оборудования, но и для различных бизнес-метрик. Логично, что сразу возник запрос на их долговременное хранение. Таких решений несколько, например VictoriaMetrics или Cortex, но сегодня мы поговорим о Thanos.

Проект Thanos решает проблему долгосрочного хранения метрик Prometheus, позволяя построить high availability хранилище. Его особенности: неограниченный размер, нативная интеграция и обеспечение global query view. Разработчики Thanos справедливо рассудили, что можно поручить сохранность данных облачным провайдерам. Метрики, собранные Prometheus, отправляются в любое S3-совместимое объектное хранилище или Google Cloud Storage. Требуется лишь заранее создать bucket, куда будут складываться метрики.

Архитектурно Thanos представляет собой несколько компонентов. Каждый экземпляр Prometheus независим, поэтому для их «объединения» нужно развернуть рядом с ним компонент Sidecar. Он действует словно прокси-сервер, обслуживая локальные данные и извлекая их по запросу компонента Querier. Тот, в свою очередь, объединяет ответы от всех экземпляров Sidecar, обрабатывая их и формируя глобальное представление данных.

Автоматизация с Appium

Философия DevOps предполагает постоянную связь между разными специалистами. Разработчики создают код, тестировщики его проверяют, а администраторы занимаются вопросами эксплуатации. Такая схема может быть успешной, когда каждый этап максимально автоматизирован. Если ваш проект касается мобильной разработки или нативной разработки под Windows/Mac, то часть забот по контролю качества можно поручить такой штуке, как Appium. Это фреймворк автоматизации тестирования с открытым исходным кодом.

Основная идея и философия проекта в том, что нативным приложениям для тестирования не нужна перекомпиляция или SDK. Писать тесты можно на разных языках, например, Python, Java или Ruby. Как и Selenium, фреймворк поддерживает WebDriver API, а также клиентские библиотеки для разных языков программирования.

Схема взаимодействия, в упрощённом виде, выглядит следующим образом. Необходимые действия теста (например, клики / пользовательский ввод / поиск и тому подобное) направляются на сервер Appium. Тот имеет в арсенале комплект драйверов под разные операционные системы:

Сервер общается с драйвером по HTTP. Последний использует штатные фреймворки, такие как XCUITest и UIAutomator, для воздействия на приложение. Appium легко встраивается в пайплайны, когда тесты выполняются на реальных устройствах. Если же использовать его с облачными фермами, то это ещё проще. Например, в AWS Device Farm или BrowserStack тесты Appium можно запускать «из коробки». Так что если вы не сталкивались с этим фреймворком, то он может вас приятно удивить.

Митапы

Онлайн

DevOps Meetup

12 апреля 2023

 

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

Интересуетесь нашими мероприятиями? В Telegram-канале Evrone meetups мы выкладываем анонсы с подробными описаниями докладов, а также студийные записи прошедших митапов. Тем для кого выступать в новинку, мы оказываем всяческую поддержку и помогаем оформить экспертизу в яркое выступление. Подписывайтесь и пишите @andrew_aquariuss, чтобы узнать подробности.

Регистрация

Вакансии

Удаленка / Офис

Evrone 

 

Мы открыты для новых DevOps-инженеров. В Evrone можно работать удалённо с первого дня, мы поддерживаем и оплачиваем участие в Open-source проектах, а расти в грейдах можно с помощью честной системы проверки навыков и менторства.

Подробнее

Подписаться
на Digest →
Важные новости и мероприятия без спама
Технологии которыми вы владеете и которые вам интересны
Ваш адрес электронной почты в безопасности - вот наша политика конфиденциальности.