Монолиттерден микросервистерге: M.Video-Eldorado жана MegaFon тажрыйбасы

Монолиттерден микросервистерге: M.Video-Eldorado жана MegaFon тажрыйбасы

25-апрелде биз Mail.ru Groupто булут жана айлана-чөйрө жөнүндө конференция өткөрдүк - mailto:CLOUD. Бир нече урунттуу учурлар:

  • негизги Орус провайдерлери — Mail.ru Cloud Solutions, #CloudMTS, SberCloud, Selectel, Rostelecom Data Center жана Yandex.Cloud биздин булут рыногунун өзгөчөлүктөрү жана алардын кызматтары жөнүндө айтып беришти;
  • Bitrix24 кесиптештери кантип айтып беришти көп булутка келди;
  • Leroy Merlin, Otkritie, Burger King жана Schneider Electric кызыктуу тартуулашты булут керектөөчүлөрдөн көрүү — алардын бизнеси IT үчүн кандай милдеттерди коёт жана кайсы технологияларды, анын ичинде булут технологияларын алар эң келечектүү деп эсептешет.

Сиз бардык видеолорду mailto:CLOUD конференциясынан көрө аласыз байланыш, жана бул жерден сиз микросервис жөнүндө талкуунун кандай өткөнүн окуй аласыз. MegaFon бизнес системаларын изилдөө жана өнүктүрүү борборунун жетекчиси Александр Деулин жана M.Video-Eldorado тобунун маалыматтык технологиялар боюнча директору Сергей Сергеев монолиттерден арылуу боюнча ийгиликтүү учурлары менен бөлүштү. Биз ошондой эле IT стратегиясынын, процесстердин жана ал тургай HRдин тиешелүү маселелерин талкууладык.

Панелисттер

  • Сергей Сергеев, Group CIO "М.Видео-Эльдорадо";
  • Александр Деулин, чарбалык системаларды изилдөө жана өнүктүрүү борборунун жетекчиси MegaFon;
  • Модератор - Дмитрий Лазаренко, PaaS багытынын башчысы Mail.ru Cloud Solutions.

Александр Деулиндин суйлеген сезунен кийин "МегаФон микросервис платформасы аркылуу бизнесин кантип кеңейтүүдө" аны талкууга M.Video-Eldorado компаниясынан Сергей Сергеев жана Mail.ru Cloud Solutions дискуссиясынын модератору Дмитрий Лазаренко катышты.

Төмөндө биз сиздер үчүн талкуунун стенограммасын даярдадык, бирок сиз видеону да көрө аласыз:

Микросервистерге өтүү рыноктун керектөөлөрүнө жооп болуп саналат

Дмитрий:

Микросервистерге өтүү боюнча ийгиликтүү тажрыйбаңыз барбы? Жана жалпысынан: микросервистерди колдонуудан же монолиттерден микросервистерге өтүүдөн бизнестин эң чоң пайдасын кайдан көрөсүз?

Сергей:

Биз микросервистерге өтүүдө кандайдыр бир жолду басып өттүк жана бул ыкманы үч жылдан ашык убакыттан бери колдонуп келебиз. Микросервистерге болгон муктаждыкты актаган биринчи муктаждык ар кандай алдыңкы өнүмдөрдү бэк-офис менен чексиз интеграциялоо болду. Жана ар бир жолу биз тигил же бул кызматтын иштеши үчүн өзүбүздүн эрежелерибизди ишке ашырып, кошумча интеграция жана өнүктүрүүгө аргасыз болчубуз.

Кайсы бир учурда, биз системаларыбыздын иштешин жана функцияларды чыгарууну тездетүү керектигин түшүндүк. Ошол учурда микросервис жана микросервис мамилеси сыяктуу түшүнүктөр рынокто мурунтан эле бар болчу жана биз аны сынап көрүүнү чечтик. Бул 2016-жылы башталган. Андан кийин аянтча төшөлүп, алгачкы 10 кызмат өзүнчө команда тарабынан ишке ашырылган.

Биринчи кызматтардын бири, эң көп жүктөлгөн кызматтардын бири бааларды эсептөө кызматы болгон. Сиз каалаган каналга, M.Video-Eldorado компаниялар тобуна, мейли веб-сайтка, мейли чекене дүкөнгө келген сайын, ошол жерден товарды тандаңыз, веб-сайттан же “Корзинадан” баасын көрүңүз, баасы автоматтык түрдө түзүлөт. бир кызмат менен эсептелген. Бул эмне үчүн зарыл: буга чейин ар бир системанын акциялар менен иштөө үчүн өз принциптери болгон - арзандатуулар жана башкалар. Биздин бэк-офис бааларды жөнгө салат; арзандатуу функциясы башка системада ишке ашырылат. Бул борборлоштурулган жана бизнес-процесс түрүндө түзүлүүчү уникалдуу, бөлүнүүчү кызмат керек болчу, бул бизге муну ишке ашырууга мүмкүндүк берет. Биз так ошондой баштадык.

Алгачкы натыйжалардын мааниси абдан чоң болду. Биринчиден, биз өзүнчө жана бириктирилген түрдө иштөөгө мүмкүндүк берген бөлүүчү объекттерди түзө алдык. Экинчиден, биз көбүрөөк системалар менен интеграциялоо жагынан ээлик кылуунун баасын төмөндөттүк.

