Production Browser Automation և ինտեգրման հարթակ

Production հարթակ, որը համատեղում է API ինտեգրումներն ու երկարատև Browser Automation-ը՝ արտաքին համակարգերում բիզնես գործընթացներ ավտոմատացնելու համար։

Ավտոմատացում · Ինտեգրման հարթակBack-End & Automation Technical LeadՉհրապարակվող production միջավայր

Համատեքստ

Արտաքին համակարգերը ինտեգրման նույն հնարավորությունները չունեին։ Որոշ գործընթացներ հնարավոր էր իրականացնել API-ներով, իսկ մյուսների համար անհրաժեշտ էր աշխատել authenticated browser session-ների հետ՝ պահպանելով մուտքի վիճակը և անհրաժեշտության դեպքում թույլ տալով մարդու միջամտություն։

Ինչ պետք էր լուծել

Խնդիրը պարզապես Chrome process-ներ բացելը չէր։ API և Browser Automation հոսքերը պետք էր դարձնել երկարատև աշխատանքի համար կառավարելի, վերահսկելի և վերականգնելի՝ այնպես, որ սխալից կամ service restart-ից հետո համակարգը հասկանար գործող session-ների իրական վիճակը։

Ինչ պետք էր հաշվի առնել

  • Authenticated հոսքերը կարող էին ներառել բազմաքայլ մուտք, 2FA, PIN կամ այլ security prompt-եր, իսկ որոշ դեպքերում՝ նաև մարդու միջամտություն։
  • Browser-management service-ի restart-ը չպետք է դադարեցներ արդեն աշխատող և վավեր session-ները։
  • Զուգահեռ browser session-ները պետք է ունենային առանձին profile, ownership, proxy և debugging endpoint։

Back-End & Automation Technical Lead

  • Ղեկավարել եմ Back-End և Browser Automation համակարգերի տեխնիկական զարգացումն ու ճարտարապետական որոշումները՝ անհրաժեշտության դեպքում անմիջականորեն մասնակցելով նաև մշակմանը։
  • Պատասխանատու եմ եղել ինտեգրումների կառուցվածքի, browser lifecycle-ի կառավարման, հուսալիության մեխանիզմների, technical review-ների և production-ին պատրաստ լինելու վերաբերյալ որոշումների համար։
  • Automation-ի business logic-ը առանձնացրել ենք browser-ների ստեղծման, պահպանման, ownership-ի և lifecycle-ի կառավարման պատասխանատվությունից։

Համակարգի կառուցվածքը

Ընդհանուր հոսքըՅուրաքանչյուր գործընթացի համար օգտագործվում է հնարավոր ամենահուսալի ինտեգրման տարբերակը՝ API, եթե այն բավարար է, և Browser Automation, երբ արտաքին համակարգը պահանջում է browser interaction։
Բիզնես գործընթաց
Automation / Orchestration
API IntegrationBrowser Automation
Process / Session State
Վերահսկում և վերականգնում
Browser ենթահամակարգBrowser-ների lifecycle-ի կառավարումն առանձնացված է կոնկրետ հարթակների automation logic-ից։
Automation Workflow
Browser management
Profile · Proxy · Lifecycle
Persistent Chrome Session
CDP · Puppeteer / Playwright
Authenticated External System

Որտեղ էր բարդությունը

  • Մուտքի վիճակը պետք էր պահպանել երկարատև session-ների ընթացքում՝ առանձին profile-ներով, cookies-ով, local storage-ով և պահպանվող session state-ով։
  • Յուրաքանչյուր browser-ի համար պետք էր պահպանել ownership-ը, debugging port-ը, profile path-ը, proxy-ն, session-ի ժամկետը և process-ի վիճակը։
  • Այն դեպքերում, երբ automation-ը պահանջում էր մարդու միջամտություն, անհրաժեշտ էր հնարավորություն տալ հեռավար դիտել և կառավարել գործող browser session-ը։
  • API ինտեգրումը պետք է մնար առաջնային տարբերակը, իսկ Browser Automation-ը կիրառվեր այնտեղ, որտեղ արտաքին համակարգի հնարավորությունները բավարար չէին։
  • Browser-ի և process-ի վիճակը պետք էր պահպանել այնպես, որ service restart-ից կամ failure-ից հետո հնարավոր լիներ ճիշտ որոշել՝ շարունակել գործող session-ը, վերականգնել այն, թե փակել արդեն հնացած process-ը։

Ինչպես կառուցվեց լուծումը

  • Առանձնացվել են business workflow-ների orchestration-ը, կոնկրետ հարթակների automation logic-ը և browser lifecycle-ի կառավարումը։
  • Remote debugging-ի և Chrome DevTools Protocol-ի միջոցով հնարավոր է աշխատել արդեն գոյություն ունեցող Chrome session-ի հետ՝ առանց յուրաքանչյուր task-ի համար նոր browser process ստեղծելու։
  • Հիմնական հոսքերում նախատեսվել են retry, timeout, validation, logging և սխալից հետո աշխատանքի շարունակման կամ վերականգնման հստակ տարբերակներ։

Ինչպես է համակարգը զարգացել

01

Workflow Automation

Առանձին հարթակների ավտոմատացում և բիզնես գործընթացների իրականացում։

02

Structured Back-End Integration

Back-End ծառայություններ, API orchestration և process/session state-ի հստակ կառավարում։

03

Browser Infrastructure

Երկարատև session-ներ, առանձին profile-ներ, proxy-ներ և remote debugging։

04

Dedicated Browser Management

Browser-ների ownership-ը և lifecycle-ի կառավարումն առանձնացվել են կոնկրետ automation logic-ից։

05

Agentic Exploration

PoC՝ AI agent-ը գոյություն ունեցող CDP session-ին միացնելու և browser task-եր կատարելու հնարավորությունը փորձարկելու համար։ Սա production համակարգի մաս չէ։

Ինչ է տեղի ունենում սխալի դեպքում

  • Հոսքերում նախատեսված են retry, timeout, validation, logging և սխալից հետո աշխատանքի վերահսկելի շարունակման կամ վերականգնման տարբերակներ։
  • Browser-ի, process-ի և session-ի վիճակը պահպանվում է, որպեսզի հնարավոր լինի հասկանալ համակարգի իրական վիճակը և անհրաժեշտության դեպքում միջամտել։
  • Հնացած browser process-ները մաքրվում են առանձին կանոններով․ service restart-ը ինքնին գործող session-ը փակելու պատճառ չէ։

Ինչ ստացվեց

  • Ստեղծվել է API ինտեգրումներն ու Browser Automation-ը միավորող հարթակ, որտեղ browser session-ներն ունեն հստակ ownership, պահպանվող վիճակ և կառավարվող lifecycle, իսկ խափանումներից հետո համակարգի վերականգնումը կախված չէ service-ի պատահական restart-ից։

Տեխնոլոգիաներ և համակարգեր

Node.jsNestJSTypeScriptMySQLPrismaPuppeteerPlaywrightChrome DevTools ProtocolREST APIsWebhooks

Երրորդ կողմի հարթակների անունները, գործատուին վերաբերող գործընթացները, credentials-ը, account data-ն և ներքին իրականացման մանրամասները միտումնավոր չեն հրապարակվում։