3. rész – Programozás az AI korában

A könyvtáros

HÓNAPOK ÓTA ÉGŐ TÉMA AZ AI SZAKMAI ÉS NEM SZAKMAI KÖRÖKBEN EGYARÁNT. 
HOGYAN FOGJA MEGVÁLTOZTATNI AZ ÉLETÜNKET? MI LESZ A MUNKÁNKKAL? KELLENEK MAJD MÉG PROGRAMOZÓK? 
SOK CIKKET, VIDEÓT, GONDOLATOT MEGNÉZVE ÉS MEGHALLGATVA ÚGY GONDOLTAM, HOGY IDEJE HÁTRALÉPNI KETTŐT ÉS MEGNÉZNI AZ ALAPOKAT IS, HOGY MIRŐL IS SZÓL EZ A SZÉLESKÖRŰ DISKURZUS. HONNAN JÖN AZ AI, ÉS EGYÁLTALÁN, MIT IS CSINÁL PONTOSAN EGY “IT-S” VAGY PROGRAMOZÓ?

Az első részben megnéztük, hogyan indul a projekt, majd a második részben jobban is kibontottuk a témát. 

Rendszerarchitektúra kész

A rendszerarchitektúra meghatározza, hogy milyen számítógépeket, és azon milyen készen elérhető szoftvereket fogunk alkalmazni.

Mielőtt mondok egy példát, tisztázzunk néhány fogalmat.

Az adatokat általában ún. adatbázisokban tárolják a szoftverrendszerek. Ezek olyan programok, amelyek sokszor külön gépen futnak, és nagyon gyorsan képesek a korábban eltárolt adatokat előkeresni. Mint valamilyen nagyon gyors könyvtáros, irattáros, vagy a rendőrös filmekből a bizonyítéktár munkatársa. Azon kívül, hogy gyorsan tud válaszolni olyan kérésekre, hogy a TN-12-345-XF ügy bizonyítékait kérem, olyanokra is fel van készülve, hogy kérem azon ügyek bizonyítékait, amikben John Hutchins volt a letartóztató rendőr, vagy Jane Henry ellen követtek el valamit… az ennél összetettebb kérésekről (lekérdezések) ne is beszéljünk.

Sok olyan rendszer létezik, amelynek az adatbázisok szolgáltatják a lelkét, de sosem elegendő ez önmagában. Ha másért nem, azért, mert a megjelenítéssel kapcsolatos igényeink túlmutatnak az adatbázisok által képviselt megoldáson. Szeretnénk az adatokat egy szép és gyors weboldalon látni, amit a webböngészőnkben nyitunk meg. 

Ma jellemzően az a folyamat, hogy a webböngészőnkkel megnyitunk egy weboldalt, ami egy komplett program, ami a böngészőnkben fut (a „frontend”). Az egyes felhasználók böngészőiben futó a frontend programok kommunikálnak egy központi szerverprogrammal (a „backend”), ami pedig sok egyéb között adatokat olvas az adatbázisból vagy ír az adatbázisba, de végső soron a frontend számára előre feldolgozott adatokat nyújt.

A fenti frontend-backend-adatbázis felépítés esetében a rendszerünk határain kívül esik a felhasználó számítógépének összes problémája: ha a frontend program be tud töltődni valaki számítógépén (az összes nagy böngésző összes főbb verzióján), akkor mi már jól végeztük a dolgunkat.

A frontend program letöltését lehetővé tevő rendszerkomponenst és a backendet most együtt „webkiszolgálónak” fogom nevezni.

A terheléselosztó egy külön számítógép, aminek az a feladata, hogy a frontendektől érkező kéréseket több backend/webkiszolgáló között szétossza, és így azok terhelését egészséges szint alatt tartsa.

Jöjjön akkor a példa: A felhasználó kéréseit két különböző, egymástól többszáz kilométerre lévő adatközpontban lévő egy-egy terheléselosztó (NGINX nevű program) fogadja, egymással párhuzamosan úgy, hogy ha egyikük meghibásodik, akkor a teljes forgalmat képes elvinni a másik is. Webkiszolgálóból 2-2 darab van a két adatközpontban, és ezek kapcsolódnak egy „replikált” MySQL adatbázishoz (a fő adatbázis az egyik adatközpontban van, a replika (másolat) a másikban). Az adatbázisok napi mentéssel rendelkeznek egy harmadik adatközpontban, katasztrófa esetére.

A fenti rendszerarchitektúra több számítógépet is tartalmaz.

Ha kíváncsi vagy a folytatásra és a cikksorozat további részeire, iratkozz fel hírlevelünkre! 

Ízelítő a továbbiakból: 

  • Szerverek és üzemeltetés
  • Szoftverarchitektúra
  • Programírás A-Z-ig
  • Tesztelés és frissítések
  • Mi változott az elmúlt 30 évben? 

(Képek forrása: freepik, StudiCore, BingAI)

Igen, érdekel a folytatás!