Cloud & DevOps
Ku jetojnë aplikacionet sot dhe si arrijnë nga kompjuteri yt te mijëra përdorues — serverë, kontejnerë dhe publikim automatik. · 55 terma
Alerting & on-call
Alarmet dhe kujdestariaKur një metrikë kalon një kufi — p.sh. faqja kthen shumë gabime 500 — sistemi dërgon një alarm. Programuesi „on-call“ (në kujdestari) e merr në telefon, edhe natën, dhe e rregullon problemin.
Ansible
Ansible-i i konfiguron serverët automatikisht: instalon programe, kopjon skedarë dhe ndryshon cilësime në 1 ose 1000 serverë njëkohësisht, sipas një „playbook“ në YAML.
API gateway
Një API gateway është dera e vetme e hyrjes për të gjitha shërbimet e një sistemi: i pranon kërkesat, kontrollon hyrjen, kufizon trafikun dhe ia kalon secilën shërbimit të duhur. Shumë e zakonshme me mikroshërbime.
AWS (Amazon Web Services)
AWS-ja është platforma cloud më e madhe në botë, nga Amazon-i: qindra shërbime për serverë (EC2), ruajtje (S3), databaza (RDS), funksione (Lambda) e shumë të tjera. Shumë kompani dhe startup-e në rajon e përdorin.
Blue-green deployment
Publikimi blu-jeshilTe blue-green deployment, ke dy kopje të plota të aplikacionit: „blu“ (ajo që përdorin njerëzit tani) dhe „jeshile“ (versioni i ri). Kur e jeshilja është gati dhe e testuar, e kalon trafikun te ajo në një sekondë — dhe po pati problem, kthehesh te bluja.
Canary release
Publikimi gradualTe canary release, versioni i ri i dërgohet fillimisht vetëm një pjese të vogël të përdoruesve (p.sh. 5%). Nëse gjithçka shkon mirë, rritet gradualisht deri në 100%; nëse jo, problemi prek vetëm pak njerëz.
CDN
Rrjet shpërndarjeje përmbajtjejeCDN-ja është një rrjet serverësh nëpër botë që mbajnë kopje të faqes tënde (foto, CSS, JavaScript) afër vizitorëve. Kështu një vizitor nga Prishtina e merr faqen nga një server afër, jo nga Amerika — dhe hapet shumë më shpejt.
Chaos engineering
Inxhinieria e kaositInxhinieria e kaosit i shkakton qëllimisht probleme sistemit — fik një server, ngadalëson rrjetin — për të parë nëse mbijeton. Netflix-i e bëri të famshme me „Chaos Monkey“. Më mirë t'i gjesh vetë dobësitë se sa t'i gjejnë përdoruesit.
CI/CD
CI/CD është automatizimi që, sa herë bën push, i ekzekuton vetë testet (CI) dhe, nëse kalojnë, e publikon aplikacionin (CD). Ky fjalor e përdor: çdo push në GitHub del live në Vercel vetvetiu.
Cloud
Re kompjuterikeCloud-i do të thotë të përdorësh kompjuterët dhe hapësirën e ruajtjes së dikujt tjetër përmes internetit, në vend të atyre që ke vetë. Kur ruan foto në Google Drive ose publikon faqen në Vercel, po përdor cloud-in.
Cloud costs & free tiers
Kostot e cloud-itNë cloud paguan vetëm aq sa përdor — por një gabim (një server i harruar ndezur, një cikël i pafund) mund të sjellë faturë të madhe. Shumë ofrues kanë „free tier“ për projekte të vogla. Vendos gjithmonë një alarm buxheti.
Cold start
Nisja e ftohtëTe serverless, kur një funksion s'është përdorur për ca kohë, platforma e „fik“. Kërkesa e parë pas kësaj duhet ta nisë nga e para — kjo vonesë quhet „cold start“. Kërkesat pasuese janë të shpejta.
Container registry (Docker Hub)
Regjistri i kontejnerëveNjë regjistër kontejnerësh është vendi online ku ruhen imazhet Docker — Docker Hub, GitHub Container Registry ose ai i AWS-së. Serverat i shkarkojnë imazhet prej andej kur nisin aplikacionin.
Cron jobs
Detyrat e planifikuaraNjë cron job është një komandë që ekzekutohet automatikisht në kohë të caktuara — p.sh. çdo natë në 3:00 për backup, ose çdo të hënë për raporte. Shkruhet me pesë fusha: minuta, ora, dita, muaji, dita e javës.
Data center / region
Qendër të dhënashQendra e të dhënave është një ndërtesë e madhe plot serverë, me ftohje dhe energji rezervë. Kompanitë cloud i kanë nëpër botë dhe i quajnë „regions“ (rajone); zgjedh rajonin më afër përdoruesve të tu, p.sh. Frankfurtin për Ballkanin.
Disaster recovery
Rikuperimi pas fatkeqësiveRikuperimi pas fatkeqësive është plani për ta rikthyer sistemin pas një problemi të madh — një qendër të dhënash pa rrymë, një sulm, një fshirje e gabuar. Dy pyetje kyçe: sa të dhëna mund të humbasim (RPO) dhe sa shpejt duhet të kthehemi (RTO)?
DNS
DNS-ja është „numratori i telefonave“ i internetit: kur shkruan një domen si google.com, DNS-ja e kthen në adresën IP të serverit të duhur. Kur lidh një domen me Vercel-in, ndryshon pikërisht rregullat e DNS-së.
DNS records (A, CNAME, MX)
Regjistrimet DNSRegjistrimet DNS i tregojnë internetit ku të shkojë: A e lidh domenin me një adresë IP, CNAME e drejton te një emër tjetër (p.sh. te Vercel-i), MX tregon ku shkojnë email-et, TXT përdoret për verifikime si Google Search Console.
Docker
Docker-i e paketon një aplikacion bashkë me gjithçka që i duhet — versionin e Python-it, libraritë, rregullimet — në një „kontejner“. Kështu punon njësoj në kompjuterin tënd, në të shokut dhe në server.
Docker Compose
Docker Compose të lejon ta nisësh një aplikacion me disa kontejnerë — p.sh. serveri, databaza dhe Redis — me një skedar YAML dhe një komandë të vetme: docker compose up.
Docker image vs container
Imazhi dhe kontejneri DockerNjë imazh Docker është paketa e mbyllur me aplikacionin dhe gjithçka që i duhet — si një recetë e ngrirë. Një kontejner është kopja që po punon e atij imazhi. Nga një imazh mund të nisësh sa kontejnerë të duash.
Docker volumes
Volumet në DockerKontejnerët janë të përkohshëm: kur fshihen, çdo gjë brenda tyre humbet. Një volum ruan të dhënat jashtë kontejnerit — p.sh. databazën — që të mbeten edhe kur kontejneri rinis.
Edge computing
Llogaritja në skajEdge computing do të thotë ta ekzekutosh kodin në serverë sa më afër përdoruesit — p.sh. në një server në Vjenë për dikë në Prishtinë, në vend të një serveri në Amerikë. Faqja përgjigjet shumë më shpejt.
Environments (dev, staging, production)
Ambientet e punësZakonisht një aplikacion ka disa ambiente: development (në kompjuterin tënd), staging (kopje e production-it për testim) dhe production (versioni që përdorin njerëzit). Kodi kalon nga njëri te tjetri vetëm kur është testuar.
Feature flags
Çelësat e veçoriveNjë feature flag është një çelës në kod që e ndez ose e fik një veçori pa publikim të ri — p.sh. ta shohin vetëm testuesit, ose ta fikësh menjëherë nëse ka problem.
GitOps
Te GitOps, gjendja e gjithë infrastrukturës dhe aplikacioneve ruhet në një repository Git. Për të ndryshuar diçka në production, bën një pull request; një mjet si Argo CD e sheh ndryshimin dhe e zbaton vetë.
Google Cloud
Google Cloud (GCP) është platforma cloud e Google-it, e njohur sidomos për të dhënat dhe IA-në (BigQuery, Vertex AI) dhe për Kubernetes-in, që e shpiku vetë Google-i.
Helm
Helm-i është „menaxheri i paketave“ për Kubernetes: një „chart“ i bashkon të gjitha skedarët YAML që duhen për një aplikacion, që ta instalosh me një komandë dhe ta përditësosh lehtë.
IAM (identity & access management)
Menaxhimi i identiteteve dhe qasjesIAM-i në cloud vendos kush (njerëz ose programe) mund të bëjë çfarë: kush mund të lexojë një bucket, kush mund të fshijë një server. Rregulli i artë: secili merr vetëm lejet që i duhen, asgjë më shumë.
Infrastructure as Code (IaC)
Infrastruktura si kodInfrastruktura si kod do të thotë t'i përshkruash serverët, databazat dhe rrjetet në skedarë kodi, në vend që t'i krijosh me klikime në panel. Kështu mund ta rikrijosh të gjithë sistemin me një komandë, dhe ndryshimet ruhen në Git.
Jenkins
Jenkins-i është një nga mjetet më të vjetra dhe më të përhapura për CI/CD — e ndërton, e teston dhe e publikon kodin automatikisht. Shumë kompani të mëdha e përdorin ende, edhe pse GitHub Actions po bëhet më i popullarizuar.
Kubernetes
Kubernetes-i është një sistem që menaxhon automatikisht shumë kontejnerë Docker në shumë serverë: i nis, i rinis kur rrëzohen dhe shton të tjerë kur rritet trafiku. E përdorin kompanitë e mëdha; për projekte të vogla zakonisht s'të duhet.
Load balancer
Shpërndarës ngarkeseLoad balancer-i i ndan kërkesat që vijnë mes disa serverëve, që asnjëri të mos mbingarkohet. Nëse një server bie, i dërgon kërkesat te të tjerët, dhe faqja vazhdon të punojë.
Load testing
Testimi i ngarkesësTestimi i ngarkesës e simulon mijëra përdorues njëkohësisht për të parë kur ngadalësohet ose bie aplikacioni — para se ta zbulosh ditën e lansimit. Mjete si k6 dhe JMeter e bëjnë këtë.
Log aggregation (ELK, Loki)
Mbledhja e log-eveKur aplikacioni punon në shumë serverë, log-et janë të shpërndara kudo. Mjetet si ELK (Elasticsearch, Logstash, Kibana) ose Grafana Loki i mbledhin në një vend, që t'i kërkosh dhe t'i filtrosh lehtë.
Message queues (RabbitMQ, Kafka)
Radhët e mesazheveNjë radhë mesazhesh i lejon pjesët e një sistemi të komunikojnë pa pritur njëra-tjetrën: njëra e lë mesazhin („dërgo email-in e mirëseardhjes“), tjetra e merr kur të jetë gati. Kështu sistemi s'bie kur ka shumë punë njëherësh.
Metrics (Prometheus & Grafana)
MetrikatMetrikat janë numra që maten vazhdimisht — sa kërkesa në sekondë, sa i ngadaltë është serveri, sa memorie përdor. Prometheus-i i mbledh, dhe Grafana i shfaq në grafikë të bukur në një panel.
Microsoft Azure
Azure është platforma cloud e Microsoft-it, e dyta më e madhe pas AWS-së. Shumë e përdorur nga kompanitë që punojnë me .NET, Windows dhe Office 365, dhe nga bankat e institucionet.
Monitoring
MonitorimMonitorimi do të thotë ta mbikëqyrësh aplikacionin vazhdimisht — shpejtësinë, gabimet, përdorimin e serverit — dhe të marrësh njoftim kur diçka shkon keq, shpesh para se ta vërejnë përdoruesit.
Object storage (S3)
Ruajtje objekteshObject storage është ruajtje në cloud për skedarë të çdo lloji — foto, video, backup-e — të vendosur në „kova“ (buckets) dhe të arritshëm me URL. Shembulli më i njohur është Amazon S3; është i lirë dhe zgjerohet pa kufi.
PaaS hosts (Render, Railway, Heroku)
Platformat për backendPlatforma si Render, Railway dhe Heroku e publikojnë backend-in tënd (Node, Python, Java) direkt nga GitHub, pa pasur nevojë të menaxhosh serverë. Ideale për projektet e para me server dhe databazë.
Pods & deployments (Kubernetes)
Pod-et dhe deployment-etNë Kubernetes, një pod është njësia më e vogël — një ose disa kontejnerë që punojnë bashkë. Një deployment thotë „dua 3 kopje të këtij aplikacioni“, dhe Kubernetes-i i mban gjithmonë 3, duke rinisur ato që bien.
Publish/subscribe (pub/sub)
Publikim/abonimTe pub/sub, një shërbim „publikon“ një ngjarje (p.sh. „porosia u pagua“), dhe të gjithë ata që janë „abonuar“ e marrin — email-i, magazina, faturat — pa e njohur njëri-tjetrin.
Regions & availability zones
Rajonet dhe zonat e disponueshmërisëOfruesit e cloud-it i kanë qendrat e të dhënave në „rajone“ (p.sh. Frankfurt), dhe çdo rajon ka disa „zona“ — ndërtesa të ndara me rrymë dhe internet të vetin. Po e vendose aplikacionin në disa zona, s'bie edhe nëse një ndërtesë mbetet pa rrymë.
Rollback (deployment)
Kthimi prapa i publikimitRollback do të thotë ta kthesh aplikacionin te versioni i mëparshëm kur versioni i ri ka problem. Platformat si Vercel e bëjnë me një klik, sepse çdo publikim ruhet.
SaaS / PaaS / IaaS
Këto janë tri nivele shërbimesh cloud. IaaS të jep serverë bosh (si AWS EC2); PaaS të jep një platformë ku vetëm e vendos kodin (si Vercel-i); SaaS të jep një aplikacion të gatshëm për ta përdorur (si Gmail-i ose Google Docs).
Scalability
ShkallëzueshmëriShkallëzueshmëria është aftësia e një aplikacioni të përballojë më shumë përdorues pa u ngadalësuar — duke shtuar serverë ose fuqi kur rritet trafiku dhe duke i hequr kur bie.
Serverless
Serverless do të thotë që kodin e backend-it e shkruan si funksione të vogla, dhe shërbimi cloud (p.sh. Vercel ose AWS Lambda) i nis vetëm kur vjen një kërkesë. S'ke server për të mirëmbajtur dhe paguan vetëm për kohën që punon kodi. Serverët ekzistojnë — thjesht s'merresh ti me ta.
SLO & SLI
SLI-ja është një matje e cilësisë (p.sh. % e kërkesave që kanë sukses), SLO-ja është objektivi (p.sh. 99.9% gjatë muajit). Diferenca është „buxheti i gabimeve“ — sa mund të dështosh para se të ndalosh veçoritë e reja dhe të merresh me stabilitetin.
Terraform
Terraform-i është mjeti më i njohur për infrastrukturë si kod: e shkruan çfarë do (një server, një databazë) dhe terraform apply e krijon në AWS, Azure ose Google Cloud. terraform plan të tregon çfarë do të ndryshojë para se ta bëjë.
Twelve-factor app
Aplikacioni me 12 faktorë„The Twelve-Factor App“ është një listë me 12 rregulla për aplikacione që punojnë mirë në cloud — p.sh. konfigurimi në variabla ambienti, log-et si rrjedhë teksti, procese pa gjendje që mund të shumëfishohen.
Uptime / downtime
Koha në punë / jashtë puneUptime-i është sa kohë një faqe ose shërbim është në punë dhe i arritshëm, zakonisht në përqindje — p.sh. 99.9% do të thotë rreth 9 orë jashtë pune në vit. Downtime-i është koha kur nuk punon.
Vendor lock-in
Varësia nga një ofruesVendor lock-in ndodh kur e ndërton aplikacionin aq shumë me shërbimet speciale të një ofruesi, sa kalimi te një tjetër bëhet shumë i shtrenjtë. Standardet e hapura si Docker dhe Kubernetes e zvogëlojnë këtë rrezik.
Virtual machine (VM)
Makinë virtualeMakina virtuale është një „kompjuter brenda kompjuterit“: një sistem operativ i plotë që punon si program mbi një kompjuter tjetër. Në cloud, kur merr me qira një server, zakonisht merr një VM.
VPS (virtual private server)
Server virtual privatNjë VPS është një server virtual që e merr me qira me pak euro në muaj (DigitalOcean, Hetzner, Linode) dhe ku ke kontroll të plotë: instalon Linux-in, serverin web dhe databazën vetë. Mënyrë e mirë për të mësuar si funksionojnë serverët.