Архив рубрики: What is?

Attempts to understand in some terms and concepts.

Redis: репликация, часть 1 — обзор. Replication vs Sharding. Sentinel vs Cluster. Топология Redis.

29 марта 2019
 

 Изначально планировался один небольшой пост с примером создания Redis-репликации, но по мере углубления в детали — захотелось описать всё больше и больше, а потому разбил материал на две части. В этой, обзорной — общие сведения, разница между различными типами хранения данных в Redis, примеры топологии. Достаточно кратко, но со ссылками на детальную документацию, плюс ссылки… Читать далее »

What is: chroot — системный вызов и утилита в Linux

23 марта 2019
 

 chroot() был добавлен в Version 7 Unix в 1979 году и используется для изоляции файловой системы. По сути, является предшественником вообще всей идеи нынешней контейнеризации, только в современных системах используются namespaces и cgroups, а раньше применяли chroot для создания изолированного от хоста рабочего окружения, которое могло использоваться для тестирования. Собственно, ch и root и является… Читать далее »

What is: YAML — общий обзор, типы данных, YAML vs JSON и PyYAML

14 марта 2019
 

 YAML — один из наиболее популярных форматов… Они сами не знают — форматом чего, на самом деле. Изначально он был «Yet Another Markup Language» — «Ещё один язык разметки», позже стал «YAML Ain’t Markup Language» — «YAML — не язык разметки» ((с) Wiki Rus и Wiki Eng): Originally YAML was said to mean Yet Another Markup… Читать далее »

What is: SSL/TLS в деталях

20 марта 2018
 

 Протоколы криптографии предоставляют возможность установления защищённых соединений между двумя удалёнными хостами. Два наиболее часто встречающихся набора протоколов — SSL/TLS, основная задача которых заключается в обеспечении конфидициальности передаваемых данных, обеспечении целостности данных (т.е. гарантирование того, что данные не были изменены или подменены во время доставки между узлами), а так же в обеспечении идентификации и аутенфикации ресурсов и… Читать далее »

What is: Linux namespaces, примеры PID и Network namespaces

10 марта 2018
 

 Данный пост обединяет в себе два других замечательных (на мой взгляд) поста на тему Namespaces в Linux — A Tutorial for Isolating Your System with Linux Namespaces и Introduction to Linux namespaces — Part 1: UTS, с небольшими дополнениями и изменениями. Тем не менее — крайне рекомендую к прочтению оба поста выше, и ознакомиться с другими ссылками из… Читать далее »

What is: Load Balancing — алгоритмы

27 февраля 2018
 

 Основной задачей балансировщика является определение того, какой из серверов из бекенд-пула может наиболее эффективно обработать входящий пакет данных. Для этого у балансировщика (Load Balancer, LB) имеется несколько алгоритмов, наличие и возможность применения которых зависит от типа LB и его настроек. Основное различие алгоритмов — это уровень их применения: 7-ой, Application (уровень приложения), 4-ый, Транспортный уровень… Читать далее »

What is: модель OSI

3 октября 2017
 

 Захотелось немного потрогать raw sockets на С, заодно решил описать модель OSI — набросок поста давно лежал в черновиках. Модель OSI Open System Interconnection (OSI) — набор протоколов, описывающих процесс взаимодействия по сети двух распределённых систем, независимо от их архитектуры. Модель OSI не является протоколом сама по себе, а описывает структуру для построения гибкой, отказоустойчивой и функционально… Читать далее »

Linux: C — адресное пространство процесса

17 сентября 2017
 

 Адресное пространство процесса на примере программы на C. Используемые утилиты и файлы: size /proc/$PID/maps objdump pmap Все примеры выполняются на ОС: С ядром: С использованием gcc:

What is: Infrastructure as Code

8 марта 2017
 

 Одним из наиболее важных трендов в IT за последние годы стало бурное развитие автоматизации и одновременно — уменьшение  необходимости во вмешательстве человека и выполнении каких-либо действий. Виртуализация дала нам возможность развёртывания новых окружений для девелоперов, в которых они могли бы делать их работу без опасений затронуть Production-систему, а гипервизоры, такие как Hyper-V или VMWare позволяют… Читать далее »

What is: ядро Linux

2 марта 2016
 

 Состоящее почти из 20 миллионов строк кода ядро Linux является одним из самых крупных Opensource проектов в мире. Что такое ядро Ядро представляет собой нижний уровень программного обеспечения, которое взаимодействует с оборудованием компьютера. Оно отвечает за взаимодействие всех приложений, которые работают в т.н. «пользовательском режиме» с физическим оборудованием и позволяет процессам передавать информацию друг другу с помощью inter-process communication… Читать далее »