Акыркы үч жылдын ичинде биз үч алдыңкы системаны коштук. Аларды компаниянын мүмкүнчүлүгүнө жараша ресурстар менен камсыз кылуу кыйынга турду. Ошондуктан рынокко ылдамдык, ички чыгымдар жана эффективдүүлүк жагынан жооп берген жаңы соода түйүндөрүн издөө милдети келип чыкты.

Микросервистерге өтүүнүн ийгилигини кантип өлчөсө болот

Дмитрий:

Микросервистерге өтүүдө ийгилик кантип аныкталат? Ар бир компанияда "мурда" кандай болгон? Өткөөлдүн ийгилигин аныктоо үчүн сиз кайсы метрикти колдондуңуз жана аны чынында ким аныктады?

Сергей:

Биринчиден, ал IT ичинде жаңы мүмкүнчүлүктөрдү "кулпусун ачуу" үчүн активдештирүүчү катары жаралган. Биз рыноктун чакырыктарына жооп берип, салыштырмалуу бирдей акча үчүн бардыгын тезирээк жасашыбыз керек болчу. Азыр ийгилик ар кандай системалар тарабынан кайра колдонулган кызматтардын санында, процесстердин өз ара биригишинен көрүнүп турат. Азыр бар, бирок ошол учурда платформаны түзүү жана биз муну кыла алабыз деген гипотезаны тастыктоо үчүн мүмкүнчүлүк болду, ал эффект берет жана бизнес ишин эсептейт.

Александр:

Ийгилик - бул ички сезим. Бизнес ар дайым көптү каалайт жана биздин артта калуучулуктун тереңдиги ийгиликтин далили. Мага ушундай сезилет.

Сергей:

Ооба мен макулмун. Үч жылдын ичинде бизде эки жүздөн ашык кызматтар жана артта калуулар бар. Команданын ичиндеги ресурстарга болгон муктаждык гана өсүп жатат - жыл сайын 30% га. Бул адамдар сезгендиктен болуп жатат: бул тезирээк, бул башкача, ар кандай технологиялар бар, мунун баары өнүгүп жатат.

Микросервистер келет, бирок өзөгү калат

Дмитрий:

Бул өнүгүүгө инвестиция салган бүтпөгөн процесс сыяктуу. Бизнес үчүн микросервистерге өтүү бүттүбү же жокпу?

Сергей:

Жооп берүү абдан оңой. Кандай деп ойлойсуз: телефондорду алмаштыруу чексиз процесс эмеспи? Жыл сайын өзүбүз телефон сатып алабыз. Бул жерде: ылдамдык керек болсо, рынокко ыңгайлашуу үчүн кандайдыр бир өзгөртүүлөр талап кылынат. Бул биз стандарттуу нерселерден баш тартабыз дегенди билдирбейт.

Бирок биз бардыгын дароо жаап, кайра жасай албайбыз. Бизде мурда болгон, стандарттуу интеграциялык кызматтар бар: ишкана автобустары жана башкалар. Бирок артта калуучулук бар, муктаждык да бар. Мобилдик тиркемелердин саны жана алардын функционалдуулугу өсүүдө. Ошол эле учурда 30% көбүрөөк акча берилет деп эч ким айтпайт. Башкача айтканда, бир жагынан дайыма муктаждыктар, экинчи жагынан эффективдүүлүктү издөө.

Дмитрий:

Жашоо жакшы абалда. (Күлүп)

Александр:

Жалпысынан алганда, ооба. Негизги бөлүгүн ландшафттан алып салууга бизде революциячыл мамиле жок. Системаларды микросервис архитектурасына шайкеш келтирүү, системалардын бири-бирине тийгизген таасирин азайтуу боюнча системалуу иштер жүргүзүлүүдө.

Бирок биз негизги бөлүгүн сактап калууну пландап жатабыз, анткени оператордун пейзажында ар дайым биз сатып алган платформалар болот. Дагы бир жолу, бизге дени сак баланс керек: биз өзөктү кесип салууга шашылбашыбыз керек. Биз системаларды жанаша жайгаштырабыз, эми биз көптөгөн негизги бөлүктөрдүн үстүндө экенибиз белгилүү болду. Андан ары функционалдуулукту өнүктүрүү менен биз байланыш кызматтарыбыз менен иштеген бардык каналдар үчүн керектүү өкүлчүлүктөрдү түзөбүз.

Бизнеске микросервистерди кантип сатуу керек

Дмитрий:

Мени дагы кызыктырат - которула элек, бирок пландаштырып жаткандар үчүн: бул идеяны бизнеске сатуу канчалык оңой болду жана бул приключение, инвестициялык долбоорбу? Же бул аң-сезимдүү стратегиябы: азыр биз микросервистерге бара жатабыз жана ушунча, бизди эч нерсе токтото албайт. Сиз үчүн кандай болду?

Сергей:

Биз ыкманы эмес, бизнестин пайдасын сатканбыз. Бизнесте көйгөй бар болчу, аны чечкенге аракет кылдык. Ошол учурда ар кандай каналдар бааларды эсептөөдө ар кандай принциптерди колдонушканы – акцияларды өзүнчө, акцияларды өткөрүү үчүн ж.б.у.с. Аны кармоо кыйынга турду, каталар болуп, кардарлардын даттанууларын уктук. Башкача айтканда, биз көйгөйдү чечүү жолун сатып жатканбыз, бирок платформаны түзүү үчүн акча керек экендиги менен келдик. Жана алар инвестициянын биринчи этабынын мисалында бизнес кейс көрсөтүштү: биз аны мындан ары кантип актайбыз жана бул бизге эмне кылууга мүмкүндүк берет.

Дмитрий:

