Թումոյի ենթակառուցվածքի ավագ ինժեները՝ տեխնոլոգիական լուծումների մասին

Հայացք՝ ներսից.

Թումոյի ենթակառուցվածքի ավագ ինժեները՝ տեխնոլոգիական լուծումների մասին

PanARMENIAN.Net - Թումո ստեղծարար տեխնոլոգիաների կենտրոնի կրթական ծրագրի, դրա առավելությունների ու պոպուլյարության մասին բազմիցս է խոսվել։ Սակայն այն, ինչ մնում է ուշադրությունից դուրս, ինժեներների ու ծրագրավորողների աշխատանքն է, ովքեր ոչ միայն զբաղվել ու զբաղվում են ծրագրի մշակմամբ ու սպասարկմամբ, այլև՝ հետագա զարգացմամբ։

PanARMENIAN.Net ը զրուցել է Թումոյի ենթակառուցվածքի ավագ ինժեներ Մարկ Ամիրաղյանի հետ՝ կրթական ծրագրի, դրա տեխնիկական առանձնահատկությունների, էվոլյուցիայի ու հեռանկարների մասին։

Մարկը Թումոյում աշխատում է 2018-ից, իսկ մինչ այդ եղել է ուսանող: Այժմ Թումոյի ենթակառուցվածքի ավագ ինժեներ է: Վերջին 11 տարիներին Թումոյի կրթական ծրագրում, ըստ նրա, տեղի են ունեցել մեծ փոփոխություններ, որոնք կարելի է բաժանել մի քանի մասի: Բացվելու ժամանակ՝ 2011-ին, ստեղծվել էր Թումոյի առաջին աշխարհը՝ ծրագրային ապահովում (software), որն իրենից ներկայացնում էր կրթական խաղի նման պրոդուկտ:

«Դա վիրտուալ միջավայր էր, որում ուսանողները մեկ աշխարհում էին, որտեղ կարող էին միմյանց հետ համագործակցել, սովորել վարժանքներ, մրցել տարբեր ոլորտներում: Երկրորդ փուլը տեղի ունեցավ 2015-ին, երբ սկզբնական ծրագիրն արդեն հնացել էր, և մենք զգում էինք թարմացման անհրաժեշտություն: Այդ ժամանակ դուրս եկավ Թումոյի երկրորդ աշխարհը, որն օգտագործվում է մինչ օրս»,- պատմեց Մարկը:

Երկրորդ աշխարհը կոչվում է Tumo Path (Թումո Շավիղ): Այս պրոդուկտը փորձում է ուսանողի համար կառուցել ուսուցողական շավիղ` հաշվի առնելով նրա նախընտրած կրթական ոլորտները։ Այն հիմնված է արհեստական բանականության ալգորիթմերի և ուրիշ ուսանողների նախընտրությունների տվյալների վրա:

«Թումոյում ունենք 14 ոլորտ, այդ թվում՝ ծրագրավորում, ռոբոտաշինություն, դիզայն, նկարչություն, խաղերի ստեղծում, երաժշտություն, վեբ ծրագրավորում և այլն: Ոլորտներին ծանոթանալուց հետո ուսանողին տրվում է ընտրություն, թե որ ոլորտներն են իրեն ամենաշատը հետաքրքրում, ինչից հետո նա ընտրում է վեց ոլորտ, ընդ որում՝ դրանք կարգավորվում են առաջնայնությամբ, օրինակ՝ ամենաշատն ուզում է ծրագրավորումը, հետո՝ երաժշտությունը և այլն: Ընտրությունից հետո ուսանողի համար կառուցվում է իր ուղին, ապա՝ նա կատարում է ինքնուսուցման վարժանքներ ու գնում դասընթացների»,- նշեց նա:

Ամիրաղյանի խոսքով՝ պրոդուկտն օգտագործվում է բոլոր Թումո կենտրոններում, այն 2015-ից սկսած շատ փոփոխությունների ու մոդեռնիզացիայի է ենթարկվել: Կենտրոնում աշխատում են ինքնաուսուցում/դասընթացներ հարաբերակցությունը պահել 50/50 տարբերակով, որպեսզի սովորելու կեսը լինի ինքնուսուցումը, մյուս կեսը՝ դասընթացները:

Ըստ Թումոյի ենթակառուցվածքի ավագ ինժեների, ուսուցողական շավիղի համար իդեալական սցենարն այն է, որ ուսանողը կես տարում ավարտի մեկ ամբողջական ոլորտ՝ հետո շարժվի մյուս ոլորտների ուղղությամբ. «Ի դեպ, ուսանողներին լիարժեք ազատություն է տրված իրենց շավիղը փոխելու առումով, այսինքն՝ եթե սկզբում նա ընտրեց վեց ոլորտ, հետո ցանկացած օր կարող է փոխել իր ոլորտներն ու ընտրել լրիվ ուրիշ ոլորտներ, կամ միայն մասամբ փոխարինել իր ոլորտներից մի քանի հատը։ Այսինքն, կրթական ծրագիրը ճկուն է»:

Խոսելով կրթական ծրագրի հետագա զարգացման պլանների մասին՝ մեր զրուցակիցը մանրամասնեց, որ ներկայում մտածում են Թումոյի երրորդ աշխարհի մասին: Մարկի խոսքով՝ առաջին աշխարհը շատ խնդիրներ ուներ 2011թ-ին, սակայն ուներ մի շատ կարևոր առավելություն, անգլերեն լեզվով՝ gamification, այսինքն՝ «խաղալիությունը», ծրագրի հետ հենց խաղի միջոցով փոխազդելու հնարավորությունը:

«Երեխաներին դա շատ էր դուր գալիս, որովհետև կարող էին միմյանց հետ մրցել նույն վիրտուալ միջավայրում: Այսինքն, այն լավ էր երեխաների մրցակցության և հետաքրքրության համար, սակայն բացթողումներ ուներ կրթական բովանդակության և ուսանողի ժամանակի կառավարման ոլորտներում: Երկրորդ աշխարհը դրա հակառակն է, այստեղ չկա խաղի ֆակտորը, բայց կա ավելի շատ ուսուցման ֆակտորը: Մենք ցանկանում ենք այդ երկու առավելությունները միացնել միմյանց ու ապագայում նոր պրոդուկտներ մշակելիս նրանց մեջ ներառել gamification-ի ֆակտորը, որպեսզի կրթական գործընթացի մեջ ավելանա առողջ մրցակցությունը, որն իր հերթին, ինչպես ցույց են տալիս տվյալները, տեսանելի դրական ազդեցություն է ունենում երեխաների հետաքրքրվածության և արդյունքների ցուցանիշի վրա»,- պատմեց նա։

Մասնագետն անդրադարձավ նաև ավելի հեռավոր պլաններին՝ նշելով, որ մտածել են անգամ վիրտուալ Թումոյի՝ «թումովերսի» ստեղծման մասին: Այն իրենից ներկայացնում էր մեծ վիրտուալ «գալակտիկայի» կոնցեպտ, որը հենց Թումոն էր, իր աշխարհներով՝ «ծրագրավորման աշխարհ», «ռոբոտաշինության աշխարհ» և այլն, որտեղ անգամ կարելի էր 3D գրաֆիկա մասամբ ավելացնել, VR և այլն: Մարկը շեշտեց, որ այս ամենը դեռ հեռահար պլանների մեջ է:

Տեխնիկական կրթություն ունեցող մեր ընթերցողների համար Թումոյի ենթակառուցվածքի ավագ ինժեները պատմեց նաև օգտագործված սոֆթի էվոլյուցիայի ու բեկումնային կետերի մասին. «Շատ լավ, խոսենք տեխնիկական լեզվով։ Թումոյի տեխնոլոգիական զարգացումը շատ բուռն է եղել ու շատ տարբեր քայլերով: 2011-ի աշխարհը ստեղծված էր Adobe-ի Flash-ով, որը հիմա արդեն չկա: Երբ Flash-ի աջակցությունը դադարեցվեց ու սկսեցին այն հանել գլխավոր բրաուզերներից, մեզ մոտ խնդիր առաջացավ: Բարեբախտաբար, այդ ժամանակ արդեն կառուցում էինք մեր երկրորդ պրոդուկտը նոր տեխնոլոգիաներով: Տվյալ պահին մեր աշխարհը գրված է Vue.js-ով Frontend-ում, նաև այն օգտագործում է Canvas-ը՝ տարբեր custom rendering-ներ կատարելու համար։ Իսկ Backend-ը կոմպլեքս է, օգտագործվում են տարբեր տեխնոլոգիաներ մայքրոսերվիսների pattern-ով, բայց ունենք երկու հիմնական tech stack-եր մեր սերվիսներում. առաջինը PHP-ն է Yii 2 Framework-ով` մեր ավելի legacy պրոդուկտների համար, որոնք մենք շարունակական rewrite ենք անում և մոդեռնիզացնում, և երկրորդը Node.js/Typescript է արդեն նոր սերվիսների համար»:

