VK Cloud logo

Сервистер туралы

Сервистер орналастырылатын жүйенің толық атауы: VK Cloud (XaaS).

Жүйенің қысқаша атаулары: Marketplace, қолданбалар дүкені, дүкен.

Marketplace VK Cloud бұлттық платформасымен интеграцияланған. Marketplace бұлттық платформа пайдаланушыларына онда орналастырылған сервистерге қолжетімділікті қамтамасыз етеді.

Дүкенмен өзара әрекеттесетін пайдаланушылардың рөлдері:

  • Жеткізуші — сервисті дүкенге қосады. Дүкеннің тестілік және ашық атаулар кеңістіктері қолжетімді.
  • Тұтынушы — дүкенде орналастырылған сервисті пайдаланады. Тек дүкеннің ашық атаулар кеңістіктері қолжетімді.

Осы құжат жеткізушілерге арналған.

Осы құжат сервистерді дүкенге қосу тәртібін сипаттайды.

Сервистер түрлері

Дүкен келесі сервис түрлерін орналастыруға мүмкіндік береді:

  • SaaS-қолданба — орталықтандырылған орнатылған мультитенантты өнім. Сервистің жұмыс істеуіне арналған инфрақұрылымды жеткізуші ұсынады. Жеткізуші сервисті не бөгде инфрақұрылымда, не өз жобасындағы бұлттық платформа инфрақұрылымында жаяды. Пайдаланушыға сервис инстансына жеке тенант/аккаунт арқылы қолжетімділік беріледі.

  • Image-based қолданба — пайдаланушының бұлттық жобасындағы виртуалды машиналар образдарының негізінде жайылатын өнім. Сервистің жұмысы үшін бұлттық платформаның қосымша инфрақұрылымы пайдаланылуы мүмкін: виртуалды желілер, жүктеме теңгергіштері, DBaaS кластерлері, VK Object Storage, резервтік көшіру. Сервистің жұмыс істеуіне арналған инфрақұрылымды бұлттық платформа ұсынады. Сервис инстанстары пайдаланушының жобасында жайылады.

    Marketplace бір ВМ-де де, кластерде де жайылатын image-based қолданбаларды орналастыруға мүмкіндік береді.

Сервис ұсынатын қызметтер тарифтік жоспарлар мен опциялар арқылы сипатталады. Тарифтік опция — бұл жоспардың нақты параметрі.

Дүкеннің сервистермен өзара әрекеттесуі VK OSB протоколы бойынша брокерлер арқылы жүзеге асырылады (сурет 1). Брокер сервис конфигурациясын дүкенге жеткізуді қамтамасыз етеді: дүкен брокерден сервис конфигурациясының ағымдағы күйін мерзімді түрде сұратады.

pic1
Сурет 1 — Дүкеннің сервистермен өзара әрекеттесуі

SaaS-брокер нақты SaaS-қолданбаның дүкенмен өзара әрекеттесуін қамтамасыз етеді. Image-based брокер image-based қолданбалардың дүкенмен өзара әрекеттесуін қамтамасыз етеді. Image-based брокердің ішінде бір жеткізушінің image-based қолданбаларын біріктіретін тенанттар болады.

Дүкенге мыналар кіреді:

  • Қызмет жарияланар алдында оның конфигурациясы тексерілетін тестілік атаулар кеңістіктері (NameSpace_test). Сервистің барлық ревизиялары қолжетімді.
  • Сервис жарияланатын ашық атаулар кеңістіктері (NameSpace_public). Тек соңғы жарияланған сервис ревизиясы қолжетімді.

Тестілік атаулар кеңістіктеріне қолжетімділік тек жеткізушілерге беріледі. Егер пайдаланушының бірнеше атаулар кеңістігіне қолжетімділігі болса, онда ол дүкен каталогында өзі қол жеткізе алатын кем дегенде бір атаулар кеңістігінде орналастырылған барлық сервистер мен олардың ревизияларын көреді.

Image-based қолданба үшін тестілік және ашық атаулар кеңістіктері сервистік кілтте және image-based брокерде, ал SaaS-қолданба үшін Marketplace-те брокерді тіркеу кезінде SaaS-брокерде беріледі.

Сервіспен байланысты және дүкенмен интеграция кезінде пайдаланылатын мәндер 1-кестеде келтірілген.

Кесте 1 — Сервіспен байланысты мәндер

Атауы

Сипаттамасы

Сервис инстансы (Service instance)

Пайдаланушыда жайылған сервис данасы

Сервистік байланыс (Service binding)

Бұлттық платформадан брокерге түскен сұрау негізінде сервис инстансы жайылғаннан кейін жасалатын және сервис инстансымен байланыстырылатын мән.

Көбіне сервистік байланыс пайдаланушыға сервиске қол жеткізуге арналған сезімтал ақпаратты беру үшін қолданылады. Егер сервис дүкеннің қатысуынсыз қолжетімділік деректерін жібере алса, онда бұл міндет үшін сервистік байланысты пайдалану талап етілмейді. Сервистік байланыстар қолданылатын міндеттер нақты сервиске байланысты

Тарифтік опциялардың түрлері

2-кестеде келтірілген тарифтік опция түрлері қолдау көрсетіледі.

Кесте 2 — Тарифтік опциялардың түрлері

Тарифтік опция түрі

SaaS-қолданба

Image-based қолданба

Сандық (integer, number)

Сервистер туралы

Сервистер туралы

Жолдық (string)

Сервистер туралы

Сервистер туралы

Логикалық (boolean)

Сервистер туралы

Сервистер туралы

Datasource

Сервистер туралы

Сервистер туралы

datasource опция түрі бұлттық платформа мәндерімен байланысты опцияларды сипаттау үшін қолданылады. Мұндай түр бұлттық платформа деректерін нақты уақыт режимінде пайдалануға мүмкіндік береді. Осы деректердің негізінде сервисті қосу немесе тарифтік жоспарды жаңарту кезінде опцияның ықтимал мәндері қалыптастырылады.

Қолдау көрсетілетін datasource түрлері:

  • Бұлттық платформа пайдаланушысының жобасында қолжетімді ВМ түрлері.
  • Бұлттық платформаның қолжетімділік аймақтары.
  • Бұлттық платформа жобасында қолжетімді виртуалды желілер.
  • Диск түрі.

Тарифтеу

Тарифтік жоспарлар ақылы немесе тегін болуы мүмкін.

Тарифтік жоспарларда ақылы тарифтік опциялар болуы мүмкін. Келесі түрдегі ақылы опциялар қолдау көрсетіледі:

  • Сандық.
  • Логикалық.

Тарифтік жоспарлар мен опциялардың құны сервис конфигурациясында сипатталады.

Тарифтеу түрлерінің (төлеу тәсілдерінің) сипаттамасы 3-кестеде келтірілген.

Кесте 3 — Тарифтеу түрлері

Атауы

Сипаттамасы

Тегін (Free)

Сервисті пайдалану үшін төлем алынбайды.

Image-based қолданба үшін бұлттық платформа инфрақұрылымы төленеді

Алдын ала төленетін (Upfront Commitment)

Сервис үшін төлем есептік кезеңде бір рет сервисті қосу күні немесе тарифтік жоспарды ауыстыру күні есептен шығарылады. Есептік кезеңнің ұзақтығы мен есептен шығару күні сервис конфигурациясында бапталады (толығырақ — Файл plan.yaml, Тарифтік жоспар параметрлері бөлімдерінде).

Құны бекітілген.

Егер есептен шығару сәтінде жоба шотында қаражат жеткіліксіз болса, пайдаланушы мәжбүрлі түрде тегін тарифтік жоспарға ауыстырылады.

Егер сервисте тегін тарифтік жоспар болмаса, сервис инстансы өшіріледі, пайдаланушы оған қолжетімділігін жоғалтады

Кейін төленетін (Usage Based)

Сервис үшін төлем есептік кезең ішінде нақты пайдаланылған сервис ресурстарының санына қарай есептеледі (мысалы, пайдаланылатын сақтау қоймасының көлемі).

Пайдаланылған сервис ресурстарының (тарифтік опциялардың) төлемі дүкен алған метрикалар негізінде нақты пайдалану фактісі бойынша жүргізіледі. Метрикаларды алу тәсілдері:

  • Pull-модель.
  • Push-модель.

Дүкен метрикаларды алатын тарифтік опциялар сервис конфигурациясында сипатталуы тиіс.

Есептен шығарулардың мерзімділігі метрикаларды алу мерзімділігіне байланысты. Мысалы, егер дүкен метрикаларды айына бір рет алса, төлем де айына бір рет есептен шығарылады.

Егер есептен шығару сәтінде жоба шотында қаражат жеткіліксіз болса, soft-кезең басталады:

  • Пайдаланушыға шотты толықтыру қажеттігі туралы email-хабарлама жіберіледі, әйтпесе soft-кезең аяқталғаннан кейін сервис инстансы өшіріледі (тоқтатылады).
  • Soft-кезең ішінде жоба шотының балансы күн сайын тексеріледі. Қаражат жеткілікті болған жағдайда есептен шығару жүргізіледі.

Егер soft-кезең аяқталғанға дейін шот қажетті сомаға толықтырылмаса, hard-кезең басталады:

  • Қаражат жоба шотынан мәжбүрлі түрде есептен шығарылады, жоба бұғатталады.
  • Сервис инстансы өшіріледі, пайдаланушы оған қолжетімділігін жоғалтады.
  • Пайдаланушыға шотты толықтыру қажеттігі туралы email-хабарлама жіберіледі, әйтпесе hard-кезең аяқталғаннан кейін сервис инстансы жойылады.

BYOL (Bring Your Own License)

Сервистер үшін бөгде лицензияларды пайдалану. Сервис инстансы лицензиясыз жайылады

Кейін төленетін тарифтеудің Pull-моделі

Pull-модель — сервис ұсынған есеп негізінде нақты пайдаланылған ресурстар бойынша метрикаларды алу тәсілі. Дүкен жағынан брокерге өңделмеген есептердің бар-жоғы туралы сұрау белгіленген мерзімділікпен жіберіледі (сурет 2):

  1. Егер брокерде өңделмеген есептер болса, брокер оларды дүкенге береді.

  2. Егер брокерде өңделмеген есептер болмаса, келесі әрекеттер орындалады:

    1. Брокер сервистен есеп сұратады.
    2. Брокердің сұрауы бойынша сервис оған барлық қолданыстағы сервис инстанстары бойынша есеп береді.
    3. Брокер есепке batch_id идентификаторын тағайындайды.
    4. Брокер дүкеннің сұрауына жауап ретінде оған өңделмеген есепті береді.
  3. Дүкен алынған есеп негізінде пайдаланылған ресурстардың құнын есептейді.

  4. Есеп өңделгеннен кейін (осы есеп бойынша қаражатты есептен шығару орындалды немесе жоспарланды) дүкен брокерге осы есептің batch_id мәнін хабарлайды. Бұдан әрі брокер өңделген есептерді дүкенге бермейді.

Дүкеннен брокерге сұраулар жіберілетін мерзімділік сервис конфигурациясындағы billing_cycle_step параметрінде бапталады (толығырақ — Тарифтік жоспар параметрлері бөлімінде).

pic1
Сурет 2 — Дүкен мен брокер арасындағы есепті беру

SaaS-брокерде есепті дүкенге беретін әдістер іске асырылуы тиіс. Есеп пішімі SaaS-қосымшасына арналған брокер бөлімінде келтірілген.

Кейін төленетін тарифтеудің Push-моделі

Push-модель — сервис жіберетін API-сұрау көмегімен нақты пайдаланылған ресурстар бойынша метрикаларды алу тәсілі. API-сұраудың параметрлері 4-кестеде келтірілген.

Кесте 4 — Дүкенге метрикаларды жіберу сұрауының параметрлері

Параметр

Мәні

Сұрау әдісі

POST

Сұрау жолы

https://<CLOUD_HOST>/marketplace/api/infra-api/api/v1-public/usages

Мұнда <CLOUD_HOST>https://cloud.vk.com бұлттық платформасының домендік атауы

Content-Type

application/json

Сұрау денесі (--data)

