1. Müasir məhsullar
Müasir məhsulları artıq heç kim proqram adlandırmır. Müasir məhsul özündə onlarla proqramı, yüzlərlə internet xidmətini və yerləşdirildiyi bulud data-mərkəzinin təmin etdiyi çoxlu sayda API-ni (bəzən onlara məlumatların emalı mərkəzləri də deyilir) birləşdirə bilər.
Bir çox müasir məhsullar (bəlkə də hamısı) Müştəri–Server paradiqması ilə işləyir. Bu o deməkdir ki, sizin cihazınızda (telefon, noutbuk, kompüter) istifadəçi (sizinlə) kommunikasiya üçün cavabdeh olan proqram olur, kritik funksionallıq isə uzaq serverdə yerləşir və bütün vacib işlər də məhz orada baş verir ➡️🖥️
Bəzən sizin müştəriniz bir neçə müstəqil serverlə əlaqə qura bilər və ya bir məhsulun serveri başqa bir məhsulun serverinə müraciət edə bilər. Beləcə müştəri və serverlərdən ibarət qlobal bir şəbəkə yaranır və hamısı bir-biri ilə işləyir.
Ona görə də müasir tətbiq modelini, bəlkə də, Müştəri–İnternet–Server paradiqması daha yaxşı təsvir edir. Orada artıq çox müxtəlif və mürəkkəb kommunikasiya var. Hətta «ağıllı rabitə kanalları» belə meydana çıxıb — onlar sizin sorğunuzu kimə və nə zaman göndərməli olduqlarını özləri qərar verir.🛰️📡
2. Müştərilər
Müştəri proqramlarını şərti olaraq 4 kateqoriyaya bölmək olar:
- 🖥️ Desktop‑müştəri — kompüterdə işləyən proqram.
- 📲 Mobile‑müştəri — iOS və ya Android üçün tətbiq.
- 🌐 Veb‑müştəri — brauzerdə işləyən sayt/veb‑tətbiq.
- 🌍 Server‑müştəri — başqa bir serverdə işə salınmış tətbiq.
Və onların hər birini öz növbəsində yenə hissələrə bölmək olar. Məsələn, veb‑müştəri — bu, sayt və ya veb‑tətbiqdir, deməli o, Brauzer və Saytdan ibarətdir. Axı brauzerlər də eyni deyil və müxtəlif cür davrana bilirlər.
Amma ən çox yayılan brauzeri götürsək belə, axı ona yüklənən sayt da var. Sayt adətən üç şeydən ibarət olur:
- 📄 HTML
- 🎨 CSS
- ⚡ JavaScript
«Bundan asan nə var ki», — deyə bilərsiniz. Amma bu gün heç kim sadəcə HTML və JavaScript ilə sayt yazmır. Saytların hazırlanması üçün artıq təkcə kitabxanalar deyil, React, Angular və ya Vue kimi tam funksional freymvorklardan istifadə olunur ⚛️. Və bunlar artıq sayt deyil, öz yığımı, testləri və paradiqmaları olan tam hüquqlu veb‑tətbiqlərdir.
Təmiz CSS də artıq demək olar ki, istifadə olunmur. Onu generasiya etməyə kömək edən CSS preprosessorları və bütöv CSS freymvorkları mövcuddur. Hətta e‑poçt məktubları üçün belə xüsusi CSS freymvorkları var ki, məktubunuz həm brauzerdə, həm də əksər poçt müştərilərində gözəl görünsün 💌.
Təmiz JavaScript ilə yazanlar da azalıb — bütün iri veb‑tətbiqlər TypeScript üzərində yaradılır və sonra JavaScript‑ə kompilyasiya olunur. Yəni, başa düşdünüz...
3. İnternet və infrastruktur
Müştəri ilə serverin kommunikasiya etməsi — bundan asan nə ola bilər? Amma onların qarşılıqlı əlaqəsində də artıq hər şey dəyişib.
Məhsulunuz çox güman ki, müasir data‑mərkəzlərdən birində yerləşdiriləcək. Dünyanın hər yerində çoxlu şirkətlər məhsullarınız üçün müxtəlif hostinq xidmətləri təklif edir — istər onların serverlərində, istərsə də sizin öz fiziki serverlərinizdə. Pul ödəyirsinizsə, hər şey mümkündür.
Fiziki server artıq fiziki deyil. Bütün müasir data‑mərkəzlər virtual serverlərin icarəsini təklif edir. Virtual server — bu, müəyyən bir virtual kompüterdir və bir fiziki serverdə onlardan onlarla ola bilər. Bununla serverin yenilənməsi baxımından rahatlıq əldə edilir. Əgər daha çox yaddaşa ehtiyacınız varsa, onu bir neçə dəqiqə ərzində virtual serverinizə əlavə edə bilərsiniz ⏱️.
Amma bu yanaşma da artıq köhnəlir, indi dəbdə buluda köçməkdir — yəni məhsulunuz təkcə data‑mərkəzdə virtual serverdə yerləşdirilmir, həm də həmin data‑mərkəzlərin böyük infrastruktur və xidmət dəstindən aktiv istifadə edir.
Sizə ehtiyat nüsxələrin saxlanması üçün server lazımdırsa — bunun üçün buludda hazır və rahat infrastruktur var. Sizə 99,9999999 % etibarlılığa malik verilənlər bazası lazımdır? O da mövcuddur. Kafka, RabbitMQ, NoSQL? Hamısı artıq var və asanlıqla tənzimlənir. Sadəcə pulunu ödəyin.
Və bu data‑mərkəzlər və buludlar məhsulunuzun bir hissəsinə çevrilir. Məsələn, Amazonun dünyanın hər yerində saysız‑hesabsız data‑mərkəzləri var, buna görə də onlar CDN xidməti təklif edirlər: publik kontentiniz Amazonun bütün data‑mərkəzlərində keşlənəcək və dünyanın hər yerindəki istifadəçiləriniz onu daha sürətlə alacaqlar 🛰️.
Yaxud tətbiqinizin API‑na müraciətləri Amazon API Gateway xidməti vasitəsilə keçirmək olar ki, bu da xidmətlərinizlə işi çox çevik şəkildə qurmağa imkan verir. Yükü müxtəlif servislər arasında paylamaq, DDoS hücumlarını dəf etmək, fayl yükləmələrini avtomatlaşdırmaq, ağıllı keşləməni sazlamaq və daha bir çox şeyi etmək mümkündür 🛡️.
Beləliklə, müştəri tətbiqi ilə xidmətləriniz arasında sazlanması mümkün və zəruri olan çoxlu «ağıllı kommunikasiya» yaranır. Hətta siz bunu heç vaxt şəxsən etməsəniz belə, onların mövcud olduğunu və proqramınızın işinə əhəmiyyətli dərəcədə təsir göstərə biləcəyini bilməlisiniz.
Və biz hələ marşrutlaşdırıcılar, 5G qüllələri, peyklər və okeanın dibindən keçən internet kabelləri kimi mövzulara toxunmamışıq. Siz serverinizdən müştəriyə video axını göndərirsiniz, müştərinin əlaqəsi zəifdir deyə nasazlıq yaranır və bağlantı tez‑tez qırılır. Bilin görün bu problemi kim həll edəcək? Siz 😅
4. Server
«Server» sözü tamamilə fərqli anlayışları gizlədə bilər. Onların ən geniş yayılmışları barədə məlumatlı olmaq sizin üçün faydalı olacaq.
- 🖥️ Fiziki server
Fiziki server — bu, ayrıca kompüter (prosessor, yaddaş, yaddaş qurğuları) şəklində avadanlıqdır və məlumatların emalı, müxtəlif proqram tətbiqlərinin işləməsi üçün istifadə olunur. Bu serverlər məlumatların emalı mərkəzlərində quraşdırılır və veb‑saytların, tətbiqlərin, verilənlər bazalarının və digər xidmətlərin hostinqi üçün güc təmin edirlər. - 🪐 Virtual server
Virtual server — fiziki server mühitində işləyən proqramla emulyasiya olunmuş serverdir. Virtualizasiya texnologiyaları sayəsində bir fiziki server bir neçə izolyasiya olunmuş virtual serverə bölünə bilər; onların hər birinin öz əməliyyat sistemi olur və müstəqil şəkildə yenidən işə salına və tənzimlənə bilər. - 🕹️ Server proqramı (məsələn, Nginx)
Nginx kimi server proqramı veb resurslara edilən sorğuların emalı üçün istifadə olunan server tərəfli proqram təminatıdır. Nginx geniş yayılmış veb‑serverdir və mikroservis memarlığında poçt proksi‑serveri və geri proksi‑server funksiyalarını, həmçinin yük balanslaşdırıcısını da yerinə yetirə bilər. - 💾 Verilənlər bazası serveri
Verilənlər bazası serveri — verilənlər bazalarının idarə edilməsi və onlara edilən sorğuların emalı üçün istifadə olunan ixtisaslaşmış serverdir. O, mərkəzləşdirilmiş məlumat saxlanmasını və emalını təmin edir, şəbəkə vasitəsilə məlumatlara giriş verir. Verilənlər bazası serverləri tranzaksiyaların emalını, axtarışı və məlumatların dəyişdirilməsini dəstəkləyir və məlumatların etibarlı, təhlükəsiz saxlanmasını təmin edir. Verilənlər bazası serverlərinə nümunələr: MySQL, PostgreSQL, Oracle Database və Microsoft SQL Server.
Və hardasa data‑mərkəzdə, virtual serverlərdən birində, C# və ASP.NET Core üzərində layihəniz işləyəcək. O, verilənlər bazası ilə işləyəcək, sorğuları Nginx və ya Azure Application Gateway vasitəsilə qəbul edəcək, fəaliyyətinin loglarını isə Azure Monitor və ya Splunk kimi monitorinq sistemlərinə göndərəcək 📈.
Məhz sizin kodunuz sayəsində məhsulunuzun milyonlarla istifadəçisi razı qalacaq. Onlar xidmətinizdən istifadə edəcək, ona görə pul ödəyəcəklər və nəticədə məhsulun sahibi də məmnun olacaq. Şirkətin səhmləri artacaq, siz də səhm bonusları alacaqsınız — və xoşbəxt olacaqsınız 💸. Sənayedə əsl xoşbəxtlik dövriyyəsi :)
GO TO FULL VERSION