Биринчи этаптын убактысын кандайдыр бир жол менен жаздыңызбы?

Сергей:

Ооба албетте. Биз өзөктү платформа катары түзүп, пилотту сыноо үчүн 6 ай бөлдүк. Бул убакыттын ичинде биз учкуч коньки тебүү үчүн аянтча түзүүгө аракет кылдык. Андан кийин гипотеза тастыкталды жана ал иштегендиктен, биз уланта алабыз дегенди билдирет. Алар команданы кайталай башташты жана күчтөндүрүштү – алар аны өзүнчө бир дивизияга көчүрүштү.

Андан кийин бизнестин муктаждыктарына, мүмкүнчүлүктөрүнө, ресурстардын болушуна жана учурда иштеп жаткан нерселердин бардыгына негизделген системалуу иш келет.

Дмитрий:

макул. Александр, сен эмне дейсиң?

Александр:

Биздин микросервистер "деңиз көбүгүнөн" пайда болду - ресурстарды үнөмдөөнүн эсебинен, сервердин сыйымдуулугу жана команданын ичиндеги күчтөрдү кайра бөлүштүрүү түрүндөгү айрым калдыктардан улам. Башында бул долбоорду бизнеске саткан жокпуз. Бул экөөбүз тең изилдеп, ошого жараша иштеп чыккан долбоор болчу. Биз 2018-жылдын башында баштаганбыз жана жөн гана шыктануу менен бул тармакты өнүктүрдүк. Сатуу жаңы эле башталды жана биз процесстебиз.

Дмитрий:

Бизнес сизге Google сыяктуу нерселерди жасоого мүмкүндүк берет - жумасына бир бош күн? Сизде ушундай багыт барбы?

Александр:

Изилдөө менен бирге биз бизнес көйгөйлөрү менен да алектендик, ошондуктан биздин бардык микросервистер бизнес көйгөйлөрүн чечүү болуп саналат. Башында гана биз абоненттик базанын бир аз бөлүгүн камтыган микросервистерди курганбыз, азыр болсо дээрлик бардык флагмандык продуктыларда барбыз.

Ал эми материалдык таасир эбак эле айкын - биз буга чейин эле санап болот, эгерде биз эски жолду карманган болсок, продукцияны чыгаруунун ылдамдыгын жана жоголгон кирешени баалоого болот. Мына ушунун негизинде биз ишти куруп жатабыз.

Микросервистер: ызы-чуубу же зарылчылыкпы?

Дмитрий:

Сандар - сандар. Ал эми киреше же үнөмдөлгөн акча абдан маанилүү. Башка тарапты карасаңызчы? Микросервистер тенденция, хайп жана көптөгөн компаниялар аны кыянаттык менен пайдаланып жатышат окшойт? Микросервистерге эмне кылып жатканыңызды жана которбогонуңузду канчалык так айырмалайсыз? Эгер азыр мурас болсо, 5 жылдан кийин дагы мураска ээ болосузбу? M.Video-Eldorado жана MegaFon компанияларында иштеген маалымат системалары 5 жылдан кийин канча жашта болот? Он жылдык, он беш жылдык маалымат системалары болобу же жаңы муун болобу? Муну кандай көрүп жатасыз?

Сергей:

Мага өтө алысты ойлонуу кыйындай сезилет. Артка кылчайып карасак, технология рыногу ушундай жол менен өнүгөт, анын ичинде машинаны үйрөнүү жана колдонуучунун бети боюнча идентификациялоону ким элестеткен? Бирок жакынкы жылдарды карап көрсөңүз, менимче, компаниялардагы негизги системалар, ERP классындагы системалар - алар көптөн бери иштеп келе жатат.

Биздин компаниялар жамааттык 25 жашта, классикалык ERP системалар пейзажында абдан терең. Биз ал жерден кээ бир бөлүктөрдү алып, аларды микросервистерге бириктирүүгө аракет кылып жатканыбыз түшүнүктүү, бирок өзөк кала берет. Мен үчүн азыр биз ал жердеги бардык негизги системаларды алмаштырып, жаңы системалардын башка, жаркыраган тарабына тез өтөбүз деп элестетүү кыйын.

Мен кардарга жана керектөөчүгө жакын болгон нерселердин баары бизнестин эң чоң пайдасы жана баалуулугу, ыңгайлашуу жана ылдамдыкка, өзгөртүүгө, "аракет кылуу, жокко чыгаруу, кайра колдонуу, башка нерсени жасоо" деген жерде экенин жактайм. керек «— пейзаж ошол жерде өзгөрөт. Ал эми кутучага салынган буюмдар ал жакка абдан туура келбейт. Жок дегенде биз аны көрбөйбүз. Ал жерде эң оңой, эң жөнөкөй чечимдер талап кылынат.

Биз бул өнүгүүнү көрүп жатабыз:

  • негизги маалымат системалары (негизинен бэк-офис);
  • микросервис түрүндөгү орто катмарлар өзөктү бириктирет, бириктирет, кэш түзөт жана башкалар;
  • алдыңкы системалар керектөөчүгө багытталган;
  • жалпысынан базарларга, башка системаларга жана экосистемаларга интеграцияланган интеграциялык катмар. Бул катмар мүмкүн болушунча жеңил, жөнөкөй жана минималдуу бизнес логикасын камтыйт.

Бирок ошол эле учурда мен эски принциптерди туура колдонсо, уланта берүүнүн тарапкеримин.

