KOST: что входит в новый стек технологий для разработки облачных приложений
Рассказываем о его компонентах и перспективах.
/ фото Gozha Net Unsplash
Почему появился новый стек
Существует множество стеков для разработки программного обеспечения. Один из наиболее известных — LAMP (Linux, Apache HTTP server, MySQL, PHP). На нем построен сайт «Википедии» и несколько других проектов фонда Wikimedia Foundation. LAMP даже использовали в Facebook для решения ряда задач.
Но есть мнение, что LAMP, хотя и является зарекомендовавшим себя стеком, плохо подходит для построения крупных масштабируемых приложений. Поэтому сегодня, когда компании переносят рабочие нагрузки в облако, все чаще используются альтернативные наборы технологий.
Одним из популярных стеков для облака считается MEAN — MongoDB, Express.js, Angular и Node.js. Он «привязан» к JavaScript, а на этом языке можно писать как серверную, так и клиентскую часть. Этот стек применяют в Paypal, Netflix и The New York Times. Также популярными наборами технологий считаются MERN и MEVN, в которых Angular заменяют на React или Vue.js соответственно. Сегодня они используются в разработке мобильных приложений.
Недавно начал набирать обороты альтернативный стек — KOST. В него вошли Kubernetes, Operator, Spark и TiDB. Его цель — оптимизировать обработку данных в частном, публичном и гибридном облаках.
Компоненты
Kubernetes. Пожалуй, один из самых известных инструментов для управления контейнерными приложениями. Он стал частью KOST потому, что является своеобразным стандартом в ИТ-индустрии. Его поддерживают участники облачного фонда Cloud Native Computing Foundation (CNCF). Кто-то даже называет Kubernetes «операционной системой для облака». Многие крупные IaaS-провайдеры и разработчики инструментов виртуализации уже предлагают свои решения на базе Kubernetes — например, OpenShift, VMware PKS или Rancher.
Operator. Открытый набор инструментов для управления «операторами» — приложениями на базе Kubernetes. Эти приложения помогают реализовать дополнительную бизнес-логику, например, для работы с third-party ресурсами. Operator выпустили в 2016 году инженеры из CoreOS — сегодня за него отвечает Red Hat. Сам инструмент, как и Kubernetes, постепенно становится стандартом для разработки облачных приложений. Например, его уже внедрили несколько разработчиков СУБД. И число пользователей стабильно увеличивается.
Spark. Другой известный фреймворк с открытым исходным кодом для работы с неструктурированными данными. Spark использует специализированные примитивы для рекуррентной обработки в оперативной памяти. Такой подход позволяет увеличить производительность системы на некоторых задачах (стр. 1). Инструмент нашел место в стеке KOST, поскольку активно используется для развертки масштабной облачной инфраструктуры, например в Netflix, Oracle, Visa и eBay.
/ фото Stephanie McCabe Unsplash
TiDB. Это — распределённая СУБД, которая совмещает транзакционную и аналитическую обработку данных (Hybrid Transactional/Analytical Processing, HTAP). Она горизонтально масштабируется, обладает высокой доступностью и следует принципам ACID: атомарность, согласованность, изолированность и долговечность. Система изначально создавалась с прицелом на работу в облаке, чтобы упростить развертку и поддержку приложений. Это одна из главных причин, по которой её выбрали в качестве «замыкающего звена» стека KOST.
TiDB — не самая распространенная СУБД на рынке (учитывая, что она появилась лишь два года назад), но у неё есть потенциал. С ней уже работают такие гиганты, как Xiaomi и крупнейшая площадка для бронирования билетов в Индии BookMyShow. Хотя есть мнение, что TiDB выбрали просто для того, чтобы сформировать красивую аббревиатуру — KOST. При желании инструмент можно заменить на Cockroach, Clickhouse и другие решения.
Перспективы
Все решения в «составе» KOST с открытым исходным кодом. Поэтому стеком могут воспользоваться компании любых размеров и с любыми бюджетами. Ожидается, что наибольшую выгоду KOST принесет ретейлерам и онлайн-магазинам. Эксперты говорят, что новые технологии упростят складской учет за счет гибкой и масштабируемой базы данных и обезопасят персональные данные клиентов (благодаря контейнерным технологиям).
Стек LAMP проложил дорогу веб-приложениям, а MEAN, MERN и MEVN — мобильным приложениям. Ожидается, что KOST или его модификации откроют новые возможности для разработчиков, использующих облака в своих проектах.
Дополнительное чтение по теме из нашего Telegram-канала:
О чем мы пишем в Первом блоге о корпоративном IaaS: