Мы абнаўляем маркетплейс: раскажыце нам, як лепш?

Мы абнаўляем маркетплейс: раскажыце нам, як лепш?

У гэтым годзе мы паставілі сабе амбіцыйныя мэты па паляпшэнні прадукту.

Некаторыя задачы патрабуюць сур'ёзнай падрыхтоўкі, па іх мы збіраем зваротную сувязь ад карыстальнікаў: запрашаем у офіс распрацоўшчыкаў, сісадмінаў, кіраўнікоў каманд, спецыялістаў па Kubernetes.

У некаторых - выдаём серверы ў адказ за фідбэк, як напрыклад было са студэнтамі Blurred Education. У нас вельмі насычаныя чаты з абмеркаваннем UI/UX, бэклог навучальных артыкулаў у даведнік і вялікія планы па паляпшэнні карыстацкага досведу.

Большасць змен патрабуюць вялікую колькасць гадзін распрацоўшчыкаў, але маркетплейс - зусім іншая гісторыя. Са з'яўленнем снапшотаў у нас з'явілася магчымасць прыцягваць вонкавых сістэмных адміністратараў, якія могуць падрыхтаваць выяву, каб мы літаральна за дзень уключылі яго ў маркетплейс.

Як унесці свой уклад у маркетплейс RUVDS і што за гэта будзе, мы пакажам на прыкладзе нашай новай выявы, падрыхтаванага нашым кліентам takezi - GitLab

Як ствараўся шаблон Gitlab на Centos 8