Сизде классикалык ишкана системасы бар дейли. Ал бир сатуучунун пейзажында жайгашкан жана бири-бири менен иштеген эки модулдан турат. Стандарттык интеграция интерфейси да бар. Эмне үчүн аны кайра жасап, ал жерге микросервисти алып келиңиз?

Бирок бэк-офисте 5 модул болгондо, алардан маалымат бизнес процессине чогултулуп, андан кийин 8-10 алдыңкы системалар тарабынан колдонулат, пайда дароо байкалат. Сиз беш бэк-офис тутумун алып, бизнес процессине багытталган обочолонгон кызматты түзөсүз. Кызматты технологиялык жактан өркүндөтүңүз - ал маалыматты кэштейт жана каталарга чыдамдуу, ошондой эле документтер же бизнес субъекттери менен иштешет. Жана сиз аны бардык алдыңкы өнүмдөр менен бирдиктүү принцип боюнча бириктиресиз. Алар алдыңкы продуктту жокко чыгарышты - алар жөн гана интеграцияны өчүрүштү. Эртең сиз мобилдик тиркемени жазышыңыз керек же кичинекей веб-сайт жасап, функцияга бир гана бөлүгүн киргизишиңиз керек - бардыгы жөнөкөй: сиз аны конструктор сыяктуу чогулттуңуз. Мен бул багытта көбүрөөк өнүгүүнү көрүп турам – жок дегенде биздин өлкөдө.

Александр:

Сергей биздин мамилебизди толугу менен сүрөттөп берди, рахмат. Мен жөн гана айтам, биз кайда барбайбыз - негизги бөлүккө, онлайн биллинг темасына. Башкача айтканда, рейтинг жана заряддоо, чындыгында, акчаны ишенимдүү түрдө өчүрө турган "чоң" кырман бойдон калат. Жана бул система мындан ары да биздин көзөмөлдөөчү органдар тарабынан тастыкталат. Кардарларга карагандын баары, албетте, микросервистер.

Дмитрий:

Бул жерде сертификаттоо бир окуя. Балким, көбүрөөк колдоо. Эгерде сиз колдоого азыраак коротсоңуз же система колдоону жана өзгөртүүнү талап кылбаса, ага тийбегениңиз жакшы. Акылга сыярлык компромисс.

Ишенимдүү микросервистерди кантип иштеп чыгуу керек

Дмитрий:

Жакшы. Бирок мен дагы эле кызыгам. Эми сиз ийгиликтүү окуяны айтып жатасыз: баары жакшы болду, биз микросервистерге өттүк, идеяны бизнеске коргодук, баары ойдогудай болду. Бирок мен башка окуяларды уктум.

Бир нече жыл мурун, банктар үчүн жаңы микросервис платформасын иштеп чыгууга эки жыл инвестиция салган швейцариялык компания акыры долбоорду жапты. Толугу менен кулаган. Көптөгөн миллиондогон швейцариялык франктар сарпталды, акыры команда тарап кетти - андан майнап чыккан жок.

Сизде да ушундай окуялар болду беле? Кыйынчылыктар болгонбу же жокпу? Мисалы, микросервистерди жана мониторинг жүргүзүү компаниянын операциялык ишмердүүлүгүндөгү баш оору болуп саналат. Анткени, компоненттердин саны ондогон эсе көбөйөт. Сиз муну кандай көрөсүз, бул жерде инвестициянын ийгиликсиз мисалдары болдубу? Анан ушундай көйгөйлөргө туш болбошу үчүн адамдарга эмне кеңеш бере аласыз?

Александр:

Ийгиликсиз мисалдарга бизнестин артыкчылыктарын өзгөртүү жана долбоорлорду жокко чыгаруу кирет. Даярдыктын жакшы баскычында болгондо (чындыгында MVP даяр), бизнес: "Бизде жаңы артыкчылыктар бар, биз башка долбоорго өтүп жатабыз жана биз муну жаап жатабыз" деди.

Микросервистерде глобалдык катачылыктарыбыз болгон жок. Биз тынч уктайбыз, бизде бардык BSS [бизнес колдоо системасы] кызмат кылган 24/7 нөөмөт бар.

Дагы бир нерсе - биз микросервистерди кутуга салынган продукцияга тиешелүү эрежелерге ылайык ижарага беребиз. Ийгиликтин ачкычы, биринчиден, микросервисти өндүрүшкө толук даярдай турган топту чогултуу керек. Өнүктүрүүнүн өзү шарттуу түрдө 40% түзөт. Калгандары аналитика, DevSecOps методологиясы, туура интеграция жана туура архитектура. Биз коопсуз тиркемелерди түзүү принциптерине өзгөчө көңүл бурабыз. Маалыматтык коопсуздук өкүлдөрү ар бир долбоорго архитектураны пландаштыруу стадиясында да, ишке ашыруу процессинде да катышат. Алар ошондой эле алсыздыктар үчүн кодду талдоо системаларын башкарат.

Жарандыгы жок кызматтарыбызды орноттук дейли - бизде алар Кубернетесте бар. Бул кызматтардын авто-масштабынын жана авто-көбөйтүлүшүнүн аркасында бардыгына тынч уктоого мүмкүндүк берет, ал эми нөөмөт нөөмөтүндө инциденттер пайда болот.

Биздин микросервистердин бүткүл жашоосунда биздин линияга жеткен бир же эки гана окуя болгон. Азыр операцияда эч кандай кыйынчылык жок. Бизде, албетте, 200 эмес, 50гө жакын микросервис бар, бирок алар флагмандык продуктыларда колдонулат. Эгер алар ишке ашпай калса, биринчилерден болуп биз билмекпиз.

