Backend ծրագրավորում

Սերվերային ճարտարապետություն, տվյալների բազաներ և API-ներ, որոնք դիմանում են աճին։

Backend-ը այն մասն է, որը օգտատերը չի տեսնում, բայց հենց այնտեղ է որոշվում՝ ձեր համակարգը կաշխատի՞ կայուն, թե՞ կփլուզվի առաջին լուրջ բեռնվածության տակ։ CodeOrigins-ը 2022 թվականից նախագծում է սերվերային մասը վեբ հավելվածների, մարկետփլեյսների և ներքին կորպորատիվ համակարգերի համար՝ սկսելով տվյալների մոդելից, ոչ թե կոդից։

Մենք գրում ենք կոդ, որը կարող է կարդալ և շարունակել այլ ծրագրավորող։ Ամեն նախագիծ հանձնվում է փաստաթղթավորված API-ով, միգրացիաներով, թեստերով և deploy-ի կարգավորված գործընթացով, որպեսզի դուք կախված չլինեք որևէ մեկ մարդուց։

Սերվերային ճարտարապետության նախագծում

Աշխատանքը սկսվում է ոչ թե կոդից, այլ ճարտարապետությունից՝ ի՞նչ մոդուլներ կան, ինչպե՞ս են դրանք շփվում, որտե՞ղ է լինելու խցանումը։ Փոքր ու միջին նախագծերի համար կառուցում ենք հստակ շերտավորված մոնոլիտ՝ բաժանված domain-ների, քանի որ միկրոսերվիսները վաղաժամ ներդնելը սովորաբար ավելացնում է ծախսն առանց օգուտի։ Իսկ երբ իրական կարիք կա՝ առանձնացնում ենք ծանր գործընթացները հերթերի և առանձին սերվիսների մեջ։ Ամեն որոշում փաստաթղթավորվում է, որպեսզի կես տարի անց հասկանալի լինի, թե ինչու է այդպես արված։

Տվյալների բազաների նախագծում և օպտիմիզացիա

Վատ նախագծված տվյալների բազան այն խնդիրն է, որը հետո ամենաթանկն է ուղղել։ Մենք նախագծում ենք սխեման նորմալացման ճիշտ մակարդակով, ավելացնում ենք ինդեքսներ իրական հարցումների հիման վրա, ոչ թե ենթադրությունների։ MySQL և PostgreSQL-ը մեր հիմնական գործիքներն են, Redis-ը՝ քեշավորման և հերթերի համար։ Գործող նախագծերում անցկացնում ենք հարցումների աուդիտ՝ գտնում ենք N+1 խնդիրները, դանդաղ հարցումները և ինդեքսների բացակայությունը։ Հաճախ սերվերի արագացումը 5–10 անգամ ստացվում է առանց նոր սերվեր գնելու։

API-ների նախագծում և փաստաթղթավորում

Եթե ձեր կայքին կամ բջջային հավելվածին պետք է սերվերային մաս, ապա API-ն ձեր արտադրանքի պայմանագիրն է։ Կառուցում ենք REST API-ներ հստակ վերսիավորմամբ, կանխատեսելի սխալների ձևաչափով, rate limiting-ով և տոկենային նույնականացմամբ։ Անհրաժեշտության դեպքում՝ GraphQL, երբ հաճախորդային կողմը պահանջում է ճկուն հարցումներ։ Ամեն API-ն ուղեկցվում է OpenAPI/Swagger փաստաթղթով և Postman-ի հավաքածուով, որպեսզի ձեր ֆրոնտենդ կամ մոբայլ թիմը կարողանա աշխատել առանց մեզ ամեն քայլում հարցնելու։

Բեռնվածություն, մասշտաբավորում և անվտանգություն

Համակարգը պատրաստում ենք աճին նախապես՝ ծանր գործողությունները տանում ենք ֆոնային հերթեր, ավելացնում ենք քեշավորման շերտ, կարգավորում ենք հորիզոնական մասշտաբավորում և տվյալների բազայի ռեպլիկացիա։ Անվտանգության կողմից հետևում ենք OWASP-ի ցանկին՝ SQL ներարկումների պաշտպանություն, CSRF, մուտքի իրավունքների խիստ բաժանում, գաղտնի բանալիների պահպանում սերվերի միջավայրում։ Deploy-ը կատարվում է CI/CD-ով, որպեսզի թողարկումը լինի կրկնվող և հետ շրջելի գործողություն, ոչ թե ձեռքով ֆայլերի պատճենում։

Ինչպես ենք աշխատում

01

Պահանջների վերլուծություն

