AWS, Google Cloud, yoxsa Azure: hansı bulud provayderini seçməli?
Bu müqayisənin dürüst başlanğıc nöqtəsi budur: AWS, Google Cloud və Azure mahiyyətcə eyni iş yükünü işlədə bilər. Hesablama resursları, yaddaş, idarə olunan verilənlər bazaları, konteyner orkestrasiyası, serverless funksiyalar — üç provayderin hər biri bunların hamısının etibarlı versiyalarını təklif edir. Əgər funksiyaların müqayisə cədvəli bütün mənzərəni əks etdirsəydi, bu məqalə xeyli qısa olardı. Komandaya əslində təsir edən real fərqlər başqa yerdədir.
AWS: ən böyük ekosistem və bu genişliyin bədəli
AWS bazara ilk çıxıb və xeyli fərqlə ən geniş servis kataloquna, həmçinin onu artıq bilən mühəndislərin ən böyük bazarına, ən zəngin üçüncü tərəf alətləri ekosisteminə və rastlaşacağınız demək olar ki, hər qeyri-adi hal üçün sənədləşməyə malikdir. Bu genişlik həm də onun ən böyük praktik çatışmazlığıdır: AWS-in təyinatı bir-birini örtən saysız-hesabsız servisi var və onun konsolu və qiymət modeli, xüsusən ayrıca bulud mütəxəssisi olmayan komanda üçün, üçü arasında ən az əlçatan hesab olunur. AWS adətən təhlükəsiz, əsaslandırılması asan seçimdir — onu seçdiyinə görə heç kim sorğu-suala tutulmur — lakin «təhlükəsiz» və «sadə» eyni şey deyil.
Google Cloud: Google-un öz mühəndisliyinin ən güclü olduğu sahələrdə güclüdür
Google Cloud-un ən güclü tərəfi məlumat və maşın öyrənməsi infrastrukturudur — analitika üçün BigQuery və həqiqətən güclü konteyner həlləri, çünki Kubernetes məhz Google-da yaranıb və onun idarə olunan Kubernetes xidməti bu irsi əks etdirir. Onun konsolu və proqramçı təcrübəsi, ümumiyyətlə, AWS-dəkindən daha əlçatan hesab olunur. Bunun əvəzində ekosistem daha kiçikdir və dərin, xüsusi GCP təcrübəsi olan mühəndislərin bazarı AWS ilə müqayisədə nəzərəçarpacaq dərəcədə dardır.
Azure: Microsoft-un artıq biznesi idarə etdiyi yerlərdə standart seçim
Azure-un ən aydın üstünlüyü artıq Microsoft stekinə — Active Directory, Office 365, .NET — əsaslanan təşkilatlarda özünü göstərir: orada Azure ilə Microsoft ekosisteminin qalan hissəsi arasındakı inteqrasiya dərindir və həqiqətən xeyli mühəndis vaxtına qənaət edir. Bu kontekstdən kənarda Azure-un müstəqil üstünlüyü o qədər də qabarıq deyil, baxmayaraq ki, onun korporativ satış əlaqələri və uyğunluq sertifikatları onu artıq Microsoft-a geniş bağlı olan daha böyük təşkilatlarda geniş yayılmış standart seçimə çevirir.
Bu qərarı əslində nə müəyyən etməlidir
- Komandanızın artıq nəyi bildiyi. Platformadan illərdir istifadə edən mühəndislə onu sıfırdan öyrənən mühəndis arasındakı məhsuldarlıq fərqi platformaların özləri arasındakı istənilən fərqi kölgədə qoyur.
- Artıq nədən istifadə etdiyiniz. Microsoft məhsullarından geniş istifadə edirsiniz → Azure-un real üstünlüyü var. Ağır məlumat/ML iş yükü → Google Cloud-un alətləri bu sahədə həqiqətən güclüdür. Sıfırdan başlayırsınız → AWS-in sənədləşməsi və mütəxəssis bazarı riski azaldır.
- Elan olunan tarif deyil, qiymət strukturu. Xalis hesablama xərci baxımından hər üçü təxminən müqayisə ediləndir; real fərq xaricə məlumat ötürülməsi (egress) haqlarında, rezerv edilmiş instansiyalar üzrə endirim strukturunda və baha başa gələn nəyinsə təsadüfən işlək qalmasının nə qədər asan olmasındadır. Prayslistdəki qiymətləri müqayisə etmək əvəzinə real gözlənilən iş yükünüz üçün hesablama əldə edin.
- Multi-cloud pulsuz sığorta polisi deyil, real xərcdir. Birdən çox provayderdə işləmək ehtiyatlı addım kimi səslənir, lakin bu, iki dəst alət, IAM modeli və şəbəkə konfiqurasiyasını öyrənmək və dəstəkləmək deməkdir. Tək provayderin nadir regional fasiləsinin həqiqətən fəlakətli olacağı miqyasa hələ çatmamış komanda üçün bu, nadir hallarda özünü doğruldur.
Yeni məhsul hazırlayan əksər komandalar üçün əsas sual «hansı bulud obyektiv olaraq ən yaxşısıdır» deyil, «komandam hansı buludda ən tez məhsuldar işləyəcək və hansı bulud artıq bağlı olduğumuz həllərə uyğundur» sualıdır. Bu suala real cavab vermək marketinq səhifələrinin göstərdiyindən qat-qat asandır.
Burncode-da hər üç provayderlə işləyirik və yeni müştərilərlə gördüyümüz bulud infrastrukturu işinin bir hissəsi məhz budur — komandaya öz stekinə və özünə həqiqətən uyğun gələn provayderi seçməyə (və ya ona köçməyə) kömək etmək, sonra isə heç kimin tam başa düşmədiyi konfiqurasiya yığını toplamaq əvəzinə onu düzgün qurmaq.