Микросервис жана HR

Сергей:

Мен кесиптешимдин колдоо көрсөтүүгө өтүү жөнүндө айтканына кошулам - ишти туура уюштуруу керек. Бирок, мен, албетте, бар көйгөйлөр жөнүндө айтып берейин.

Биринчиден, технология жаңы. Бул жакшы жагынан хайп жана муну түшүнө турган жана түзө ала турган адисти табуу чоң көйгөй. Ресурстар үчүн атаандаштык жинди, ошондуктан эксперттер алтынга татыктуу.

Экинчиден, белгилүү ландшафттарды түзүү жана кызмат көрсөтүүлөрдүн санын көбөйтүү менен кайра пайдалануу маселеси дайыма чечилиши керек. Иштеп чыгуучулар каалагандай: "Келгиле, азыр бул жерде көп кызыктуу нерселерди жазалы ..." Ушундан улам, система өсүп, акча, ээлик кылуу наркы жана башкалар боюнча натыйжалуулугун жоготот. Башкача айтканда, системанын архитектурасына кайра колдонууну киргизүү, аны кызматтарды киргизүү жана мурасты жаңы архитектурага өткөрүү боюнча жол картасына киргизүү зарыл.

Дагы бир көйгөй - бул өзүнчө жакшы болсо да - ички атаандаштык. "Оо, бул жерде жаңы модалуу балдар пайда болду, алар жаңы тилде сүйлөшөт." Адамдар, албетте, ар кандай. Java тилинде жазууга көнүп калгандар жана Docker жана Kubernetes жазган жана колдонгондор бар. Булар таптакыр башка адамдар, башкача сүйлөп, ар кандай терминдерди колдонуп, кээде бири-бирин түшүнбөй калышат. Бул жагынан алганда, тажрыйба, билим менен бөлүшүү жөндөмдүүлүгү же жөндөмсүздүгү да көйгөй болуп саналат.

Ооба, ресурстарды масштабдоо. "Сонун кеттик! Эми биз тезирээк, көбүрөөк каалайбыз. Эмне, кыла албайсыңбы? Бир жылда эки эсе көп тапшырууга мүмкүн эмеспи? Эмне үчүн?" Мындай өсүп жаткан оорулар, балким, көп нерселер үчүн стандарттуу, көп ыкмалар, жана сиз аларды сезе аласыз.

Мониторинг боюнча. Менин оюмча, кызматтар же өнөр жайлык мониторинг куралдары Docker жана Kubernetes менен башка, стандарттуу эмес режимде иштешип же үйрөнүп жатышат. Ошентип, мисалы, сиз мунун бардыгы иштеп жаткан 500 Java машиналарына ээ болбойсуз, тактап айтканда, ал агрегаттарды бириктирет. Бирок бул продуктылар дагы эле жетилген эмес, алар бул аркылуу өтүшү керек. Тема чындыгында жаңы экен, мындан ары да өнүгүп кете берет.

Дмитрий:

Ооба, абдан кызыктуу. Жана бул HRге тиешелүү. Балким, HR процесси жана HR бренди ушул 3 жылдын ичинде бир аз өзгөргөн. Сиз ар кандай компетенциядагы башка адамдарды тарта баштадыңыз. Анан, балким, жакшы да, жаман да жактары бар. Буга чейин блокчейн жана маалымат илими шыктандырылып, алардагы адистер миллиондогон акчага бааланган. Азыр нарк төмөндөп, рынок толуп баратат, микросервистерде да ушундай тенденция байкалууда.

Сергей:

Ооба, таптакыр.

Александр:

HR төмөнкүдөй суроо берет: "Сиздин кызгылт түстөгү жалгыз мүйүзүңүз арткы жана фронтондун ортосунда кайда?" HR микросервис деген эмне экенин түшүнбөйт. Биз аларга сырды айтып, «баян» баарын жасаганын, бир мүйүздүү мүйүздүү мүйүзү жок экенин айттык. Бирок HR өзгөрүп, тез үйрөнүп, негизги IT билими бар адамдарды жалдоодо.

Микросервистердин эволюциясы

Дмитрий:

Эгер сиз максаттуу архитектураны карасаңыз, микросервистер ушундай желмогузга окшош. Сиздин жолуңуз бир нече жылга созулду. Башкалар бир жыл, башкалары үч жыл. Сиз бардык көйгөйлөрдү, максаттуу архитектураны алдын ала көрдүңүз беле, бир нерсе өзгөрдүбү? Мисалы, микросервистерге келсек, шлюздар жана тейлөө торлору кайрадан пайда болууда. Аларды башында колдонуп көрдүңүзбү же архитектуранын өзүн өзгөрттүңүзбү? Сизде ушундай кыйынчылыктар барбы?

Сергей:

Биз буга чейин бир нече байланыш протоколдорун кайра жаздык. Башында бир протокол бар болчу, азыр башкасына өттүк. Биз коопсуздукту жана ишенимдүүлүктү арттырабыз. Биз ишкана технологияларынан баштадык - Oracle, Web Logic. Азыр биз микросервистеги технологиялык ишкана продукциясынан баш тартып, ачык булак же толугу менен ачык технологияларга өтүп жатабыз. Биз маалымат базаларынан баш тартып, бул моделде биз үчүн натыйжалуураак болгон нерсеге өтөбүз. Бизге мындан ары Oracle технологиялары керек эмес.