Հասկանում ենք բիզնես տրամաբանությունը, տվյալների հոսքերը և սպասվող բեռնվածությունը։ Արդյունքը՝ տեխնիկական առաջադրանք և տվյալների մոդել։

02

Ճարտարապետություն և API պայմանագիր

Նախագծում ենք բազայի սխեման և API-ի էնդփոյնթները, համաձայնեցնում ենք ֆրոնտենդ թիմի հետ մինչև կոդի գրելը։

03

Մշակում և թեստավորում

Կոդը գրվում է շաբաթական սփրինտներով՝ ավտոմատ թեստերի ծածկույթով և կոդի փոխադարձ ստուգմամբ (code review)։

04

Deploy և մոնիտորինգ

Կարգավորում ենք սերվերը, CI/CD-ն, լոգերի հավաքումը և սխալների ծանուցումները։ Հանձնում ենք փաստաթղթերի հետ միասին։

Տեխնոլոգիաներ

  • Laravel
  • PHP
  • Node.js
  • PostgreSQL
  • MySQL
  • Redis
  • Docker
  • REST API

Մեր աշխատանքները

Corporate Website with Interactive 3D Experience — Backend ծրագրավորում
Corporate Website with Interactive 3D Experience
MedMeet - Digital Platform for Armenia’s Healthcare Expo and Professional Event — Backend ծրագրավորում
MedMeet - Digital Platform for Armenia’s Healthcare Expo and Professional Event
RoofCraft  Interactive 3D Roof Configurator and Calculation Platform — Backend ծրագրավորում
RoofCraft Interactive 3D Roof Configurator and Calculation Platform
Digital Portfolio Platform for Interior Design Studio — Backend ծրագրավորում
Digital Portfolio Platform for Interior Design Studio

ԲՈԼՈՐ ՆԱԽԱԳԾԵՐԸ

Հաճախ տրվող հարցեր

Ի՞նչ է իրականում անում backend ծրագրավորողը

Գրում է սերվերի կողմի տրամաբանությունը՝ տվյալների պահպանում, օգտատերերի նույնականացում, վճարումների մշակում, արտաքին համակարգերի հետ կապ։ Այն ամենը, ինչ տեղի է ունենում էկրանի հետևում և որից կախված է՝ ձեր հավելվածը կաշխատի՞ ճիշտ ու արագ։

Կարո՞ղ եք աշխատել արդեն գրված նախագծի հետ

Այո։ Սկսում ենք կոդի աուդիտից՝ գնահատում ենք որակը, անվտանգությունը և տեխնիկական պարտքը, հետո տալիս ենք հստակ եզրակացություն՝ ինչն արժե շտկել, ինչը՝ վերագրել։ Աուդիտը սովորաբար տևում է 3–5 աշխատանքային օր։

Ո՞ր տվյալների բազան եք առաջարկում

Մեծ մասամբ PostgreSQL՝ խիստ տիպավորման, JSON-ի հետ լավ աշխատանքի և բարդ հարցումների համար։ MySQL-ը լավ ընտրություն է ավելի պարզ նախագծերի և գոյություն ունեցող hosting-ի դեպքում։ Redis-ն ավելացնում ենք որպես քեշ և հերթերի շերտ գրեթե միշտ։

Որքա՞ն է տևում backend-ի մշակումը

API-ն միջին բարդության բջջային հավելվածի համար՝ 4–6 շաբաթ։ Ամբողջական վեբ հավելվածի սերվերային մասը՝ 8–14 շաբաթ։ Կոնկրետ ժամկետը տալիս ենք ճարտարապետության փուլից հետո, երբ ֆունկցիաների ցանկը ամրագրված է։

Ի՞նչ է լինում, եթե օգտատերերի թիվը կտրուկ աճի

Ճարտարապետությունը նախագծում ենք այնպես, որ մասշտաբավորումը լինի սերվերային ռեսուրսի հարց, ոչ թե կոդի վերագրման։ Ծանր գործողությունները արդեն հերթերում են, քեշը՝ առանձին, բազան՝ ռեպլիկացիայի պատրաստ։ Աճի դեպքում ավելացնում ենք հանգույցներ առանց աշխատանքի դադարի։

Կոդը մեզ կպատկանի՞

Այո, ամբողջ սկզբնական կոդը փոխանցվում է ձեզ պայմանագրով և պահվում ձեր Git պահոցում նախագծի առաջին օրվանից։ Դուք ցանկացած պահի կարող եք շարունակել աշխատանքը այլ թիմի հետ՝ առանց մեզանից թույլտվության։

Ծառայությունն ըստ տարածաշրջանի

Այլ ծառայություններ

Ստանալ գնային առաջարկ

codeorigins.info@gmail.com  |  +374 94 14 90 60

Ստանալ գնային առաջարկ