Попит на дата-інженерів зросте: розповідаємо, яку технологію зараз вивчати краще за все

Оленка Пилипчак

Обсяг інформації в онлайні невпинно зростає. Тільки уявіть: щодня користувачі по всьому світу створюють 500 млн твітів, 294 млрд мейлів, 4 млн гігабайт даних у Facebook та 65 млн повідомлень у WhatsApp. Разом із тим виникає потреба в безпечному зберіганні, швидкому обміні та якісному аналізі інформації. Впоратися з цим допомагає модель управління даними — Data as a Service.

Цей підхід передбачає, що процес збору, зберігання, інтеграції, обробки та аналізу даних користувачі покладають на окремі команди. Про основні переваги та можливості моделі DaaS розповіли під час IT-конференції NIX MultiConf.

Передумови появи Data as a Service

На початку 2000-х багато ІТ-компаній зіштовхнулися зі стрімким зростанням обсягу даних. Серед них були такі відомі корпорації, як Google, IBM, Oracle, Microsoft. Фахівці намагалися зрозуміти, як дістати з цього потоку даних максимальну користь для бізнесу. Рішення не змусило себе довго чекати — вирішили продавати результати аналітики за підпискою.

Варто відзначити, що в ті часи вже існувало поняття Software as a Service (SaaS) і було утворено сімейство концепцій as a Service. До його складу увійшли IaaS (Infrastructure as a Service), PaaS (Platform as a Service), а також ще не до кінця сформована концепція DaaS як бізнес-моделі.

З технічного боку DaaS — це спосіб збору, зберігання, обробки та аналізу даних, чим в компанії займається окрема команда дата-інженерів та дата-аналітиків.  

Одночасно у корпорацій виникли складнощі з обробкою великого обсягу даних для власних потреб. Усі усвідомлювати цінність інформації та намагалися запровадити Data as a Service всередині організацій. Малому та середньому бізнесу послуга була не по кишені. Все змінилося з появою ринку провайдерів хмарних технологій. Вони надавали різноманітні інструменти і техніку для обробки даних. Завдяки розвитку цього ринку зросла популярність DaaS як концепції менеджменту.

Які задачі вирішує Data as a Service

Сьогодні DaaS-системи демонструють потужні можливості, працюючи з даними, які обмежені чітко визначеними рамками. Це може бути робота з внутрішніми даними компанії, взаємодія з даними про користувачів окремої платформи або дані окремої бізнес-сфери.  

Серед основних завдань, які допомагає вирішити DaaS, виділяють наступні:

  • Збір інформації, яку можна отримати із зовнішніх джерел (ЗМІ, соцмережі, мобільні пристрої) та внутрішніх (бази даних чи сервіси).
  • Транспортування даних, наприклад, за допомогою мережевого протоколу HTTP.
  • Зберігання даних у файлових сховищах провайдерів хмарних технологій.
  • Аналіз даних — найскладніший етап, на якому більшість первинних даних компанії перетворюється на корисну (конвертовану в гроші), а головне — зрозумілу для клієнтів цінну інформацію.
  • Доставка даних до клієнта зручним для нього способом. Зазвичай це відбувається за допомогою RESTful web-API або BI-інструментів.

Розробники NIX також мають показові приклади реалізації DaaS-системи. Розглянемо один із них.

В цій історії в ролі бізнесу виступає LMS-система (Learning Management System). Проєкт надає послуги у сфері освіти та налічує 43 сервіси. Кожен із них генерує значний обсяг інформації, з якою потрібно працювати окремим командам Data-інженерів і Data-аналітиків. Саме вони розробляють DaaS-систему.

Загальна DaaS-модель виглядає наступним чином:

  • Існує джерело даних (Data Source).
  • Звідти інформація потрапляє до сервісів прийому даних (Incoming data services). Це можуть бути Spring-сервіси, Amazon API Gateway + Amazon Kinesis Data Firehose.
  • Потім дані передаються до основного логічного блоку системи (Core). Там вони піддаються первинній трансформації у Spring-модулях, якщо цього потребує бізнес-логіка, та зберігаються в одному із сховищ.

Такими сховищами можуть бути:

  • Amazon S3 — всі дані в «сирому» вигляді та готові репорти;
  • Amazon Aurora — тимчасове сховище для деяких окремих логічних блоків;
  • MongoDB — основна база даних;
  • Snowflake — Data Lake.

У цій частині системи відбувається трансформація та аналіз даних за допомогою Apache Spark, який працює на Amazon EMR.

Наступний блок сервіси постачання результатів аналізу клієнтам, у ролі яких виступають наші внутрішні сервіси. Ця частина реалізована Spring-сервісами або парами AWS Lambda + Amazon API Gateway. Також є технології, які використовуються по всій системі, а саме:

  • Apache Camel — для зв’язку Spring-модулів між собою;
  • Amazon SQS + Amazon SNS — для обміну повідомленнями по всій системі;
  • Amazon Lambda — для виконання логічних функцій.

Це була загальна схема системи. Далі розглянемо детальніше один із десятків пайплайнів.

Як і в кожній LMS, тут ми маємо учнів, вчителів і процес оцінювання. З’ясуємо, як результати виконання учнем завдань потрапляють до системи та яку користь із цього може отримати клієнт.

Дані потрапляють до нас із внутрішнього сервісу LMS до Spring-сервісу збору даних за попередньо узгодженим контрактом. Ці дані в «сирому» вигляді зберігаються у S3-bucket для архівації. Далі повідомлення прямує до SQS-черги з вихідними даними, які було отримано від джерела. Core-частина виймає дані SQS-черги і трансформує їх для того, щоб зберегти в базі даних MongoDB. 

