TuchaKube — многофункциональная DevOps/Hosting-платформа для работы с приложениями
- Главная
- Блог
- Облачные сервисы
- TuchaKube — многофункциональная DevOps/Hosting-платформа для работы с приложениями
Друзья, если вы разрабатываете собственные веб-приложения, функционал и код которых постоянно меняется, сервис TuchaKube обязательно вам пригодится.
TuchaKube — это облачный сервис предоставления контейнерной инфраструктуры и автоматизации CI/CD-процессов. Решение создано для поддержки работы высоконагруженных информационных систем и процессов, связанных с их разработкой и совершенствованием.
Облачная платформа представляет собой сочетание сразу двух отдельных, хотя и связанных между собой, сервисов, которые относятся к категориям DevOps Engineering и Cloud Hosting:
- Составляющая DevOps Engineering предполагает, что наши специалисты в кооперации с командами разработчиков со стороны заказчика обеспечивают планирование архитектуры среды и её развёртывание, поддержание работоспособности этой среды, автоматизацию процессов выпуска новых версий и другие процессы, связанные с разработкой, компиляцией, тестированием, контейнеризацией, публикацией и обновлением приложений в облаке.
- Составляющая Cloud Hosting — это хостинг приложений, которые разрабатывают наши заказчики, хранение данных, необходимых для работы этих приложений, и обеспечение непрерывного доступа к этим данным, мониторинг работы сервисов для обеспечения их стабильной работы, резервное копирование информации. Всё это происходит непосредственно в нашем собственном вычислительном облаке, работа которого находится в нашей сфере ответственности.
![TuchaKube TuchaKube](/sites/default/files/styles/p_img/public/2021-02/tuchakube1_0.jpg?itok=ZlWBpxT2)
Примерно с 2018 года у наших заказчиков (в основном разработчиков программного обеспечения и веб-сервисов) начали возникать запросы по автоматизации процессов, связанных с процессами развития их программных продуктов. С тех пор мы начали приобретать опыт в автоматизации процессов непрерывной интеграции и непрерывного развёртывания, пришлось и начать работы в направлении предоставления заказчикам контейнерной инфраструктуры. Приобретённые знания и навыки стали основой для создания собственной платформы для предоставления таких сервисов, а уже в 2019 году мы открыли TuchaKube для широкой общественности.
TuchaKube — сервис, сочетающий в себе много компонентов. Большинство из этих компонентов являются программным обеспечением с открытым кодом (open-source), а некоторая часть — собственные разработки команды Tucha.
![TuchaKube TuchaKube](/sites/default/files/styles/p_img/public/2021-02/tuchakube2.jpg?itok=bomGeCzb)
Среди всех компонентов можно выделить некоторые наиболее заметные.
Система контейнеризации Docker
Docker, наверное, является наиболее популярной платформой, которая обеспечивает работу изолированных контейнеров. Он позволяет создавать и использовать минимизированные контейнеры сред, оптимизированные под те или иные приложения. В контейнере нет ничего лишнего, в нём даже не хранятся данные, которые нужны приложению, работающему внутри. Контейнер можно в любой момент уничтожить и создать новый. А ещё любое приложение можно запустить в контейнере на любом хосте и быть уверенным в том, что оно будет работать точно так же, как и работает на любом другом хосте, даже если эти хосты существенно отличаются друг от друга.
Система оркестрации работы контейнеров Kubernetes
Поскольку сервис предусматривает использование больших групп контейнеров, управление ими невозможно организовать без системы оркестрации. В качестве неё мы используем Kubernetes — популярную унифицированную платформу для управления контейнерами, которую уже можно считать определённым промышленным стандартом. Вокруг Kubernetes уже создана целая экосистема различных программных продуктов, которые уже стали довольно популярными среди разработчиков.
Система оркестрации облачного ЦОД Apache CloudStack
Платформа, которая позволяет организовывать как частные, так и публичные облака, а именно управлять:
- серверами виртуализации;
- виртуальными и физическими хранилищами;
- виртуальными и физическими сетями;
- виртуальными машинами;
- репозиториями шаблонов и резервных копий;
- остальными компонентами, из которых состоят частные и публичные облака.
Работой нашего вычислительного облака, на базе которого работает платформа TuchaKube, руководит именно Apache CloudStack. Мы используем этот продукт с самого начала деятельности Tucha, участвуем в конференциях, предназначенных для её пользователей, и время от времени добавляем свои патчи в код платформы.
Система управления серверами и конфигурациями Ansible
Ansible — ещё один полезный инструмент, который позволяет описать конфигурацию всех компонентов инфраструктуры в едином месте и автоматизировать процессы её изменения.
Система обеспечения совместной работы с кодом GitLab
В качестве системы работы с git-репозиториями мы используем GitLab, поскольку он является действительно мощным инструментом, к тому же его инстансы можно размещать в собственном облаке. В случае необходимости также можем легко настроить работу с другими похожими системами, например, GitHub или BitBucket.
Дополнительное программное обеспечение
Различные системы обеспечения мониторинга, защиты, управления, автоматизации и другие, работающие внутри платформы. Таких программных продуктов довольно много, к ним также относится программное обеспечение с нашим собственным кодом.
Мощные и надёжные вычислительные ресурсы Tucha
Корректная работа всех компонентов невозможна без качественных вычислительных ресурсов, в качестве которых мы используем собственную облачную инфраструктуру. Наша собственная облачная среда обеспечивает работу приложений и хранение данных.
Талантливые и ответственные инженеры Tucha
Конечно, фундаментом работы всей многофункциональной платформы являются наши опытные и квалифицированные DevOps-специалисты и специалисты службы технической поддержки.
Сервис обеспечивает множество функций, среди которых следует выделить в частности такие.
Автоматизация процессов разработки программного обеспечения
Это предполагает анализ и компиляция кода, тестирование работы приложений, их контейнеризация и доставка новой версии в dev-, staging- и production-среды.
Для первых заказчиков решений, которые сейчас предоставляет платформа, было важно прежде всего автоматизировать CI/CD-процессы. Именно с этой функции, как отмечалось, и началось создание продукта.
Сохранение персистентных данных и предоставление доступа к ним
Платформа использует распределительные системы хранения данных и обеспечивает возможность доступа к ним из любого уголка мира.
Машина времени
Поскольку для заказчиков крайне важной является возможность «откатиться» назад в случае, если что-то пошло не по плану, мы также предусмотрели эту возможность в платформе TuchaKube.
Речь идёт не только об автоматическом создании резервных копий данных, с которыми работают приложения пользователей, и их сохранение на отдельных носителях вне основной среды. В случае необходимости можно быстро перейти на любую из предыдущих версий кода, например, в случае, если изменения в коде приложения привели к появлению тех или иных проблем.
Автоматическое горизонтальное масштабирование и балансировка нагрузки
Сервис позволяет параллельно запускать множество копий приложения в распределённом облаке на разных физических серверах и балансировать между ними нагрузку. Также это означает, что в том случае, если в работе какого-либо сегмента на одной из машин произойдёт сбой, заказчик этого даже не почувствует.
Возможности сервиса позволяют запускать необходимое количество контейнеров, которые должны одновременно работать над обработкой запросов. Именно они обеспечивают горизонтальное масштабирование. Например, если нагрузка невысокая, работу сервиса могут обеспечивать 2 или 3 контейнера, запросы равномерно распределяются между ними. Как только нагрузка начинает расти, запускаются дополнительные контейнеры. Это необходимо для того, чтобы обеспечить заказчику желаемый уровень скорости обработки каждого запроса. Запуск всех этих процессов задаётся отдельными формулами и алгоритмами.
Техническая поддержка работоспособности
Наша команда специалистов обеспечивает мониторинг работы всех служб с помощью различных систем мониторинга, а также оперативное вмешательство и решение любых вопросов, связанных с функционированием компонентов. Чаще всего нам удаётся устранить аномалии в работе ещё до того, как их заметит сам заказчик или его пользователи.
Многогранные возможности TuchaKube будет полезны разработчикам сложных программных решений для бизнеса и публичных сервисов — различных проектов как для отечественных, так и для мировых компаний. Сервис приносит пользу компаниям, которые обеспечивают непрерывный цикл совершенствования программного обеспечения, разработчикам и тестировщикам, для которых крайне важна оперативная и квалифицированная поддержка со стороны опытных DevOps-инженеров.
Друзья, продолжайте следить за обновлениями в блоге, поскольку совсем скоро мы опишем и наглядно покажем определённые примеры использования платформы TuchaKube. А если у вас возникли вопросы, звоните +380 44 583-5-583 или пишите нам по адресу support@tucha.ua.