Как стать автором
Обновить
0
0
Александр @Shumilin

DevOps

Отправить сообщение

Удобный CI/CD доступен каждому

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров14K

Привет, Хабр! Недавно я выступал на Moscow Python Conf, где делился нашим опытом создания и использования CI/CD пайплайнов. В данной статье я расскажу об этих пайплайнах, раскрою их особенности и покажу, как они помогают нам быстро доставлять код и поддерживать высокий показатель Time To Market. Надеюсь, что наш опыт будет полезен и вам.

Читать далее
Всего голосов 19: ↑17 и ↓2+19
Комментарии13

Тестирование новых версий сервисов с помощью Canary Deployment (Kubernetes)

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.2K

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

 В  данной статье я  рассмотрел основную проблему в выпуске новых версий приложений в production, также описал суть canary deployment и процесс развертывания с помощью Kubernetes.

Читать далее
Всего голосов 4: ↑1 и ↓3-2
Комментарии4

Тайны пингвина: как работают исключения и прерывания в Linux?

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров15K

image


Привет, хабр! Моя прошлая статья о работе памяти в Linux вам понравилась. Сегодня мы разберем работу исключений и прерываний.


Что это, как они работают в ОС и Linux? Давайте разберемся вместе!

Читать дальше →
Всего голосов 31: ↑25 и ↓6+29
Комментарии8

Что происходит, когда запускаешь «Hello World» в Linux

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров28K

Сегодня я задумалась о том, что происходит, когда запускаешь в Linux простую программу «Hello World» на Python.

print("hello world")

Вот как это выглядит в командной строке:

$ python3 hello.py
hello world

Но внутри происходит гораздо больше. Я объясню, что там творится, и, что гораздо важнее, расскажу об инструментах, при помощи которых вы сами сможете исследовать происходящее. Мы воспользуемся readelf, strace, ldd, debugfs, /proc, ltrace, dd и stat. Я не буду рассматривать относящиеся к Python части, только объясню, что происходит при выполнении динамически компонуемых исполняемых файлов.
Читать дальше →
Всего голосов 98: ↑98 и ↓0+98
Комментарии10

4 важных отличия DevOps от SRE

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров6.4K

Если вы знаете, что такое Site Reliability Engineering, вам может быть интересно, как эти практики связаны с DevOps. Важно сразу оговориться, что мы не ставим между ними слово «против». Хотя у этих подходов есть некоторые отличия в том, как лучше делать и быстрее доставлять программное обеспечение. В этом посте разберём каждый подход и выясним, чем отличаются DevOps и SRE. Вы заметите, что у подхода SRE есть своё мнение по поводу запуска производственных систем, в то время как DevOps больше фокусируется на людях, процессах и инструментах — именно в этом порядке.

Читать далее
Всего голосов 8: ↑7 и ↓1+8
Комментарии3

Чеклист для запуска или миграции приложений в Kubernetes

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров6K

Привет! Меня зовут Сергей Птушкин, в этом посте я поделюсь с вами нашим чеклистом для оперативного и безболезненного переезда в Kubernetes. У SM Lab очень много разных продуктов, а как следствие — разных команд разработчиков и администраторов. У всех своя архитектура, стек, любимые языки программирования, SLA и требования по нагрузке.

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

Итак, давайте разберем на примере нашей ситуации. Мы переезжали в Kubernetes из Mesos и Oracle Weblogic и знали, что разработчики тестируют приложения при помощи docker-compose или локально на станциях. Нам нужно было придумать единый подход для следующих возможностей:

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии3

Приложение Getcontact светит вашими персональными данными, даже если вы им никогда не пользовались

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров152K

Getcontact — мобильное приложение, позиционирующее себя как менеджер звонков и блокировщик спама. Появилось в конце 2017-го и стремительно взлетело на первые места магазинов приложений. Создатели сервиса оценивают свою аудиторию в 400+ миллионов пользователей.

Приложение декларирует, казалось бы, благие намерения: предотвращение нежелательных звонков от спамеров и телефонных мошенников — услуга в современном мире необходимая и востребованная. Однако свою популярность Getcontact приобрёл совсем по другой причине…

Читать далее
Всего голосов 142: ↑137 и ↓5+162
Комментарии277

Мой новый домашний сервер, часть 1: выбор железа

Время на прочтение8 мин
Количество просмотров95K
Не то, чтобы это было кому-то интересно, но на такую тему тексты пишутся легко и непринуждённо, потому решил написать. Разбив на несколько частей — про выбор железа, выбор софта, сборку (хотя тут не уверен, это обычно самое скучное) и настройку софта (там уже повеселее).