Сұрау денесінде сервис инстанстары бойынша метрикалар беріледі. Келесі параметрлерді көрсетіңіз:

  • base_date — RFC3339 форматындағы метрикаларды жіберу күні.

    Егер күн көрсетілмесе, API-сұрауды орындаудың ағымдағы күні мен уақыты қолданылады.

  • broker_id — брокердің дүкенде тіркелген ID-і. Брокер ID-ін алу үшін marketplace@cloud.vk.com мекенжайына келесі ақпаратпен хат жіберіңіз:

    • Компания атауы.
    • Сервис атауы.

    Егер компанияда тек бір SaaS-брокер немесе image-based брокерде тек бір тенант болса, бұл параметрді көрсетпеңіз.

  • usages — сервистің пайдаланылған ресурстары бойынша метрикалар.

    • usages.instance_uuid — сервис инстансының ID-і.
    • usages.param — тарифтік опцияның атауы. SaaS-қолданба үшін атау JSON-файлда көрсетілген атауға, image-based қолданба үшін — опцияның YAML-файлы атауына сәйкес болуы тиіс.
    • usages.value — тарифтік опцияның тұтынылған саны

x-service-token

<SERVICE_TOKEN_USAGES> — метрикаларды жіберуге арналған сервистік кілт. Метрикаларға арналған сервистік кілтті алу үшін marketplace@cloud.vk.com мекенжайына келесі ақпаратпен хат жіберіңіз:

  • Компания атауы.
  • Метрикаларды жіберуге арналған сервистік кілт иесі болып тағайындалатын пайдаланушының Email-ы.

Әдепкі бойынша метрикаларға арналған сервистік кілттің жарамдылық мерзімі — 1 жыл.

Дүкенге метрикаларды жіберу сұрауының мысалы
$ curl -v -X POST https://cloud.vk.com/marketplace/api/infra-api/api/v1-public/usages \-H "Content-Type: application/json" \-H 'x-service-token: <SERVICE_TOKEN_USAGES>' \--data '{      "broker_id": "7",      "usages: [        {        "instance_uuid": "078621f1-ebe3-4f16-b998-503c487e4bfc",        "param": "storage", // Имя опции в JSON-файле или имя YAML-файла        "value": 2.55786        }      ]}'

Жауаптың HTTP-кодтары 5-кестеде келтірілген.

Кесте 5 — HTTP жауап кодтары

Код

Сипаттамасы

200

Метрикалар жіберілді

400, 500

Сұрауды орындау қатесі

401

Авторизация қатесі

Тарифтік жоспарлар матрицасы

Тарифтік жоспарлар матрицасы (сурет 3) сервис туралы ақпаратты қарау кезінде тарифтер бетінде көрсетіледі. Матрица негізінде пайдаланушы сервис тарифтерін өзара салыстыра алады: қай тарифтік жоспарға қандай опциялар кіреді.

pic1

Сурет 3 — Тарифтік жоспарлар матрицасы

Тарифтік жоспарлар матрицасы сервис конфигурациясында сипатталады. Онда пайдаланушы тарифтік жоспарды таңдау кезінде сүйенетін сервис тарифтік опциялары көрсетіледі.

Тарифтік жоспар конфигурациясының шебері

Сервисті қосу кезінде және тарифтік жоспарды жаңарту кезінде пайдаланушыға тарифтік жоспар конфигурациясының шебері көрсетіледі.

Тарифтік жоспар конфигурациясының шебері пайдаланушыға нақты тарифтік жоспар үшін тарифтік опцияларды баптауға мүмкіндік береді.

Дүкен интерфейсінде тарифтік жоспар конфигурациясының шебері жеке беттерге бөлінген (сурет 4). Әр бет тарифтік жоспарды баптаудың нақты кезеңін сипаттайды. Бетте осы кезеңде бапталатын тарифтік опциялар көрсетіледі. Опциялар топтарға біріктірілген.

pic1

Сурет 4 — Тарифтік жоспар конфигурациясының шебері

Тарифтік жоспар конфигурациясының шеберінің бірінші және соңғы беттері автоматты түрде қосылады. Қалған беттер сервис конфигурациясында сипатталады.

Тарифтік жоспар конфигурациясының шеберінде тарифтік жоспар мен ақылы тарифтік опциялардың құны көрсетіледі. Image-based қолданбалар үшін қосымша түрде бұлттық платформа инфрақұрылымының құны көрсетіледі, ол бұлттық платформа тарифтеріне сәйкес автоматты түрде есептеледі. Есептеуге арналған параметрлер image-based қолданбаның конфигурациясында сипатталады.