Մարկը նշեց, որ բոլոր սերվիսները դոկերիզացված են (dockerized) և deploy են արվում Kubernetes։

Հարցին՝ «արդյո՞ք կիրառվում են ամպային տեխնոլոգիաներ», նա պատասխանեց. «Այո, ամեն ինչ cloud-ում է, մենք ներկայում գտնվում ենք Microsoft Azure-ում։ Սակայն այդ զարգացումը միանգամից չի եղել, այլ քայլ առ քայլ: Ենթակառուցվածքային տեսանկյունից Թումոյի բացումից սկսած մեզ մոտ շատ տրադիցիոնալ մոտեցում էր, օգտագործում էինք մեր սեփական սերվերները: Ու այդ լոկալ ցանցով սերվերների վրա՝ Թումոյի շենքերի ներսում, միացված էին մեր պրոդուկտները: Այդպես շարունակվում էր մինչև 2018-ը, ընթացքում բացվեց ևս երեք Թումո կենտրոն Գյումրիում, Դիլիջանում ու Ստեփանակերտում, ու այնտեղ ևս մենք սերվերներ էինք տեղադրում լոկալ ցանցով ու անգամ լոկալ ցանցի կամուրջներ ունեինք Երևանից Ստեփանակերտ և այլն: Սակայն 2018թ-ին պետք է բացեինք մեր առաջին միջազգային կենտրոնը Փարիզում, և հասկացանք, որ ամեն անգամ սերվեր գնելն այնքան էլ լավ գաղափար չէ: Բացի այդ, սերվերների հետ բազմաթիվ խնդիրներ են լինում, օրինակ՝ հոսանքի տատանումներ, ու անընդհատ պետք էր hard drive-երը թարմացնել, պետք էր առանձին սպասարկող թիմ պահել, կարճ ասած՝ մեծ խնդիր էր:

Ու երբ հասկացանք, որ պետք է Թումոներ բացենք ամբողջ աշխարհով, Փարիզից հետո՝ Բեյրութում, Բեռլինում, Մոսկվայում, և այլն, գիտակցեցինք, որ սերվերներով չի լինի: Դրա համար հենց Փարիզի կենտրոնից սկսած որոշեցինք տեղափոխվել cloud ու ընտրվեց Microsoft Azure-ը: Սկզբում ուղղակի մեկ հատ virtual machine վերցրինք Azure-ում՝ Փարիզի շրջանում, մեր բոլոր պրոդուկտները dockerize արեցինք, ու կոնտերյերներով deploy արեցինք այս virtual machine-ի վրա, որովհետև սկզբում Փարիզում այդքան շատ մարդ չկար ու սկզբի համար լրիվ նորմալ լուծում էր: Հետո բացվեց Բեյրութն ու նույն լուծումը տրվեց այնտեղ: Բայց հետո հասկացանք, որ կենտրոնների թիվը շատ է լինելու, ու մենք պետք է հնարավորություն ունենանք շատ արագ նոր կենտրոններ կառուցել ու իրենց scale անել, իսկ ուղղակի VM-ներ բացելը կրկին շատ տեխնիկական սպասարկում է պահանջում: Անհրաժեշտ էր կենտրոնացված ձևով ամեն ինչ կազմակերպել:

