TuchaKube — багатофункціональна DevOps/Hosting-платформа для роботи з додатками
- Головна
- Блог
- Хмарні сервіси
- TuchaKube — багатофункціональна DevOps/Hosting-платформа для роботи з додатками
Друзі, якщо ви розробляєте власні вебдодатки, функціонал та код яких постійно змінюється, сервіс TuchaKube обов’язково стане вам у пригоді.
TuchaKube — це хмарний сервіс надання контейнерної інфраструктури та автоматизації CI/CD-процесів. Рішення створене для підтримки роботи високонавантажених інформаційних систем та процесів, пов’язаних з їх розробкою та вдосконаленням.
Хмарна платформа є поєднанням одразу двох окремих, хоча і пов’язаних між собою, сервісів, які належать до категорій DevOps Engineering та Cloud Hosting:
- Складова DevOps Engineering передбачає, що наші фахівці у кооперації з командами розробників з боку замовника забезпечують планування архітектури середовища та його розгортання, підтримку працездатності цього середовища, автоматизацію процесів випуску нових версій та інші процеси, що пов’язані з розробкою, компіляцією, тестуванням, контейнеризацію, публікацією та оновленням додатків у хмарі.
- Складова Cloud Hosting — це хостинг додатків, що їх розробляють наші замовники, зберігання даних, які необхідні для роботи цих додатків, та забезпечення безперервного доступу до цих даних, моніторинг роботи сервісів задля гарантування їх стабільної роботи, резервне копіювання інформації. Все це відбувається безпосередньо в нашій власній обчислювальній хмарі, робота якої знаходиться в нашій сфері відповідальності.
Приблизно з 2018 року у наших замовників (здебільшого розробників програмного забезпечення та вебсервісів) почали виникати запити щодо автоматизації процесів, пов’язаних з процесами розвитку їх програмних продуктів. Відтоді ми почали набувати досвід в автоматизації процесів безперервної інтеграції та безперервного розгортання, довелося і розпочати роботи в напрямі надання замовникам контейнерної інфраструктури. Набуті знання та навички стали основою для створення власної платформи для надання таких сервісів, а вже у 2019 році ми відкрили TuchaKube для широкого загалу.
TuchaKube — сервіс, що поєднує у собі багато компонентів. Більшість з цих компонентів є програмним забезпеченням з відкритим кодом (open-source), а деяка частка — власні розробки команди Tucha.
Серед усіх компонентів можна виділити деякі найбільш помітні.
Система контейнеризації 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.