Биз жөн гана кызмат катары баштадык, бизге кэш канчалык керек экенин, микросервис менен байланыш жок болгондо эмне кылмакпыз, бирок маалыматтар керек болуп калганда жана башкалар жөнүндө ойлонбой туруп эле. кызматтардын тилинде эмес, бизнес тилинде, биз сөз менен сүйлөй баштаганда бизнес логикасын кийинки деңгээлге көтөрүңүз. Эми биз тамгалар менен сүйлөгөндү үйрөндүк, жана кийинки баскычта кызматтар кандайдыр бир агрегатка чогултулат, бул мурунтан эле сөз болгондо - мисалы, бүтүндөй продукт картасы. Ал микросервистерден чогултулган, бирок бул анын үстүнө курулган API.

Коопсуздук абдан маанилүү. Сиз жеткиликтүү боло баштаганыңызда жана сизде көптөгөн кызыктуу нерселерди ала турган кызматка ээ болгонуңузда жана өтө тез, бир секунданын ичинде, аны эң коопсуз эмес жол менен алуу каалоосу пайда болот. Мындан кутулуу үчүн биз тестирлөө жана мониторинг жүргүзүү ыкмаларын өзгөртүүгө туура келди. Биз команданы, жеткирүү башкаруу структурасын, CI/CD өзгөртүүгө туура келди.

Бул эволюция - телефондор сыяктуу эле, бир топ ылдамыраак: алгач баскычтуу телефондор пайда болду, андан кийин смартфондор пайда болду. Рыноктун башка муктаждыгы бар болгондуктан, алар продукцияны кайра жазып, кайра конструкциялашты. Мына ошентип өнүгүп жатабыз: биринчи класс, онунчу класс, иш.

Технология жагынан жылына бир нерсе, артта калуу жана муктаждыктар жагынан дагы бир нерсе кайталанат. Биз бир нерсени экинчиси менен байланыштырабыз. Команда 20% техникалык карызга жана команданы техникалык колдоого, 80% чарбалык субъектке жумшайт. Жана биз муну эмне үчүн жасап жатканыбызды, эмне үчүн бул технологиялык жакшыртууларды жасап жатканыбызды, алар эмнеге алып келерин түшүнүү менен кыймылдайбыз. Болжол менен ушундай.

Дмитрий:

Баракелде. MegaFonдо эмне бар?

Александр:

Микросервистерге келгенде негизги маселе башаламандыкка кабылбоо болду. MegaFon архитектуралык кеңсеси дароо бизге кошулду, ал тургай демилгечи жана айдоочу болуп калды – азыр бизде абдан күчтүү архитектура бар. Анын милдети биз кайсы максаттуу моделге бара жатканыбызды жана кандай технологияларды пилоттук түрдө колдонуу керектигин түшүнүү болчу. Архитектура менен биз бул учкучтарды өзүбүз жүргүздүк.

Кийинки суроо: "Анда мунун баарын кантип пайдалануу керек?" Жана дагы бир: "Микросервистердин ортосундагы ачык-айкын өз ара аракеттенүүнү кантип камсыз кылуу керек?" Кызмат торчосу бизге акыркы суроого жооп берүүгө жардам берди. Биз Istio пилоттук жана натыйжалары жакты. Азыр биз өндүрүштүк зоналарга чыгуу стадиясында турабыз. Биз бардык чакырыктарга позитивдүү көз караштабыз – стекти тынымсыз өзгөртүү, жаңы нерсени үйрөнүү керек. Биз эски чечимдерди колдонууга эмес, иштеп чыгууга кызыкдарбыз.

Дмитрий:

Алтын сөздөр! Мындай чакырыктар команданы жана бизнести бутуна кармап, келечекти түзөт. GDPR башкы маалыматтарды коргоо кызматкерлерин түздү, ал эми учурдагы кыйынчылыктар башкы микросервистерди жана архитектуралык офицерлерди түзөт. Жана жагат.

Биз көп талкууладык. Эң негизгиси, микросервистердин жакшы дизайны жана архитектуранын өзү көптөгөн каталардан качууга мүмкүндүк берет. Албетте, процесс кайталануучу жана эволюциялык, бирок бул келечек.

Бардык катышуучуларга рахмат, Сергей менен Александрга рахмат!

Угуучулардын суроолору

Аудиториядан суроо (1):

Сергей, сиздин компанияңызда IT-менеджмент кандай өзгөрдү? Мен түшүнөм, бир нече системалардын чоң стеки болгондо, аны кантип башкарары так жана логикалык процесс. Ушунчалык кыска убакыттын ичинде абдан көп сандагы микросервистер интеграциялангандан кийин, IT компонентинин башкаруусун кантип калыбына келтирдиңиз?

Сергей:

Мен кесиптешимдин айтымында, архитектура өзгөрүүлөрдүн кыймылдаткычы катары абдан маанилүү. Архитектура бөлүмүн түзүү менен баштадык. Архитекторлор бир эле учурда функционалдуулукту бөлүштүрүүнүн жана анын пейзажда кандай пайда боло турганына карата талаптардын ээлери болуп саналат. Ошентип, алар бул өзгөрүүлөрдүн координаторлору катары да иштешет. Натыйжада, биз CI/CD платформасын түзүп жатканда, белгилүү бир жеткирүү процессинде өзгөчө өзгөрүүлөр болду.

Бирок стандарт, өнүктүрүүнүн негизги принциптери, бизнести талдоо, тестирлөө жана өнүктүрүү жокко чыгарылган эмес. Биз жөн гана ылдамдыкты коштук. Буга чейин цикл ушунчалык көптү талап кылчу, сыноо чөйрөлөрүндө орнотуу дагы көптү талап кылды. Эми бизнес пайдасын көрүп: «Эмне үчүн башка жерлерде да ошондой кыла албайбыз?» деп жатат.