Ու այդ ժամանակ որոշեցինք Kubernetes օգտագործել, Azure Kubernetes Service-ը (AKS), որն էլ մենք հիմա օգտագործում ենք: Մենք Setup արեցինք մեր կլաստերը ու սկսեցինք հեշտությամբ կոնտեյներներով manage անել բոլոր մեր կենտրոնները: Այդ ժամանակ Հայաստանը դեռ սերվերների վրա էր, որովհետև այստեղ ուսանողների ամենամեծ տվյալներն էին , 10 տարում մոտ 60 հազար ուսանողի ֆայլերն ու user generated կոնտենտը, որոնք անհրաժեշտ էր տեղափոխել cloud: 2020թ-ի սկզբին Հայաստանի տվյալները ևս տեղափոխեցինք cloud: Մեկ ամիս հետո սկսվեց համավարակը, ու փաստորեն, մեր բախտը բերել էր, որ մինչ այդ էինք արել տեղափոխման պրոցեսը, որովհետև կովիդի պայմաններում հեռահար աշխատանքի դեպքում լոկալ ցանցով սերվերների հետ խնդիր կլիներ»:

Ամիրաղյանի խոսքով՝ հիմա իրենք ավելի շատ կենտրոնացած են ամպային ենթակառուցվածքները մոդիֆիկացնելու ուղղությամբ՝ օգտագործելով նոր Kubernetes-ի տեխնոլոգիաներ, service mesh-եր, օպտիմիզացնելով կոնֆիգուրացիաները և այլն:

«Tech stack-երի առումով՝ մենք մի քանի սերվիսում օգտագործում ենք նաև C#, ASP.NET, Core.NET 6.0, ու database-երի միջև բաժանում կա՝ հիմնական data-ն մենք պահում ենք Self Hosted MongoDB-ում, և օգտագործում ենք նաև Azure SQL»,- ասաց նա:

Զրույցի վերջում Թումոյի ենթակառուցվածքների ավագ ինժեները պատմեց նաև կենտրոնում իր անցած ուղու մասին. «Թումո սկսեցի այցելել 12 տարեկանում՝ 2015թ-ին: Ինձ հետաքրքրում էր ծրագրավորումը, որն էլ առաջինն ընտրեցի: Սկսեցի նաև կամավորության սկզբունքով դասընթացավարի օգնական աշխատել. շատ ուսանողներ կան, որ այդպես են անում: Դասընթացավարին մի օր փոխարինեցի, ու երբ նա վերադարձավ, առաջարկեց աշխատել որպես դասընթացավար: Ինտերվյու անցա ծրագրավորման դասընթացավարի համար: Այդ ժամանակ 14 տարեկան էի: Հետագայում մեր Զարգացման գծով տնօրեն Բեկոր Փափազյանը նույնպես ցանկացավ հարցազրույց անցկացնել ու առաջարկեց միանալ ծրագրավորողների թիմին, ինչն ինձ համար դրական իմաստով շոկ էր: Առաջին կես տարին բաժանում էի իմ ժամանակը դասընթացավար ու ծրագրավորող լինելու միջև: Կես տարի անց առաջարկեցին ամբողջությամբ միանալ ծրագրավորողների թիմին, ու սկսեցի աշխատել Թումո Փարիզի ուղղությամբ։ Ուսանող լինելուց հետո ծրագրավորման թիմում հայտնվելը լրիվ այլ զգացում է, երբ ներսից տեսնում ես այն խնդիրների լուծումը, որոնց միջոցով նախկինում անցել ես»։

Արման Գասպարյան
---