Pull to refresh
0
0
Send message
Для айтишника, погруженного в работу, идеальный мир – это когда все бытовые вопросы можно решить в несколько «кликов» – в приложениях или сервисах в сети. Реальность же заставляет интроверта вживую общаться с незнакомыми людьми. Например, при аренде жилья. Правда, прогресс добрался и сюда, позволяя обойтись без контактов с людьми и при этом быть уверенным в безопасности и комфорте. Вот он настал — момент, который ненавидит большинство интровертов: нужно найти и снять квартиру. И как бы ни был всесилен интернет, придется выходить из зоны комфорта. Через «не могу» общаться с большим количеством людей, ездить на просмотры, обговаривать условия с риелторами и владельцами. Задавать неудобные вопросы и формулировать ожидаемые ответы.
Читать далее
Total votes 36: ↑32 and ↓4+28
Comments31

Как на самом деле работает планировщик Kubernetes?

Reading time8 min
Views18K
Прим. перев.: Эта статья написана Julia Evans — инженером международной компании Stripe, специализирующейся на интернет-платежах. Разбираться во внутренностях работы планировщика Kubernetes её побудил периодически возникающий баг с «зависанием» пода, о котором около месяца назад также сообщили специалисты из Rancher Labs (issue 49314). Проблема была решена и позволила поделиться деталями о техническом устройстве одного из базовых механизмов Kubernetes, которые и представлены в этом статье с необходимыми выдержками из соответствующего кода проекта.



На этой неделе мне стали известны подробности о том, как работает планировщик Kubernetes, и я хочу поделиться ими с теми, кто готов погрузиться в дебри организации того, как это в действительности работает.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments3

Создаем самодостаточный Docker-кластер

Reading time12 min
Views27K

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


Как выглядит самодостаточная система? Какие ее основные части? Кто действующие лица? В этой статье мы обсудим только сервисы и проигнорируем тот факт, что железо также очень важно. Такими ограничениями мы составим картину высокого уровня, которая описывает (в основном) автономную систему с точки зрения сервисов. Мы опустим детали и взглянем на систему с высоты птичьего полёта.


Если вы хорошо разбираетесь в теме и хотите сразу всё понять, то система изображено на рисунке ниже.


self-sufficient-system

Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments17

Load Average в Linux: разгадка тайны

Reading time18 min
Views214K


Средние значения нагрузки (Load averages) — это критически важная для индустрии метрика. Многие компании тратят миллионы долларов, автоматически масштабируя облачные инстансы на основании этой и ряда других метрик. Но на Linux она окутана некой тайной. Отслеживание средней нагрузки на Linux — это задача, работающая в непрерываемом состоянии сна (uninterruptible sleep state). Почему? Я никогда не встречал объяснений. В этой статье я хочу разгадать эту тайну, и создать референс по средним значениям нагрузки для всех, кто пытается их интерпретировать.

Читать дальше →
Total votes 127: ↑125 and ↓2+123
Comments25

Тюнинг сетевого стека Linux для ленивых

Reading time5 min
Views90K

Сетевой стек Linux по умолчанию замечательно работает на десктопах. На серверах с нагрузкой чуть выше средней уже приходится разбираться как всё нужно правильно настраивать. На моей текущей работе этим приходится заниматься едва ли не в промышленных масштабах, так что без автоматизации никуда – объяснять каждому коллеге что и как устроено долго, а заставлять людей читать ≈300 страниц английского текста, перемешанного с кодом на C… Можно и нужно, но результаты будут не через час и не через день. Поэтому я попробовал накидать набор утилит для тюнинга сетевого стека и руководство по их использованию, не уходящее в специфические детали определённых задач, которое при этом остаётся достаточно компактным для того, чтобы его можно было прочитать меньше чем за час и вынести из него хоть какую-то пользу.

Читать дальше →
Total votes 94: ↑94 and ↓0+94
Comments45

В чём суть проекта Moby и почему главным репозиторием Docker вдруг стал moby/moby?

Reading time5 min
Views25K
Месяц назад компания Docker на конференции DockerCon 2017 официально представила свой новый Open Source-проект — Moby. Если это просто ещё один дополнительный проект, нужный кому-то, кто работает с Docker… то почему, как заметили внимательные пользователи, основной репозиторий компании в GitHub — docker/docker — стал пересылать на moby/moby?



