+38 044 333 61 23 Business Center “Gulliver”,Sportyvna Square 1,Kyiv, 01023 info@allstars-it.com

Сім причин міграції вашої бази даних в хмару

Зберігання даних – це досить нетривіальна задача. Сучасні вимоги законодавства, високі об’єми та навантаження змушують навіть досвідчених ДБА задуматись, а що робити маленьким компаніям та стартапам?

Євген Недашківский, DBA Developer в AllStars-IT Ukraine, пропонує разом розбиратися, чому все більше і більше компаній обирають хмарні альтернативи перевіреним on-premise СУБД.

Пам’ятаю, що хмарні технології активно ще обговорювали в мої студентські роки, наприкінці нульових. Тоді це здавалось чимось незрозумілим й дуже дорогим. Проте за десять з гаком років у сфері баз даних, мушу визнати, що все частіше й частіше саме хмара стає вибором номер один коли мова йде про збереження клієнтської інформації.
Хотілося б поділитися з читачем своїми міркуваннями з приводу того, чому хмарна база даних (наприклад, Azure SQL Database) наразі є досить конкурентним рішенням у порівнянні зі своїми класичними on-premise аналогами.

1. Легкий старт

Для того, щоб розгорнути СУБД, потрібно виконати досить багато пререквізитів. Вам потрібен сервер з встановленою операційною системою та правильно сконфігурованними дисками. Адміністратору-початківцю доведеться досить багато повозитися з налаштування служб (демонів) та мережевими фаєрволами. У великих корпоративних середовищах доведеться також додати велику кількість виключень в політики сканування антивірусів та сканерів безпеки. Я вже мовчу про саму наявність заліза, дата-центру та спеціалістів, які знайомі з особливостями налаштування потрібної вам системи керування базами даних. Звісно, встановити все з налаштуваннями за замовчанням на ноутбук розробника – це одне, а розгортання середовища для роботи з базами ентерпрайз-рівня – зовсім інша, нетривіальна задача. Проте в обох цих випадках, веб-інтерфейс будь-якого хмарного провайдера дозволяє створити базу даних в декілька кліків і почати роботу з нею без найменшого розуміння відповідних технологій. Так, це блекбокс, чорна коробка, яка незрозуміло як влаштована, але її сила у швидкості та простоті розгортання. Три хвилини – і у вас є СУБД і перша база даних.

2. Висока доступність та простота масштабування

Інша проблема, яку вирішують хмарні БД – це висока доступність. Якщо до вашої бази повинно підключатися багато користувачів з різних регіонів – це завжди досить складна задача з точки зору апаратного забезпечення, пропускної здатності мережі та налаштувань безпеки. Що ж до хмарного рішення, то приєднатися до такої бази з будь-якої частини світу – не проблема. Більш того, якщо швидкість роботи вас не задовольняє, можна в один клік створити регіональну репліку і на порядок зменшити затримки при передачі мережевих пакетів. Варто зазначити, що провайдер гарантує досить високі показники SLA, що робить ваші дані доступними ще й в будь-який час, адже вікон обслуговування як таких не має.
Якщо ж одночасна робота багатьох користувачів неможлива через брак ресурсів, то додати їх можна знову ж у два кліки. Масштабування в хмарі – це проста задача. Масштабування систем локальних – навпаки, задача складна навіть за наявності засобів віртуалізації.

3. Можливість зекономити

Коли мова йде про хмарні технології та економію, то це часто викликає посмішку. Дійсно, яка економія, якщо за кожну годину роботи доводиться платити? Але досвідчених архітекторів та керівників ІТ-підрозділів не обдуриш, вони чудово розуміють, що локальна on-premise СУБД – це досить великі пов’язані витрати. По-перше, це вартість сервера та ліцензій, по-друге – вартість побудови, чи оренди ЦОД, по-третє – заробітна плата працівників, що обслуговують вищевказане. Не забуваємо і про електроенергію та опалення, а також послуги прибиральниць, охорони та сторонніх організацій, що проводять регулярні перевірки систем вентиляції, охолодження та пожежогасіння. А резервне живлення? Генератори, ДБЖ, паливо та батареї до них… Якщо підрахувати все це – виходить, що хмарна СУБД може бути дійсно дешевшим рішенням. І якщо в Україні частка заробітних плат співробітників на загальному фоні витрат може бути мізерною, то в США одним з драйверів міграції в хмару стала саме можливість зекономити саме на цьому пункті.

4. Простота обслуговування

Класичні СУБД вимагають досить багато уваги. Так, може здатися, що встановивши якийсь SQL Server, можна на завжди забути про його існування. Проте люди з досвідом впевнено скажуть, що це не так. По-перше, будь-які бази потребують резервного копіювання та перевірки цілісності та наявності цих резервних копій. По-друге, планову перебудову індексів, оновлення статистики та пошук помилок в структурі баз даних ніхто не скасовував. Також не слід забувати й про встановлення оновлень та аналіз швидкодії. В будь-якій компанії середнього розміру досвідчений адміністратор баз даних – це дуже важлива людина, яка може як врятувати бізнес в критичній ситуації відмови обладнання, так і привести організацію до банкрутства своїми необережними діями.
Що ж до хмарних баз даних, то всі ці питання вже вирішили за вас. Оновлення встановлюються автоматично і безшовно, резервне копіювання налаштовано з коробки, всі планові задачі робляться на фоні та непомітно. Якщо ж виникли проблеми зі швидкодією – система надає готові звіти, а якщо банально не вистачає ресурсів – їх можна додати просто перетягуванням повзунка.