Для ўсталёўкі Gitlab Юра абраў сервер з 8 Гб RAM і 2 ядрамі CPU (можна і 4 Гб і 1 CPU, але ў гэтым выпадку прыйдзецца задзейнічаць swap-файл, і з прадукцыйнасць Gitlab у такім выпадку прыкметна ніжэй.

Мы абнаўляем маркетплейс: раскажыце нам, як лепш?

Пераканаемся, што ўсталяваныя неабходныя пакеты для ўсталёўкі Gitlab:

sudo dnf install -y curl policycoreutils

Адкрыем доступ да партоў 80 і 443:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

Дадамо рэпазітар Gitlab:

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

Калі ў сервера ёсць наладжанае DNS-імя, то Gitlab можна ўсталяваць выкарыстоўваючы яго. Калі пазначыць прэфікс https://, то Gitlab аўтаматычна згенеруе сертыфікаты Lets Encrypt.

У нашым выпадку, т.я. мы рабілі шаблон віртуальнай машыны, то Юрась задаў шаблонны адрас (які потым без праблем можна будзе змяніць у будучыні):

sudo EXTERNAL_URL="http://0.0.0.0" dnf install -y gitlab-ee

Пасля гэтага можна праверыць што сэрвісы Gitlab працуюць, зайшоўшы на

http://vps_ip_address/

сістэма прапануе задаць першапачатковы пароль для ўліковага запісу адміністратара root.

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

Мы абнаўляем маркетплейс: раскажыце нам, як лепш?

І ўсё!

Бонус: раскажам, што можна зрабіць цікавага, разгарнуўшы віртуалку з выявай GitLab.

Маніторынг Gitlab з дапамогай Grafana

Тры гады таму каманда Gitlab рэалізавала сістэму маніторынгу, каб кіраваць вялікай колькасцю метрык звязаных з сэрвісамі Gitlab.

З тых часоў Gitlab стаў пастаўляць свой усталявальны пакет разам з Prometheus, што б даць магчымасць сваім карыстачам скарыстацца магчымасцямі маніторынгу якія прадстаўляюцца Prometheus.

Prometheus з'яўляецца адкрытай (Apache 2.0) time series СКБД, напісанай на мове Go і першапачаткова распрацаванай у кампаніі SoundCloud. Іншымі словамі, гэтая штука захоўвае вашыя метрыкі. Цікавай асаблівасцю Prometheus з'яўляецца тое, што ён сам цягне метрыкі з зададзенага мноства сэрвісаў (робіць pull). За кошт гэтага ў Prometheus не могуць забіцца нейкія там чэргі ці накшталт таго, а значыць маніторынг ніколі не стане вузкім месцам сістэмы. Таксама праект цікавы тым, што ён прынцыпова не прапануе які-небудзь гарызантальнага маштабавання ці high availability.

Крыху больш за год таму каманда Gitlab зрабіла выснову, што метрыкі не вельмі зручныя без дашбордаў. Таму яны інтэгравалі Grafana з настроенымі дашбордамі, каб дапамагчы сваім карыстальнікам, візуалізаваць дадзеныя, без неабходнасці ўсталёўваць Grafana ўручную.

Пачынальна з версіі 12.0, у Gitlab інтэграваная Grafana, сканфігураваная з SSO па змаўчанні, і даступная па гэтым URL.

Ёсць дзве розныя часткі інтэграцыі Gitlab з Prometheus:

  • Маніторынг GitLab (Omnibus)
  • Маніторынг асобных прыкладанняў GitLab у кластары Kubernetes

Як гэта выкарыстоўваць

"Omnibus" - так GitLab называе свой асноўны ўсталявальных пакет.

Мы абнаўляем маркетплейс: раскажыце нам, як лепш?

Як наладзіць Grafana

Уваход па лагіне і паролю ў Grafana па змаўчанні адключаныя (дазволены толькі ўваход SSO), але калі ёсць неабходнасць увайсці ва ўліковы запіс з правамі адміністратара або мець магчымасць уваходу па лагіне і паролю, неабходна дазволіць гэта ў файле канфігурацыі Gitlab /etc/gitlab/gitlab .rb, адрэдагаваўшы адпаведны радок:

grafana['disable_login_form'] = false

І выканаць рэканфігурацыю Gitlab для ўжывання змен:

sudo gitlab-ctl reconfigure

У выпадку, калі вы запусцілі Gitlab выкарыстоўваючы наш шаблон віртуальнай машыны з нашага маркетплэйса, неабходна прызначыць серверу свой URL, змяніўшы адпаведны радок у /etc/gitlab/gitlab.rb:

external_url = 'http://gitlab.mydomain.ru'

Выканаць рэканфігурацыю:

sudo gitlab-ctl reconfigure

І змяніць Redirect URI для Grafana адпаведна ў

Admin Area > Applications > GitLab Grafana

gitlab.mydomain.ru/-/grafana/login/gitlab

Мы абнаўляем маркетплейс: раскажыце нам, як лепш?

Пры першым уваходзе з выкарыстаннем SSO, Gitlab запытае дазвол на аўтарызацыю ўваходу ў Grafana.

Мы абнаўляем маркетплейс: раскажыце нам, як лепш?

Метрыкі

У Grafana настроены і даступныя ў катэгорыі Gitlab Omnibus гатовыя дашборды асноўных сэрвісаў.

Мы абнаўляем маркетплейс: раскажыце нам, як лепш?
Дашборд Overview

Мы абнаўляем маркетплейс: раскажыце нам, як лепш?
Дашборд Service Platform Metrics

  • Overview - аглядны дашборд, які паказвае стан сэрвісаў, чэргі і выкарыстанне рэсурсаў сервера
  • Gitaly — маніторынг сэрвісу які прадстаўляе RPC доступ да рэпазітараў Gitlab
  • NGINX VTS - статыстыка па трафіку сэрвісаў і кодам HTTP на запыт
  • PostgreSQL - статыстыка па даступнасці і нагрузцы на базу дадзеных PostgreSQL
  • Praefect — маніторынг нагрузкі на сховішча з вышыннай даступнасцю Praefect
  • Rails App - аглядны дашборд для прыкладанняў Rails
  • Redis - маніторынг нагрузкі на сэрвіс Redis
  • Registry - маніторынг рэестра вобразаў
  • Service Platform Metrics - сэрвісныя метрыкі якія паказваюць утылізацыю рэсурсаў Gitlab'ом, даступнасць сэрвісаў, колькасць запытаў RPC і колькасць памылак.

Інтэграцыя даволі комплексная і карыстачы Gitlab маюць магчымасць аналізаваць візуалізаваныя метрыкі Gitlab прама са скрынкі.

У Gitlab падтрымкай і абнаўленнем дашбордаў займаецца асобная каманда і па словах Бэна Кочы (Ben Kochie), інжынера SRE Gitlab, налады па змаўчанні і падрыхтаваныя дашборды падыдуць большасці карыстальнікаў.

А зараз галоўнае: давайце рабіць маркетплейс разам

Мы жадаем прапанаваць усяму кам'юніці Хабра паўдзельнічаць у стварэнні маркетплейса. Ёсць тры варыянты, як вы можаце далучыцца:

Падрыхтаваць вобраз самому і атрымаць 3000 рублёў на баланс

Калі вы гатовы адразу рынуцца ў бой і самому стварыць вобраз, якога вам не хапае, мы залічым вам 3000 рублёў на ўнутраны баланс — вы зможаце патраціць на серверы.

Як стварыць свой вобраз:

  1. Стварыце акаўнт у нас на сайце
  2. Паведаміце ў падтрымку, што вы збіраецеся ствараць і тэставаць выявы
  3. Мы залічым вам 3000 рублёў і ўключым магчымасць ствараць снапшоты
  4. Замоўце віртуальны сервер з чыстай аперацыйнай сістэмай
  5. Усталюйце на гэтую VPS праграмнае забеспячэнне і наладзьце яго
  6. Складзіце інструкцыю або скрыпт для разгортвання ПЗ
  7. Стварыце снапшот для настроенага сервера
  8. Замоўце новы віртуальны сервер, выбраўшы ў выпадаючым спісе «Шаблон сервера» створаны раней снапшот
  9. У выпадку паспяховага стварэння сервера, перадайце матэрыялы атрыманыя на этапе 6 тэхнічнай падтрымцы
  10. У выпадку памылкі вы можаце ўдакладніць у падтрымкі прычыну і паўтарыць настройку

Для ўладальнікаў бізнэсу: прапануеце свой софт

Калі вы - распрацоўшчык софту, які разгортваюць і выкарыстоўваюць на VPS, то мы можам уключыць вас у маркетплейс. Так мы можам дапамагчы вам прывесці новых кліентаў, трафік і пазнавальнасць. Пішыце нам

Проста прапанаваць нам вобраз у каментарах

Напішыце, які з якім софтам вы хацелі б мець магчымасць разгортваць віртуалкі ў адзін клік?

Чаго вам не хапае ў маркетплэйсе RUVDS?

Што кожны які паважае сябе хостынг павінен абавязкова ўключыць у свой маркетплейс?

Мы абнаўляем маркетплейс: раскажыце нам, як лепш?

Мы абнаўляем маркетплейс: раскажыце нам, як лепш?

Толькі зарэгістраваныя карыстачы могуць удзельнічаць у апытанні. Увайдзіце, Калі ласка.

Якія выявы нам варта ўключыць у маркетплейс першымі?

  • 50,0%LEMP10

  • 15,0%Drupal3

  • 10,0%Joomla2

  • 5,0%Dokku1

  • 0,0%PacVim0

  • 0,0%Runcloud0

  • 5,0%code-server1

  • 15,0%Ghost3

  • 5,0%WikiJs1

  • 0,0%Discourse0

  • 0,0%Rstudio0

  • 5,0%OpenCart1

  • 35,0%Джанга7

  • 40,0%Laravel8

  • 20,0%Ruby on Rails4

  • 55,0%NodeJs11

Прагаласавалі 20 карыстальнікаў. Устрымаліся 12 карыстальнікаў.

Крыніца: habr.com

Дадаць каментар