Забегая вперёд и заранее отвечая на вопросы разработчиков, использующих Docker как простой способ запуска приложений в контейнерах: Moby — проект не для вас. Несмотря на его появление и происходящие внутри перестановки, «внешне» (для пользователей Docker как готового продукта) ничего не изменится. А для тех, кто настроен более глубоко разобраться в этих перестановках (весьма значимых!) и, возможно, даже воспользоваться ими для решения своих задач… начну с краткого экскурса в новейшую историю развития Docker.
Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments7

Феншуйная автоматизация CI & CD с помощью Jenkins и Jira

Reading time8 min
Views81K

image alt text


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


Рассказывать о долгом и тернистом пути всегда непросто. Однако за последние годы инфраструктура разработки Яндекс.Денег сделала большой шаг в сторону автоматизации самого важного для нас процесса — релиза, о чем просто грех не рассказать. Фактически получилось полноценное решение Continuous Integration и Continuous Delivery на базе связки Bitbucket, Jenkins и Jira.

Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments10

Книга «Философия DevOps. Искусство управления IT»

Reading time6 min
Views24K
image Привет, Хаброжители! Наконец-то у нас вышла книга Дженнифер Дэвис и Кэтрин Дэниелс — Философия DevOps.

IT-принцип «agile» стал мантрой цифровой эпохи. С ростом проектов, переходом от монолитных приложений к системе микросервисов, увеличением и накоплением продуктов возникают вопросы, которые требуют совершенно иного подхода. Теперь наибольший интерес вызывает находящаяся на стыке разработки и операционного управления методология DevOps.

DevOps — это не просто набор техник, это философия. Разработчики, зацикленные на пользователях, должны уделять внимание поддержке и ее запросам. Сисадмины должны сообщать о проблемах продукта и вносить свой вклад в улучшение процесса работы. Но налаживание связей внутри компании — это лишь первый шаг. Чтобы продукт стал простым и удобным, придется вложить время и ресурсы в его доработку. Конфигурация через центральную службу, внедрение простым копированием, отсутствие внешних зависимостей, обдуманные метрики вместо мусора в логах — вот лишь часть задач, которые придется решать на этом пути.
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments15

Системы инициализации Unix и Linux после SysV

Reading time6 min
Views23K

До середины 2000-х никому в голову не приходило менять sysvinit, почти никому. Gentoo с самого начала создавала и развивала OpenRC. Все изменилось с появлением launchd в Mac OS X. Разработчики Ubuntu бросились создавать Upstart, в котором были позаимствованы некоторые идеи из launchd. Дело шло ни шатко ни валко, но тут случился systemd и смешал все карты. Но кто же был истинным первопроходцем?




Daniel J. Bernstein математик и специалист по криптографии, автор популярного MTA qmail и множества других менее известных программ, среди которых выделяется daemontools. Для множества современных систем инициализации daemontools являлся примером и вдохновителем. Прошу внутрь для того, чтобы познакомиться с самой элегантной, простой и влиятельной системой управления службами в Unix / Linux.

Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments20

«Меньшими силами делать больше» — Кирилл Толкачёв об Альфа-Лаборатории

Reading time7 min
Views7.9K


Кирилл tolkkv Толкачёв — вероятно, самый известный в Java-мире сотрудник Альфа-Лаборатории: он активно выступает на Java-конференциях, давно участвует в подкасте «Разбор Полётов», а осенью стал сооснователем нового подкаста «Two Devs One Ops». Но как выглядит его работа в самой Альфа-Лаборатории, и насколько активно в компании используют все те инструменты, которые он упоминает в докладах и подкастах?

Кирилл выступил на прошедшей JPoint 2017, рассказав там совместно с Евгением Борисовым о «граблях» Spring Test/Spring Boot Test, а Альфа-Лаборатория стала спонсором JPoint — и мы решили, что на конференции удобно поймать его и расспросить обо всём этом.
Читать дальше →
Total votes 27: ↑23 and ↓4+19
Comments6

Лекции Технопарка. Курс «Алгоритмы и структуры данных» (осень 2016)

Reading time3 min
Views37K

image


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


  • «Введение. Исполнители. Абстракции интерфейсов. Рекурсия»;
  • «Жадные алгоритмы»;
  • «Сортировки»;
  • «Поиск. Списки»;
  • «Деревья»;
  • «Хеш-таблицы».

Четыре лекции курса читает Степан Мацкевич, руководитель группы извлечения онтологической информации в компании ABBYY. Он был ведущим программистом при написании серверной части продукта ABBYY InfoExtractor на основе технологии ABBYY Compreno (анализ текстов и перевода).


Еще две лекции ведет Георгий Иванов, разработчик Поиска Mail.Ru, занимающийся задачами обработки поисковых запросов.

Total votes 57: ↑54 and ↓3+51
Comments5

Самые полезные приёмы работы в командной строке Linux

Reading time5 min
Views156K
Каждый, кто пользуется командной строкой Linux, встречался со списками полезных советов. Каждый знает, что повседневные дела вполне можно выполнять эффективнее, да только вот одно лишь это знание, не подкреплённое практикой, никому не приносит пользы.

Как выглядят типичные трудовые будни системного администратора, который сидит на Linux? Если абстрагироваться от всего, кроме набираемых на клавиатуре команд, то окажется, что команды эти постоянно повторяются. Всё выходит на уровень автоматизма. И, если даже в работе есть что улучшать, привычка противится новому. Как результат, немало времени уходит на то, чтобы делать так, как привычнее, а не так, как быстрее, и, после небольшого периода привыкания – удобнее. Помнить об этом, сознательно вводить в собственную практику новые полезные мелочи – значит профессионально расти и развиваться, значит – экономить время, которое можно много на что потратить.

image

Перед вами – небольшой список полезных приёмов работы с командной строкой Linux. С некоторыми из них вы, возможно, уже знакомы, но успели их позабыть. А кое-что вполне может оказаться приятной находкой даже для знатоков. Хочется надеяться, что некоторые из них будут вам полезны и превратятся из «списка» в живые команды, которыми вы будете пользоваться каждый день.
Читать дальше →
Total votes 146: ↑130 and ↓16+114
Comments149

История успеха «Яндекс.Почты» с PostgreSQL

Reading time13 min
Views53K


Владимир Бородин (на «Хабре» dev1ant), системный администратор группы эксплуатации систем хранения данных в «Яндекс.Почте», знакомит со сложностями миграции крупного проекта с Oracle Database на PostgreSQL. Это — расшифровка доклада с конференции HighLoad++ 2016.

Всем привет! Меня зовут Вова, сегодня я буду рассказывать про базы данных «Яндекс.Почты».

Сначала несколько фактов, которые будут иметь значение в будущем. «Яндекс.Почта» — сервис достаточно старый: он был запущен в 2000 году, и потому мы накопили много legacy. У нас — как это принято и модно говорить — вполне себе highload-сервис, больше 10 миллионов пользователей в сутки, какие-то сотни миллионов всего. В бэкенд нам прилетает более 200 тысяч запросов в секунду в пике. Мы складываем более 150 миллионов писем в сутки, прошедших проверки на спам и вирусы. Суммарный объём писем за все 16 лет — больше 20 петабайт.

О чем пойдет речь? О том, как мы перевезли метаданные из Oracle в PostgreSQL. Метаданных там не петабайты — их чуть больше трехсот терабайт. В базы влетает более 250 тысяч запросов в секунду. Надо иметь в виду, что это маленькие OLTP-запросы, по большей части чтение (80%).

Это — не первая наша попытка избавиться от Oracle. В начале нулевых была попытка переехать на MySQL, она провалилась. В 2007 или 2008 была попытка написать что-то своё, она тоже провалилась. В обоих случаях был провал не столько по технически причинам, сколько по организационным.
Total votes 113: ↑111 and ↓2+109
Comments119

Отладка вашей ОС: урок по выделению памяти

Reading time13 min
Views27K

Всё началось, как и многие другие расследования, с баг-репорта.

Название отчёта было довольно простым: «При HTTP-подключении iter_content медленно работает с чанками большого размера». Подобное название немедленно включило у меня в голове сирену по двум причинам. Во-первых, довольно сложно определить, что здесь означает «медленно»? Насколько медленно? Насколько велик «большой размер»? Во-вторых, если бы описанное проявлялось действительно серьёзно, то мы бы об этом уже знали. Метод iter_content используется давно, и если бы он существенно притормаживал в распространённом пользовательском режиме, то мимо нас такая информация не прошла бы.
Читать дальше →
Total votes 88: ↑78 and ↓10+68
Comments21

Эффективное хранение: как мы из 50 Пб сделали 32 Пб

Reading time9 min
Views24K

Видео доклада




Текстовая Версия


Изменения курса рубля два года назад заставили нас задуматься о способах снижения стоимости железа для Почты Mail.Ru. Нам понадобилось уменьшить количество закупаемого железа и цену за хостинг. Чтобы найти, где сэкономить, давайте посмотрим, из чего состоит почта.