Домашний сервер у меня дома уже много лет существует. По-моему, первый был на базе к6-2 собран ещё в начале нулевых. С того времени сменилось много разных вариантов, быстрых и медленных, больших и маленьких, виндовых и линуксовых. Последние десять лет сервером у меня работает HP Microserver, сперва был Gen7, а где-то с 2015 — Gen8, который был куплен с целероном и двумя гигабайтами ОЗУ, а затем «прокачан» до Xeon'a и 16GB (максимум).

На фото — момент переезда из gen7 в gen8.


Читать дальше →
Всего голосов 66: ↑62 и ↓4+68
Комментарии407

Carbonyl — графический веб-браузер для Linux-консолей

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров15K

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

Большинство основных дистрибутивов Linux поставляются с предустановленными Firefox или Falkon. И идея текстового браузера для консоли Linux может показаться абсурдной. В конце концов, первые браузеры были основаны на графическом интерфейсе, а современный Интернет так вообще состоит из графики и JavaScript — элементов, с которыми консольным браузерам трудно или даже невозможно работать. Но именно эта несовместимость с современной Сетью делает консольные браузеры такими привлекательными для некоторых пользователей. Для этого есть несколько причин. Интерфейсы таких браузеров чрезвычайно просты в компоновке и работают очень быстро. Текстовые браузеры требуют меньше пропускной способности для работы, и загружают страницы намного быстрее, чем графические. Кроме того, графические браузеры потребляют больше ресурсов ЦП для Javascript, CSS и т. д. Также изображения, автоматически воспроизводимые видео и звуковые эффекты могут отвлекать внимание пользователя.

Но как можно сохранить малое потребление ресурсов ЦП текстовых браузеров, при этом отображая графику через консоль?

Через Carbonyl.
Читать дальше →
Всего голосов 30: ↑24 и ↓6+28
Комментарии12

Как легко пройти собеседование по Kubernetes в 2023 году?

Время на прочтение7 мин
Количество просмотров21K

Сегодня одним из самых популярных в использовании инструментов в стеке техкомпаний является Kubernetes. С момента своего выхода K8s получил массовое распространение, расширив свою экосистему и увеличив количество пользователей. В 2021 году CNCF (Cloud Native Computing Foundation) провел опрос, который показал, что 96% организаций (которые приняли в нём участие) используют или уже пробуют Kubernetes в своем технологическом стеке.

Читать далее
Всего голосов 12: ↑10 и ↓2+9
Комментарии11

Надеть Telegram на OpenVPN и завернуть это в Docker

Время на прочтение8 мин
Количество просмотров16K

Мигрируя в этом году свою инфраструктуру в новый датацентр, поймал себя на мысли о том, что возраст моей виртуальной частной сети (VPN) для доступа к серверам и устройствам перевалил за 10 лет.

Мой старый товарищ OpenVPN ни разу не подвел меня.

Подумав обо всех неудобствах и издержках я решил улучшить имеющийся механизм управления всем VPN-хозяйством.

Под катом вы найдете детали того, что получилось. Кратко, результат следующий: композиция из двух docker-контейнеров, которые превращаются в telegram-бота для управления VPN сервисом. И для этого нужно выполнить всего две команды в консоле.

Механизм управления VPN сервисом теперь не требует каких-либо навыков системного администрирования или доступа к Linux-консоли при выполнении рутинных операций. Например, чтобы сделать сертификаты новому пользователю вам достаточно иметь телефон с telegram-клиентом.

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

Полезного чтения
Всего голосов 23: ↑21 и ↓2+20
Комментарии2

Как обеспечивать качество при релизах раз в час

Время на прочтение12 мин
Количество просмотров13K

Привет, я Михаил Шваркунов, директор по качеству ВКонтакте. Расскажу, как выглядят наши ежечасные релизы с точки зрения тестирования: как мы переложили часть задач по тестированию на разработчиков, сколько у нас автотестов и что мы ими покрываем. А ещё как команда тестирования сопровождает релиз, какие у нас при этом SLA и что делаем после. И вообще — зачем так часто что-то выкатывать? Что, нельзя подкопить и катать раз в день? 

Читать далее
Всего голосов 30: ↑30 и ↓0+30
Комментарии12

Argo Rollouts с примерами

Время на прочтение13 мин
Количество просмотров3.6K

Что такое Argo Rollouts? Это контроллер Kubernetes и набор CRD для дополнительных возможностей развёртывания — сине-зелёное, канареечное, прогрессивное, анализ канареечного развёртывания и экспериментирование.

В этой статье поговорим о продвинутых возможностях развёртывания с кастомными ресурсами Kubernetes.

Читать далее
Всего голосов 8: ↑7 и ↓1+7
Комментарии0

RabbitMQ: терминология и базовые сущности