Бул жакшы жагынан алганда, вакцина түрүндөгү инъекцияга окшош: сиз муну ушундай кылсаңыз болот, бирок башка жол менен кыла аласыз. Албетте, кадрда, компетенцияда, билимде, каршылыкта маселе бар.

Аудиториядан суроо (2):

Микросервис архитектурасынын сынчылары тестирлөө жана иштеп чыгуу кыйын экенин айтышат. Бул нерсе татаалдашкан жерде логикалык. Сиздин командаңыз кандай кыйынчылыктарга туш болду жана аларды кантип жеңдиңиз? Баары үчүн суроо.

Александр:

Микросервистерден платформага өтүүдө кыйынчылыктар бар, бирок аларды чечсе болот.

Мисалы, 5-7 микросервистен турган буюм жасап жатабыз. Мастер бутагына өтүү үчүн жашыл жарык күйгүзүү үчүн микросервистердин бүтүндөй стекинде интеграциялык тесттерди беришибиз керек. Бул тапшырма биз үчүн жаңылык болгон жок: биз муну BSSде көптөн бери аткарып келгенбиз, анда сатуучу бизге мурунтан эле жөнөтүлгөн чечимдерди берген.

Ал эми биздин көйгөй кичинекей коллективде гана. Бир шарттуу продукт үчүн бир QA инженери керек. Ошентип, биз 5-7 микросервистин продуктуну жөнөтөбүз, анын 2-3үн үчүнчү тараптар иштеп чыгышы мүмкүн. Мисалы, бизде өнүмдү иштеп чыгууга биздин эсеп-кысап системасынын сатуучусу, Mail.ru Group жана MegaFon R&D катышат. Аны өндүрүшкө жөнөтүүдөн мурун биз муну сыноолор менен камтышыбыз керек. QA инженери бул продукциянын үстүндө бир жарым айдан бери иштеп жатат, калган команда анын колдоосуз калды.

Бул татаалдык масштабда гана пайда болот. Биз микросервистердин вакуумда болушу мүмкүн эмес экенин түшүнөбүз; абсолюттук изоляция жок. Бир кызматты өзгөртүүдө биз ар дайым API келишимин сактоого аракет кылабыз. Капоттун астында бир нерсе өзгөрсө, алдыңкы кызмат кала берет. Эгерде өзгөртүүлөр өлүмгө алып келсе, кандайдыр бир архитектуралык трансформация ишке ашат жана биз такыр туура келбеген такыр башка маалымат метамоделине өтөбүз - ошондо гана биз v2 кызматынын API спецификациясынын пайда болушу жөнүндө сүйлөшөбүз. Биз бир эле учурда биринчи жана экинчи версияларды колдойбуз жана бардык керектөөчүлөр экинчи версияга өткөндөн кийин, биз жөн гана биринчисин жабабыз.

Сергей:

Мен кошкум келет. Мен татаалдыктарга толугу менен кошулам - алар болот. Ландшафт татаалдашып баратат жана кошумча чыгымдар, айрыкча тестирлөө үчүн көбөйүүдө. Муну менен кантип күрөшүү керек: автоматташтырылган тестирлөөгө өтүү. Ооба, сиз автотесттерди жана бирдик тесттерин жазууга кошумча каражат жумшашыңыз керек болот. Ошентип, иштеп чыгуучулар тесттен өтпөстөн жасай алышпайт, алар кодду өзгөртө алган жок. Ошентип, басуу баскычы да автотестсиз иштебейт, бирдик сынагы.

Мурунку функцияны сактап калуу маанилүү жана бул кошумча чыгым. Эгер сиз технологияны башка протоколго кайра жазсаңыз, анда бардыгын толугу менен жапканга чейин аны кайра жазасыз.

Биз кээде атайылап аягына чейин тестирлөөнү жасабайбыз, анткени биз өнүгүүнү токтоткубуз келбейт, бирок бизде дагы бир нерсе бар. Ландшафт абдан чоң, татаал, системалары көп. Кээде бул жөн гана тактар ​​- ооба, сиз коопсуздук маржасын азайтасыз, көбүрөөк тобокелдиктер пайда болот. Бирок, ошол эле учурда сиз камсыз кылууну бошотуп.

Александр:

Ооба, автотесттер жана бирдик тесттери жогорку сапаттагы кызматты түзүүгө мүмкүндүк берет. Биз бирдик жана интеграциялык сыноолорсуз өтпөй турган куур үчүн. Биз көп учурда эмуляторлорду жана коммерциялык системаларды сыноо зонасына жана иштеп чыгуу чөйрөсүнө сүйрөшүбүз керек, анткени бардык системаларды сыноо зонасына жайгаштыруу мүмкүн эмес. Андан тышкары, алар жөн эле нымдап калбайт - биз системадан толук кандуу жооп беребиз. Бул микросервистер менен иштөөнүн олуттуу бөлүгү жана биз ага инвестиция салып жатабыз. Ансыз башаламандык башталат.

Аудиториядан суроо (3):

Менин түшүнүшүм боюнча, микросервистер алгач өзүнчө командадан өсүп, азыр бул модельде бар. Анын кандай жакшы жана жаман жактары бар?

