28 мая 2021 г.

Хамзет Шогенов

О том, как облачные технологии помогают миру ИТ двигаться в сторону Open Source и какие решения с открытым исходным кодом наиболее востребованы крупными компаниями, рассказывает Хамзет Шогенов, архитектор облачной платформы Mail.ru Cloud Solutions.

Мир движется в сторону Open Source. Отношение к Linux как к «раковой опухоли» (Стив Балмер) сменилось вниманием к открытому коду. Теперь у Microsoft есть собственный дистрибутив (установочный пакет) Linux, хотя он и не предназначен для стандартных ПК. При этом вместе с пользовательскими редакциями Windows распространяется механизм Linux Subsystem. Он позволяет без труда развернуть любой популярный дистрибутив как отдельную подсистему. Пакеты Linux используются разработчиками и администраторами на Mac OS (Homebrew).

Исследование, которое провели специалисты Red Hat в прошлом году, показало, что сегмент Enterprise всерьез относится к открытому ПО. Стратегически важным его называют 95% руководителей ИТ-компаний (годом ранее так считали 89% участников аналогичного опроса). 77% респондентов предполагают, что рыночная доля решений с открытым кодом будет расти в обозримом будущем. Продукты с открытым кодом дополняют проприетарные решения, расширяя возможности ИТ-систем, а иногда — вытесняют их. Как правило, замена на Open Source происходит, когда есть большая пользовательская база. Нишевое ПО, где производители делают ставку на уникальность решения, остается проприетарным.

Раньше корпоративные заказчики относились к решениям Open Source настороженно. Это недоверие было небезосновательным. Использование такого ПО требует специальных компетенций, даже в тех случаях, когда компания приобретает услуги поддержки у сторонней компании. На стороне заказчика должны работать грамотные инженеры, досконально знающие используемые решения и способные, при необходимости, даже внести исправления в код.

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

Какие решения Open Source востребованы в облаках

Пожалуй, самый популярный среди корпоративных заказчиков, как крупных, так и небольших, Open Source-проект — операционная система CentOS. Это свободно распространяемая версия Red Hat Enterprise Linux. Анонсированный выпуск форка CentOS, думаю, сохранит популярность этого решения даже несмотря на прекращение официальной поддержки со стороны вендора.

В лидерах по популярности — и система управления базами данных (СУБД) PostgreSQL. Переход на этот сервис с решений Oracle и Microsoft стал явным трендом, актуальным для заказчиков любого уровня. Помимо PostgreSQL среди наиболее востребованных СУБД нужно отметить и MySQL. Кроме того, Mail.ru Group развивает такое решение, как Tarantool, платформу in-memory вычислений, которая отличается высокой скоростью работы. Это тоже решение с открытым исходным кодом.

Категория in-memory предполагает, что платформа хранит данные в оперативной памяти. При этом холодные, исторические данные можно перенести на диски. Данные всегда синхронизированы: все изменения учитываются в журнале транзакций. Кроме того, в Tarantool доступен выбор модели хранения: помимо классической таблицы можно использовать JSON или кортежи, если количество и имена полей заранее неизвестны. Наконец, Tarantool объединяет СУБД и сервер приложений, который исполняет код, написанный на Lua.

Среди аналитических СУБД с открытым исходным кодом стоит отметить и Greenplum. Его часто используют для построения Data Warehouse, хранилищ данных, позволяющих решать аналитические задачи. Вместе с Greenplum поставляется компонент PXF, который позволяет получать доступ к данным, хранящимся в сторонних системах (SAP, Oracle, Hadoop и других), что позволяет в том числе строить виртуальные хранилища данных.

Для работы с большими данными самым востребованным остается Hadoop, — стек технологий, рассчитанных на использование в разных задачах. Целый ряд поставщиков пересобирают пакеты инструментов Hadoop и поставляют их конечным заказчикам. Причем основными отличиями таких наборов от определенных поставщиков является как функциональность, так и качество поддержки и наличие инструментов для администрирования. К примеру, у наших клиентов востребованы инструменты от компании Cloudera, которые имеют простой и понятный интерфейс управления. Планируем запустить сервис по предоставлению инструментария Big Data на основе дистрибутивов Arenadata. Они отличается стабильностью и имеет техподдержку на русском языке.