Время на прочтение8 мин
Количество просмотров75K

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

Алексей Барабанов, IT-директор «Хлебница» и спикер курса «RabbitMQ для админов и разработчиков», подготовил конспект, который поможет понять терминологию и базовые сущности RabbitMQ.

Читать далее
Всего голосов 39: ↑37 и ↓2+37
Комментарии5

Наша новая удачная попытка бесшовной замены Redis на KeyDB

Время на прочтение5 мин
Количество просмотров14K

Мы уже как-то рассказывали о базе данных KeyDB — форке Redis, разработка которого началась в 2019 году. Проект распространяется под свободной лицензией BSD, и у него уже почти 6k звезд на GitHub. Авторы в свое время столкнулись с проблемами производительности оригинала и пошли хардкорным путём: взяли всё в свои руки и привнесли много нового как в части многопоточности, так и в других областях.

В статье делимся еще одним положительным опытом замены Redis на KeyDB.

Читать далее
Всего голосов 45: ↑45 и ↓0+45
Комментарии19

Service mesh в Kubernetes — знакомство с Istio

Время на прочтение4 мин
Количество просмотров9.3K

Развёртывать микросервисы на сервере — то ещё удовольствие, даже с Kubernetes. К тому же Kubernetes не занимается коммуникациями между сервисами. Для этой задачи мы привлекаем Istio — реализацию service mesh.

В Kubernetes мы развёртываем сервисы в подах, но как поды внутри Kubernetes общаются друг с другом и в чём тут загвоздка? Разберемся в этой статье. 

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии2

Возможности реализации 2ФА в ОС Linux

Время на прочтение7 мин
Количество просмотров5.2K

Данный текст не является руководством по внедрению двухфакторной аутентификации в Linux на основе токенов / смарт-карт. Подобные (и весьма подробные) руководства вы сможете найти как на сайтах производителей токенов, так и операционных систем. Я лишь хочу перечислить возможные варианты реализации 2ФА, а заодно побудить ответственных за информационную безопасность предприятия реализовать столь необходимую защиту от кражи паролей пользователей.

Почитаю дальше
Всего голосов 5: ↑4 и ↓1+4
Комментарии0

TCP BBR: быстрый и простой способ ускорения загрузки страниц. Доклад Яндекса

Время на прочтение11 мин
Количество просмотров17K
Современные протоколы прикладного уровня используют для ускорения передачи данных мультиплексирование, которое повышает требования к надёжности канала. На конференции YaTalks Александр Грянко phasma рассказал, как мы ускоряем загрузку страниц на каналах с большими потерями пакетов на примере протоколов HTTP/2 и TCP BBR.

— Привет. Я Саша, работаю в Яндексе, в последние три года занимаюсь разработкой L7-балансировщика нагрузки. Расскажу о быстром и простом способе ускорения сети. Мы начнем с седьмого уровня, HTTP, и опустимся к четвертому уровню, TCP. Сегодня мы поговорим только об этих двух уровнях и остановимся на них довольно подробно.

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

Но я могу вам посоветовать, как ускорить вашу сеть с помощью оптимизации самого сервера, самой операционной системы.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии4

Насколько круто иметь свой сервер в комнате

Время на прочтение6 мин
Количество просмотров116K

Некоторые олды часто вспоминают эпоху до смартфонов, когда в студенческие времена или в школе у них был любимый настольный компьютер. Он стоял прямо в комнате, рядом с кроватью, и работал как личный ассистент в режиме 24/7: играл фоновую музыку (со специальным плейлистом, когда в гости приходили девушки), показывал фильмы, будил уведомлением из аськи или ирки, скачивал сайты ночью по диалапу и т. д.

Но кажется, что эта эпоха возвращается. Только на новом уровне. Сейчас опять стало очень круто иметь в комнате свой сервер, только он выглядит иначе и выполняет другие функции.
Читать дальше →
Всего голосов 117: ↑116 и ↓1+146
Комментарии317

Так ли страшен Пингвин в 2022 году. Офисные пакеты в Linux

Время на прочтение5 мин
Количество просмотров23K

Вас «пересадили» на Linux (добровольно-принудительно прошел этот процесс, это отдельный вопрос) и вам нужно в нем продолжать работать. Мне, как человеку знакомому с Linuux не только на «вы», но и причастному к ее разработке в 2008–2014  годах, стало интересно, а что может получить пользователь в 2022 году в разных областях применения ОС и как я сам буду воспринимать систему через 10 лет «виндопользования»? Начать я решил с офисных пакетов, а потом постараюсь пробежаться по другим аспектам «по заявкам пользователей» из комментариев.

Читать далее
Всего голосов 12: ↑9 и ↓3+9
Комментарии78

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность