Instance — oldindan tayyorlangan image, konfiguratsiya va resurslar asosida ishga tushirilgan virtual hisoblash muhiti. Cloud va virtualizatsiyada instance ko‘pincha virtual machine, container, database node yoki ma’lum service’ning ishlayotgan nusxasini anglatadi.
Image shablon bo‘lsa, instance shu shablondan yaratilgan faol runtime hisoblanadi. Bir image’dan turli o‘lcham va konfiguratsiyadagi ko‘p instance yaratilishi mumkin.
Compute resurslari
Instance odatda quyidagi resurslarga ega:
- virtual CPU;
- RAM;
- boot disk;
- network interface;
- IP address;
- local yoki persistent storage;
- metadata;
- identity yoki role.
Resurslar instance type yoki flavor orqali tanlanishi mumkin.
Instance type
Instance type CPU, RAM, network va ba’zan local disk kombinatsiyasini belgilaydi.
Keng guruhlar:
- general purpose;
- compute optimized;
- memory optimized;
- storage optimized;
- GPU;
- burstable.
Workloadga mos type tanlash performance va xarajatga ta’sir qiladi.
Virtual machine instance
Hypervisor fizik server resurslarini bir nechta VMga ajratadi.
Har instance o‘z guest operatsion tizimiga ega.
Isolation kuchliroq, ammo containerga qaraganda startup va resource xarajati ko‘proq bo‘lishi mumkin.
Kernel guest ichida alohida ishlaydi.
Container instance
Ba’zi platformalarda instance atamasi container task yoki podning ishlayotgan nusxasiga ham nisbatan ishlatiladi.
Container host kernelini bo‘lishadi.
Startup tez va image kichikroq.
Isolation modeli VM’dan farq qiladi.
Lifecycle
Instance holatlari platformaga qarab quyidagicha bo‘lishi mumkin:
- pending;
- running;
- stopped;
- suspended;
- terminated;
- failed.
Stop va terminate bir xil emas.
Terminate ko‘pincha instance identity’sini va ephemeral diskni yo‘q qiladi.
Start va stop
Stopped instance CPU ishlatmasligi mumkin, ammo persistent disk va reserved IP uchun xarajat davom etishi mumkin.
Start qilinganda instance boshqa fizik hostda ishga tushishi ehtimoli bor.
Local ephemeral data saqlanishi kafolatlanmasligi mumkin.
Application host hardware’ga qattiq bog‘lanmasligi kerak.
Reboot
Reboot guest operatsion tizimni qayta ishga tushiradi.
Instance identity va attached volume odatda saqlanadi.
Hard reboot host darajasida resetga yaqin bo‘lishi mumkin.
Pending write va memory state yo‘qoladi.
Terminate
Instance butunlay o‘chiriladi.
Boot diskning delete-on-termination policy’si muhim.
Data volume saqlanishi yoki o‘chirilishi mumkin.
Infrastructure as Code orqali instance qayta yaratila olsa, qo‘lda saqlangan o‘zgarishlarga tayanilmaydi.
Metadata service
Instance o‘zi haqidagi ma’lumotni local metadata endpointdan olishi mumkin:
Metadata endpoint SSRF hujumlaridan himoyalanadi.
Hop limit, token va firewall ishlatilishi mumkin.
User data
Instance yaratilganda startup script yoki cloud-init konfiguratsiyasi beriladi.
U:
- package o‘rnatish;
- user yaratish;
- configuration olish;
- agent ishga tushirish;
- service ro‘yxatdan o‘tish
uchun ishlatiladi.
Script idempotent va loggable bo‘ladi.
Identity
Instance’ga service role yoki managed identity biriktirilishi mumkin.
Application static access key saqlamasdan boshqa cloud resursiga temporary credential bilan murojaat qiladi.
Role minimal permissionga ega bo‘ladi.
Metadata credentialining o‘g‘irlanishi jiddiy xavf.
Network interface
Instance bir yoki bir nechta virtual network interface’ga ega.
Har interface:
bilan bog‘lanishi mumkin.
Public access default holatda cheklanadi.
Public va private IP
Private IP virtual network ichida ishlaydi.
Public IP internetdan routing beradi.
Dynamic public IP stop-startdan keyin o‘zgarishi mumkin.
Stable endpoint uchun reserved IP, load balancer yoki DNS ishlatiladi.
Security group
Stateful virtual firewall instance interface’iga qo‘llanadi.
Inbound va outbound traffic port, protocol va source bo‘yicha cheklanadi.
0.0.0.0/0 orqali admin portni ochish xavfli.
Application-level authentication baribir zarur.
Availability
Bitta instance fizik host failure’iga chidamli emas.
High availability uchun:
- bir nechta instance;
- turli zone;
- load balancer;
- health check;
- autoscaling;
- replicated data
ishlatiladi.
Instance “running” bo‘lishi application healthy degani emas.
Autoscaling
Traffic yoki metricga qarab instance soni oshiriladi va kamaytiriladi.
Scale-out tez ishlashi uchun image va startup jarayoni optimallashtiriladi.
State external database yoki storage’da saqlanadi.
Scale-in paytida connection draining va graceful shutdown bajariladi.
Health check
Health check bir necha darajada bo‘lishi mumkin:
- process;
- port;
- HTTP endpoint;
- dependency;
- business readiness.
Liveness va readiness bir xil emas.
Dependency qisqa ishlamay qolsa instance’ni cheksiz restart qilish muammoni kuchaytirishi mumkin.
Spot yoki preemptible
Arzon instance provider tomonidan qisqa ogohlantirish bilan to‘xtatilishi mumkin.
Batch, CI, stateless worker va fault-tolerant workload uchun mos.
Checkpoint va queue jobni qayta olishga yordam beradi.
Critical single database node uchun xavfli.
Reserved capacity
Uzoq muddatli majburiyat yoki oldindan rezerv xarajatni kamaytirishi mumkin.
Bu instance’ning texnik type’i emas, billing modeli bo‘lishi mumkin.
Workload barqarorligi va region rejasiga mos tanlanadi.
Monitoring
Kuzatiladi:
Provider metriclari guest ichidagi barcha holatni ko‘rsatmasligi mumkin.
Agent qo‘shimcha telemetry yig‘adi.
Immutable instance
Production instance ichida qo‘lda package yangilash o‘rniga yangi image build qilinadi va instance almashtiriladi.
Bu driftni kamaytiradi.
Favqulodda o‘zgarish keyin build pipeline’ga qaytariladi.
Instance disposable deb qaraladi.
Bog‘liq tushunchalar
Compute instance, Virtual machine, Instance type, Image, Autoscaling, Metadata service, Managed identity, Security group, Availability zone, Immutable infrastructure, Cloud computing