Технологии помогают бизнесу адаптироваться к меняющимся условиям рынка: важно быстро разрабатывать и запускать новые продукты, модифицировать старые бизнес-процессы. Меняются требования к архитектуре приложений: переход от монолита к микросервисам делает возможным быстрые изменения. Контейнеризация и принцип слабой связности обеспечивают технологическую гибкость, которая становится основным конкурентным преимуществом компаний. Это, в свою очередь, повышает и внимание заказчиков к инструментам, которые позволяют сократить эти сроки.

В последний год особенно выросла востребованность Kubernetes — открытого решения, которое позволяет управлять контейнерами как единой системой. Технология позволяет масштабировать мощности в зависимости от нагрузок, что стало особенно важно для запуска и развития онлайн-сервисов. Кроме этого, технология обеспечивает легкую «переносимость» кода. Это позволяет сократить время и усилия по переносу изменений кода с тестовой среды в продуктивную.

Еще одна категория решений, пользующихся спросом, — очереди сообщений. Это — важный инструмент для построения приложений, спроектированных с использованием подхода Cloud-Native, где одним из центральных принципов является слабая связность приложений. Для того, чтобы обеспечить максимальную отказоустойчивость схемы работы приложений, для связи между ними как раз и используются очереди сообщений. Они позволяют помечать отдельные операции, необработанные из-за отказа сервера, и возвращать их в очередь. В этом классе выделяются RabbitMQ и Kafka.

Роль облачных провайдеров в развитии Open Source

Риски, связанные с использованием Open Source, сегодня касаются тех решений, развитием которых занимается ограниченное число контрибьюторов. У многих корпоративных систем с открытым исходным кодом активное сообщество ограничивается лишь несколькими энтузиастами. И в этих случаях, компаниям, использующим такие решения, приходится заботиться о том, чтобы найти специалистов с необходимыми компетенциями.

В качестве примера можно привести журналируемую файловую систему RaiserFS, которую в свое время компания Novell использовала по умолчанию в SUSE Linux Enterprise. Ее развивал только один человек, у которого приключились проблемы в личной жизни. Он прекратил работать, и развитие файловой системы остановилось. И примеров таких решений, популярных в корпоративных средах, можно найти очень много.

Сохраняется и зависимость от разработчиков. Достаточно упомянуть CentOS, последняя версия которой будет поддерживаться только до следующего года. Но преимущество Open Source состоит в том, что заинтересованные пользователи в любой момент могут выделить из проекта самостоятельный форк (новая «ветка» продукта). Именно так разработчики CentOS и поступили. Но заказчикам, чтобы развивать собственный форк решения, потребуются серьезные компетенции, причем не только инженерные, но и в области разработки. В качестве примера можно привести скрипт, позволяющий мгновенно трансформировать CentOS в Oracle Linux.

Облачные провайдеры помогают снизить возможные риски. Используя то или иное Open Source-решение и предоставляя доступ к нему своим заказчикам, они в любом случае формируют команду специалистов, обладающих компетенциями, необходимыми не только для поддержки, но и развития.

Внимание облачных провайдеров к компетенциям в области Open Source и их активность в области написания кода легко объяснимы. Без этого они будут ограничены собственными проприетарными решениями и разработками вендоров. Кроме этого, помимо организации поддержки провайдер должен представлять себе пути развития того или иного решения, иметь возможность его доработки или кастомизации под конкретного клиента. Поэтому облачные компании стараются еще и постоянно отслеживать изменения в тех продуктах, которые они предлагают. Это позволит, при необходимости, обеспечить поддержку новых форков популярных проектов. Конечно, в первую очередь это касается самых востребованных решений.

Недостаток компетенций у ИТ-служб предприятий, отсутствие качественной поддержки того или иного решения, обеспечение безопасности, совместимость приложений — эти риски использования открытого ПО, согласно исследованию Red Hat, чаще всего перечисляют заказчики. Услуги и сервисы, которые предлагают сегодня облачные провайдеры, купировали эти риски.

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

Источник: Хамзет Шогенов, архитектор облачной платформы Mail.ru Cloud Solutions