Повідомлення про те, що дані отримано та успішно збережено в MongoDB потрапляють до SNS-топіків, звідки підбираються SQS-черги. Вони накопичуються в Report Generator, який за графіком на основі отриманих повідомлень обирає необхідні дані з MongoDB та формує звіт про успішність студента з подальшим планом для її покращення. Звіт потрапляє в S3-bucket, звідки буде переданий за допомогою AWS Lambda + API Gateway клієнту (внутрішньому сервісу). Останній же покаже його користувачеві (студенту або вчителю) в user friendly форматі.

Подібний звіт затребуваний серед вчителів та учнів. Тож внутрішні сервіси отримують велику користь, користуючись ним як сервісом, і не замислюються про його імплементацію.

Наведемо ще один приклад. Абсолютно з усіх сервісів ми збираємо інформацію про активності користувачів — це 28 ГБ даних в повідомленнях щодня або приблизно 40 тис повідомлень щогодини. Тут маємо дещо інший підхід. Дані з сервісів потрапляють до DaaS-системи через API Gateway + Amazon Kinesis Data Firehose та зберігаються до Amazon S3. Саме ця комбінація надає можливість  продуктивно опрацьовувати таку велику кількість даних.

Далі інформація потрапляє до Snowflake. Для попередньої трансформації використовується Apache Spark, якщо ж вона не потрібна — Snowpipe. У Snowflake Dаtа-аналітики формують з даних Data Lake. Результати надаються клієнтам (бізнес-аналітикам компанії) за допомогою BI-інструменту — Looker. В такий спосіб і реалізується DaaS-система на прикладi LMS-проєкту.

Тепер перейдемо до основних переваг Data as a Service, які зробили цю систему популярною.

Переваги Data as a Service

DaaS — це фінансово вигідно

Припустимо, існує Data-провайдер, який надає аналітику загальнодоступних даних. Буде значно простіше та дешевше придбати їх результати, ніж самостійно створювати аналогічну систему, яка б виконувала той самий процес.

З іншого боку, у компанії безліч різних сервісів генерують для команди контент. Одному сервісу потрібна аналітика з п’яти серверів, іншому — з шести. Вони між собою взаємопов’язані. Тому замість того, аби кожна команда збирала окрему аналітику з усіх сервісів і дублювала дані, краще створити коаліцію людей та делегувати обов’язки. Таким чином, кожний окремий сервіс займатиметься своєю бізнес-задачею.

Простота у використанні для клієнта

Вам не потрібно думати про завдання, які виконує команда під час роботи над проєктом. Ви не турбуєтеся про те, як відбувається процес збору, зберігання, обробки та аналізу даних, а просто користуєтеся готовим результатом.

Висока якість даних

За рахунок того, що детальним аналізом даних займається команда професіоналів, які володіють спеціальними знаннями і технологіями обробки інформації, якість отриманих результатів значно зростає.

Індустрія аналітики даних продовжуватиме розвиватися. Ключові гравці на ринку — AWS, Oracle, Google, Meta, Apple, Microsoft — будуть невпинно зростати. Інші компанії, які використовують аналітику внутрішніх даних, частіше будуть імплементувати DaaS. Навіть невеликі команди в процесі своєї діяльності генеруватимуть усе більше інформації, яку теж потрібно буде обробляти.

Тому ймовірно, що й попит на дата-інженерів зросте. Тож починайте опановувати DaaS-модель просто зараз.

Якщо ви займаєтесь бізнесом, саме час закласти архітектуру DaaS-системи у своїй компанії. З’ясуйте, якими даними буде оперувати ваш застосунок або вебсайт, які функції буде виконувати продукт. Щодо наявного сервісу, то вам треба проаналізувати, яким обсягом даних застосунок вже оперує та чи є необхідність залучити до роботи з ними окрему команду. Власне ці фахівці і займатимуться створенням DaaS для вашого проєкту.

Останні статті

В експериментальному режимі: е-кабінет військовозобов’язаного запрацює вже через пару днів

Електронний кабінет військовозобов’язаного запрацює вже 18 травня. Але поки в експериментальному режимі — через те,…

14.05.2024

Чип Neural Engine, штучний інтелект, покращена камера: чого чекати від iPhone 16

Презентація Apple, де компанія анонсує нові продукти та розповідає про оновлення айфонів, – завжди очікувана…

13.05.2024

Розробники хочуть створити «Дія. Канали» — альтернативу Telegram та іншим месенджерам

Розробники ГО «Аналітичний центр Інформаційних ресурсів» планують створити альтернативу Telegram та іншим месенджерам — «Дія.…

13.05.2024

Кількість заброньованих айтівців за два місяці збільшилась в півтора рази

В Україні станом на 10 травня трохи менше як 4050 айтівців мають актуальну бронь. Про…

13.05.2024

Brave1 збільшив гранти для оборонних розробок: можна отримати до 2 млн гривень

Кластер Brave1 збільшує гранти для оборонних розробок — тепер можна отримати від 500 тис до…

10.05.2024

Softserve, Luxoft та Infopulse. З’явився рейтинг найбільших платників податків серед IT-компаній

За 2023 рік IT-компанії сплатили сплатили в державний бюджет 20,8 мільярда гривень податків. Це 7,4%…

10.05.2024