Бизде окшош окуя бар: микросервистердин бир түрү пайда болгон. Эми биз концептуалдык жактан бул ыкманы өндүрүшкө жана системалар боюнча жайылтууга жетиштик. Башкача айтканда, биз микросервистердин, микросервис моделдерин борборлоштурулган өнүктүрүүдөн алыстап, системаларга жакындап баратабыз.

Демек, биздин ишибиз системаларга да барат, башкача айтканда, биз бул теманы борбордон ажыратып жатабыз. Сиздин мамилеңиз кандай жана максатыңыз кандай?

Александр:

Сиз "микросервис фабрикасы" деген аталышты оозуңуздан чыгарып салдыңыз - биз дагы масштабдашкыбыз келет. Биринчиден, азыр бизде бир команда бар. Биз MegaFon ээ болгон бардык өнүктүрүү командаларына жалпы экосистемада иштөө мүмкүнчүлүгүн бергибиз келет. Бизде азыр иштеп жаткан бардык функцияларды толугу менен алгыбыз келбейт. Жергиликтүү милдет - масштабдоо, глобалдык милдет - микросервис катмарындагы бардык командаларды өнүктүрүү.

Сергей:

Биз басып өткөн жолду айтып берейин. Биз чындап эле бир команда болуп иштей баштадык, бирок азыр жалгыз эмеспиз. Мен төмөндөгүлөрдүн жактоочусумун: процесстин ээси болушу керек. Кимдир бирөө микросервистерди иштеп чыгуу процессин түшүнүшү, башкаруусу, көзөмөлдөөсү жана куруусу керек. Ал ресурстарга ээ болушу жана ресурстарды башкаруу менен алектениши керек.

Технологияларды, спецификацияларды билген жана микросервистерди кантип курууну түшүнгөн бул ресурстарды продукт командаларында жайгаштырса болот. Бизде микросервис платформасынын адамдары мобилдик тиркемени жасаган продукт командасына кирген аралашма бар. Алар бар, бирок алар иштеп чыгуу менеджери менен микросервис платформасын башкаруу бөлүмүнүн процессине ылайык иштешет. Бул бөлүмдүн ичинде технология менен алектенген өзүнчө команда бар. Башкача айтканда, биз өз ара ресурстардын жалпы бассейнин аралаштырып, аларды командаларга берип, бөлүштүрөбүз.

Ошол эле учурда, процесс жалпы бойдон кала берет, көзөмөлдөнөт, ал жалпы технологиялык принциптерге ылайык жүрөт, бирдикти сыноо жана башкалар - үстүнө курулгандын бардыгы. Продукт мамилесинин ар кандай бөлүмдөрүнөн чогултулган ресурстар түрүндөгү тилкелер болушу мүмкүн.

Александр:

Сергей, сен чындыгында процесстин ээсисиң, туурабы? Артта калган тапшырмалар бөлүшүлгөнбү? Анын бөлүштүрүлүшү үчүн ким жооп берет?

Сергей:

Караңыз: бул дагы аралашма. Технологиялык өркүндөтүүнүн негизинде түзүлгөн артта калуу бар - бул бир окуя. Долбоорлордон формулировкаланган артта калуу бар, продукциядан артта калуу бар. Ал эми ар бир кызмат продуктысына киргизүү ырааттуулугу же бул кызматты түзүү продукт адиси тарабынан иштелип чыккан. Ал IT дирекциясында эмес, ал атайын кызматтан алынган. Бирок менин элим сөзсүз ошол эле процесс менен иштешет.

Ар кандай багыттардагы артта калуунун ээси - өзгөрүүлөрдүн артта калышы - ар кандай адамдар болот. Технологиялык кызматтардын байланышы, аларды уюштуруу принциби – мунун баары ITде болот. Мен платформага жана ресурстарга ээмин. Жогору жагында артта калуучулукка жана функционалдык өзгөрүүлөргө жана бул мааниде архитектурага тиешелүү нерсе бар.

Бизнес мындай дейт дейли: "Биз бул функцияны каалайбыз, биз жаңы продуктту түзгүбүз келет - насыяны кайра жасагыбыз келет." Биз: «Ооба, кайра жасайбыз» деп жооп беребиз. Архитекторлор: "Ойлонуп көрөлү: биз микросервистерди насыянын кайсы жерине жазабыз жана аны кантип кылабыз?" Андан кийин биз аны долбоорлорго, продуктыларга же технологиялык стектерге бөлүп, командаларга бөлүп, ишке ашырабыз. Сиз ички продукт түзүп, бул продуктта микросервистерди колдонууну чечтиңизби? Биз: "Эми бизде болгон эски системалар же алдыңкы системалар ушул микросервистерге өтүшү керек" деп айтабыз. Архитекторлор мындай дешет: «Демек: технологиялык артта калууда алдыңкы катардагы продукциялар - микросервистерге өтүү. Бар". Ал эми продукциянын адистери же бизнес ээлери канча кубаттуулук бөлүнгөнүн, качан жана эмне үчүн жасалаарын түшүнүшөт.

Талкуунун аягы, бирок баары эмес

mailto:CLOUD конференциясы уюштурулду Mail.ru Cloud Solutions.

Биз башка иш-чараларды да жасайбыз - мис. @Kubernetes Meetup, биз ар дайым мыкты спикерлерди издейбиз:

  • Telegram каналыбыздан @Kubernetes жана башка @Meetup жаңылыктарына көз салыңыз t.me/k8s_mail
  • @Meetups жолугушууларынын биринде сүйлөшкүңүз келеби? үчүн өтүнүч калтырыңыз mcs.mail.ru/speak

Source: www.habr.com

Комментарий кошуу