5. Менший штат співробітників

На власному досвіді знаю, що знайти досвідченого спеціаліста з баз даних – досить складна задача. Звісно, майже кожен співробітник ІТ-галузі може написати нескладний SQL-запит, в загальних рисах може описати основні принципи роботи СУБД та назвати принаймні частину її функцій. Проте бази даних самі по собі вже давно не являються новою та популярною технологією. Навколо них нема того, що заведено називати «хайпом», або просто кажучи, БД – це не модно. Тому в «базовики» йдуть людини або випадкові, або ті, кого «зачепило». І, на жаль, таких небагато. Побудувати коректну стратегію відновлення даних, чи налаштувати георозподілений кластер з декількох тисяч ІТ-експертів можуть одиниці. Їх робота на вагу золота і подібних спеціалістів в компаніях заведено цінувати. Зманити такого з великого банку, чи виростити у себе з нуля – дуже нетривіальна і не дешева задача. Ось і доводиться наймати консультантів за досить великі гроші.
Хмарні СУБД дозволяють шляхом автоматизації та спеціалістів на боці провайдера послуги закрити велику частину задач, які б виконували співробітники-ДБА. Не можна сказати, що на великих проектах вони зовсім перестають бути потрібні, проте їх залучення можна відкласти на досить пізній етап зрілості проекту, а кількість роботи буде в рази менше, тим самим дозволяючи взяти професіонала, що буде поєднувати роботу за сумісництвом, або взагалі обійтися періодичними фрілансерами.

6. Безпека

«У семи няньок дитина без ока» – відоме прислів’я, що чудово характеризує стан безпеки даних на більшості підприємств малого та середнього рівня, не кажучи вже про стартапи. Левова частка спеціалістів, яким доводиться налаштовувати СУБД, не мають достатньої кваліфікації й гадки не мають про гранулярний розподіл привілеїв, маскування даних, шифрування файлів та трафіку, а словосполучення «анклави безпеки» викликає асоціації тільки з середньовічними альянсами феодалів. Досить часто доводиться читати новини про черговий витік інформації пов’язаний з тим, що розробники залишили обліковий запис адміністратора СУБД без пароля. Мережеві фаєрволи часто відкриті для всіх підключень, а для роботи з базою використовується один обліковий запис з ультимативними правами доступу.
Для приклада, в Azure за замовчанням ви можете підключитися до БД тільки з «білого ІР». Все. У зловмисника немає можливості вас брутфорсити, чи використовувати експлойти. Він просто немає мережевого доступу. Шифрування файлів виконується в один клік. Спроби SQL-ін’єкцій моніторяться і ви отримуєте відповідні алерти. Звісно, це не безкоштовно, але щойно створена хмарна база даних в рази більш захищена, ніж її on-premise аналог.

7. Надійність

Останнім пунктом я б виділив надійність хмарних рішень. Так, мушу визнати, що збої іноді бувають. Проте ні разу на моєму досвіді не було ситуації, коли SLA не було дотримано. І в Microsoft, і в Amazon, і в Google є величезні дата-центри, проектуванням та будівництвом яких займалися професіонали. Все обладнання однотипне і постійно обслуговується, firmware регулярно оновлюється, а запасні частини завжди є в наявності. Та й виробникам заліза простіше знаходити та усувати проблеми працюючи з великими об’ємами, тому чим більше ЦОД – тим він стабільніший.
На локальні сервери ж я надивився. Навіть якщо обладнання купується партіями та від одного вендору, все одно через декілька років все перетворюється на зоопарк, що може включати досить екзотичні рішення. Хто ще пам’ятає про Intel Itanium? Обслуговувати все це досить дорого, а знайти спеціаліста, що одночасно розбирається у вашій системі зберігання даних, мережевому обладнанні, та брендові серверів – щось на кшталт джекпоту в лотереї. При цьому тримати запасні частини та резервне обладнання на складі підприємства – досить дороге задоволення, на яке часто немає бюджету. А наскільки приміщення, в якому знаходяться ваші дані відповідає вимогам по пожежній безпеці, гарно вентилюється та охолоджується?

От і виходить, що великі хмарні дата-центри мають сильні переваги по дуже багатьом пунктам в порівнянні з локальними та місцевими рішеннями.
Підбиваючи підсумки, я перш за все хочу сказати, що не ставлю перед собою мету агітувати вас мігрувати в вищезгаданий Microsoft Azure чи аналоги. Проте для багатьох з вас, мої читачі, може виявитись, що хмарна СУБД – це досить непоганий компромісний варіант, який дозволить зберегти як час і гроші, так і нервові клітини. І хоча деякі дані розмістити в хмарі не вийде через ряд фізичних та законодавчих обмежень, скоріш за все в найближчі роки ми станемо свідками здешевлення хмарних технологій та масової міграції туди програмних рішень абсолютно всіх розмірів. Краще бути першим за конкурентів.

Leave a Reply