Индексы и тела писем составляют 15 % объёма, файлы — 85 %. Место для оптимизаций надо искать в файлах (аттачах в письмах). На тот момент у нас не была реализована дедупликация файлов; по нашим оценкам, она может дать экономию в 36 % всего объёма почты: многим пользователям приходят одинаковые письма (рассылки социальных сетей с картинками, магазинов с прайсами и т.д.). В этом посте я расскажу про реализацию такой системы, сделанной под руководством PSIAlt.
Total votes 87: ↑84 and ↓3+81
Comments88

Основы Kubernetes

Reading time13 min
Views838K
В этой публикации я хотел рассказать об интересной, но незаслуженно мало описанной на Хабре, системе управления контейнерами Kubernetes.

image

Что такое Kubernetes?


Kubernetes является проектом с открытым исходным кодом, предназначенным для управления кластером контейнеров Linux как единой системой. Kubernetes управляет и запускает контейнеры Docker на большом количестве хостов, а так же обеспечивает совместное размещение и репликацию большого количества контейнеров. Проект был начат Google и теперь поддерживается многими компаниями, среди которых Microsoft, RedHat, IBM и Docker.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments86

Мониторинг и настройка сетевого стека Linux: получение данных

Reading time71 min
Views79K


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

Также рекомендуем ознакомиться с иллюстрированным руководством на ту же тему, там есть поясняющие схемы и дополнительная информация.
Читать дальше →
Total votes 63: ↑60 and ↓3+57
Comments8

Обучаемся самостоятельно: подборка видеокурсов по Computer Science

Reading time11 min
Views127K
image

Содержание


  1. Введение в Computer Science
  2. Структуры данных и Алгоритмы
  3. Системное программирование
  4. Распределенные системы
  5. Базы данных
  6. Объектно-ориентированный дизайн и разработка софта
  7. Искусственный интеллект
  8. Машинное обучение
  9. Веб-разработка и интернет-технологии
  10. Concurrency
  11. Компьютерные сети
  12. Разработка мобильных приложений
  13. Математика для программистов
  14. Теория информатики и языки программирования
  15. Архитектура компьютера
  16. Безопасность
  17. Компьютерная графика
  18. Работа с изображениями и компьютерное зрение
  19. Интерфейс Человек-Компьютер
  20. Вычислительная биология
  21. Прочее

Total votes 78: ↑64 and ↓14+50
Comments23

Уничтожить SSD за 7 секунд: тактическая защита информации от несанкционированного доступа

Reading time7 min
Views81K
«Любую ценность контролирует лишь тот, кто в состоянии её уничтожить»
— Дюна, Фрэнк Герберт


На втором курсе универа мой одногруппник устроился на работу помощником админа. Через месяц в столовке он нам (был я и еще три одногруппника) похвастался, что написал софтину, которая позволяла ему качать файлы из интернета через корпоративный аккаунт (напомню, что по диалапу в те времена одна mp3шка качалась час). Другой одногруппник за пивасом рассказал это уже в своей компании друзей, а те без его ведома решили прикольнуться. Базы данных с номерами телефонов, адресов, ГАИ и прочие давно гуляли по рукам, городок маленький. Звонок:

— Евгений, добрый день, это сержант Иванов, отдел федеральной службы по расследованию информационных преступлений. У вас незаконное использование служебного положения, когда вы можете подойти к нам для дачи показаний?

Парень не появлялся в универе где-то неделю, а свой жесткий, дискеты и оперативку он измолотил в крошку.

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

Защита от несанкционированного доступа бывает не только софтовой, но и хардкорной. Ситуации всякие бывают, и защищать информацию приходится ценой ее жизни. «Так не достанься же ты никому!» или «Ultima ratio regum» (последний довод королей).

Сегодня — репортаж из лаборатории по оперативному уничтожению информации. (Спасибо эксперту по ИБ Олегу Позднякову из "Детектор Системс" за право доступа.)
Total votes 32: ↑31 and ↓1+30
Comments128

Пять инструментов systemd, которые стоит начать использовать прямо сейчас

Reading time4 min
Views30K

Эта статья призвана познакомить читателя с находящимся в арсенале systemd набором инструментов.


Когда наконец удается смириться с уходом systemd от тех принципов, что лежали в основе ветхозаветной System V с ее простыми текстовыми файлами и засильем скриптов, начинаешь видеть неоспоримые преимущества новой системы инициализации и поставляемых с ней инструментов. В этой статье мы поговорим о четырех из них, а также упомянем еще один, который вы наверняка уже знаете, но вряд ли использовали описанным здесь способом.

Читать дальше →
Total votes 43: ↑38 and ↓5+33
Comments30
1
23 ...

Information

Rating
Does not participate
Registered
Activity