Microsoft Azure

**Microsoft Azure** Microsoft tərəfindən idarə məlumat mərkəzlərindən ibarət olan qlobal bir şəbəkədə sürətli bir şəkildə tətbiqlər yaratmaq, paylaşmağ və idarə təmin edən açıq və elastik bir bulud platformasıdır. Hər hansı bir dili, vasitəsi və ya çərçivəni istifadə edərək tətbiqlər inkişaf etdirə bilərsiniz. Hər zaman işləyir. Hər zaman açıqdır.

Microsoft Azure aylıq 99,95% nisbətində bir SLA təqdim edir və yüksək səviyyədə əlçatan tətbiqlər inkişaf etdirib işlətməyinizi təmin edər. Avtomatik əməliyyat sistemi və xidmət düzəltmə əlavəsi tətbiqi, məskun şəbəkə yükü balans və təchizat nasazlıqlarına qarşı rahatlıq verir. Tətbiqinizi istədiyiniz an üst distributivə yeniləmənizi təmin edəcək bir paylama modelini dəstəkləyir. Microsoft Azure, tətbiq inkişaf etdirmək üçün hər hansı bir dili, çərçivəni və ya vasitəsini sizin üçün təmin edir. Xüsusiyyətlər və xidmətlər açıq REST protokolları istifadə edərək açılır. Microsoft Azure müştəri kitabxanaları, birdən çox proqramlaşdırma dilində mövcuddur, bir açıq kod lisenziya daxilində bazara sürülür və GitHub üzərində həyata keçirilir.

## Limitsiz server. Limitsiz saxlama
Microsoft Azure tətbiqlərinizi hər hansı bir ölçüyə asanca keçirəbilmənizi təmin edir. Bu, qaynaqları bir neçə dəqiqə içərisində təmin etməyə icazə verən, tam avtomatik bir self-service platformasıdır. Qaynaq istifadənizi, ehtiyaclarınızdan asılı olaraq elastik bir şəkildə böyüdün və ya kiçildin. Yalnız tətbiqinizin istifadə etdiyi qaynaqlar üçün ödəmə edirsiniz. Microsoft Azure dünyada birdən çox məlumat mərkəzində mövcuddur və tətbiqlərinizi müştərilərinizə yaxın şəkildə paylaşmağınızı təmin edər.

## Xüsusiyyətlər
Microsoft Azure bütün tətbiq ehtiyaclarını qarşılayan, elastik bir bulud platformasını təqdim edir. Məlumat əməliyyat rolları içərisindəki tətbiq kodunuzu etibarlı bir şəkildə yazmağınızı və genişlətmənizi təmin edər. Əlaqəli SQL verilənlər bazası, NoSQL cədvəl anbarlarını və konfiqurasiya edilməmiş damcı anbarlarını istifadə edərək məlumatları bazaya yaza bilər və istəyə bağlı olaraq məlumatları axtarmaq üçün Hadoop və iş zəkası xidmətlərindən istifadə edə bilərsiniz. Ölçüləndirilə bilən paylanmış tətbiqləri aktivləşdirmək üçün Microsoft Azure-un güclü mesajlaşma xüsusiyyətlərindən faydalana bilər və bir bulud və yerində təşkilati mühitdə çalışan hibrit həllər təqdim edə bilərsiniz. Microsoft Azure-un paylanmış caching alma və CDN xidmətləri, gecikmələri azaltmanızı və dünyanın hər yerində üstün tətbiq performansı göstərməyinizi təmin edər.

## Xidmətlər
**Hesablama** (Computing) – Linux, Windows Server, SQL Server, Oracle, IBM və SAP-ın dəstəyi ilə "Azure" virtual maşınları virtuallaşmanın elastikliyini geniş həcmli hesablama həlləri üçün təmin edir.

**Şəbəkə** (Networking) — Azure, Virtual Şəbəkədə virtual maşınları və tətbiqləri işlətmək üçün paylanmış və yüksək nisbətdə etibarlı bir mühit təmin edir. Xüsusi IP ünvanları istifadə edərək alt şəbəkələrə girişi və nəzarəti prinsipləri və daha çoxunu tətbiq etmək mümkündür. Virtual şəbəkədən faydalanaraq Azure-u şəxsi məlumat mərkəzi kimi istifadə etmək mümkündür.

**Yaddaş** (Storage) – Yaddaş xidməti buludda məlumatlarınızı saxlamaq və onlardan istifadə etmək üçün REST və SDK APİ-lərini təmin edir.

**Veb və mobil xidmətlər** (Web and Mobile services) – Veb, mobil və APİ tətbiqetmələrini rahat şəkildə yaradaraq həm də buludda saxlamağı təmin edir.

**Əşyaların interneti** (Internet of Things) — Çoxlu sayda internetə çıxışı olan cihazlarınızı Microsoft Azure-nin İoT Hub xidmətindən istifadə edərək onları şəbəkəyə qoşa bilərsiniz. Cihazları Cloud üzərindən əməliyyat sistemlərini yeniləyə və yeniləmə paketlərini uzaqdan (remote) yükləyə bilərsiniz.

**Programçılar üçün alətlər toplusu** (Programming tools for Developers) – Proqramçılar çox platformalı sahələrdə genişlənən tətbiqləri və xidmətləri asanlıqla yarada, kodlamada çıxan səhvləri aradan qaldıra (debug) və diaqnostika edə bilərlər.

## Modullar
Microsoft Azure Storage-la iş üçün istifadəçi yaddaş (storage) hesabını yaratmalıdır. Bu Microsoft Azure portalının veb-interfeysi vasitəsilə yerinə yetirilir. Hesabın yaradılması vaxtı istifadəçi 256 bit mərtəbəli məxfi açarı alır və nəticədə saxlanc sisteminə bu istifadəçinin sorğularının müəyyənləşdirilməsi üçün istifadə olunur. Xüsusi halda bu məxfi açarın köməyi ilə sorğu üçün HMAC SHA256 imzası yaradılır. Bu imza HMAC imzasının etibarlılığının yoxlaması vasitəsilə müəyyənləşdirilmənin təminatı üçün istifadəçinin sorğusuyla ötürülür. Proqramın Microsoft Azure Blob-unun sayəsində böyük obyektləri 50 QB-a qədər saxlamaq olur. Bundan başqa, bu sistem yüksək etibarlılıqla və saxlamanın böyüklüyü ilə səciyyələnir. Məlumatlar istənilən vaxtda və istənilən nöqtəsindən əlçatandır. Azure Blob məlumat modelinə baxaq. **Blob** – blob obyektləri Blob konteynerlərində saxlanılır və onların sahəsi bu konteynerlərlə məhdudlaşdırılmışdır. Hər blob 50QB-a qədər ölçüdə ola bilər və konteyner çərçivəsində unikal cərgə ilə adına malikdir. Blob-lar metadata-larla assosiasiya edilmiş ola bilərlər, hansılar ki, cütlüklər şəklində qarşı-qarşıya qoyurlur. Məsələn,  və blob 8Kb(kilo bayt) ölçüsündə olur. Host adına birinci hissə storage(anbar) hesabının adıyla yaradılmışdır, hansını ki, "blob" açar sözü aiddir. Bu Blob obyektlərinin REST-i interfeysinə baxaq. Microsoft Azure Blob-a istənilən giriş REST interfeysinin standart HTTP-komandaları PUT/GET/DELETE vasitəsilə yerinə yetirilir. Blob-la modulları daxil etmək və əməliyyatların reallaşdırması üçün dəstəklənən HTTP/REST komandalarına aiddirlər:

1 — **PUT Blob** – yenisini yerləşdirmək

2 — **GET Blob** – GET diapazonunun qayıdışı üçün standart HTTP-əməliyyatından istifadə edərək bütün blobu və ya baytlarla blob diapazonunu əldə etmək

3 — **DELETE Blob** – mövcud blobu silmək.

ListBlobs interfeysi "prefix" parametrlərini (prefiks) və "delimiter-i" (ayırıcı) dəstəkləyir və blob obyektlərinin iyerarxiya siyahısının qurulmasının imkanını təmin edirlər. Bildiyimiz kimi, "/" oxşarın yaradılması üçün ayırıcı kimi blob adlarının iyerarxiyasının kataloqundan istifadə olunur. Siyahını "qovluqlar"-a salmaq üçün, ListBlobs "delimiter=/" sorğusunu veririk. Məsələn, "prefix=Drama/-ı" və "delimiter=/-i" verərək siyahını və "Drama" kataloqunun faylları alırıq. Diqqət yetirsək görərik ki, "Drama/Memento.wmv" – bu blob-un tam adıdır. ListBlobs interfeysi "maxresults"-u yəni nəticələrin maksimal sayını vermək imkanını təmin edir. Bundan başqa, sistem nəticələrin maksimal sayı üçün yuxarı həddi müəyyən edir, hansılar ki, bir çağırışla daha çox ətraflı informasiyanı SDK üzrə qaytarmış ola bilər. Bu iki son qiymətdən daha kiçiyi çağırış nəticələrinin uyğun olan miqdarıyla və "NextMarker-lə" (növbəti marker) qayıdır. Bu marker-in mövcudluğu onu göstəririr ki, bu sorğu bütün mümkün nəticələrin qayıdışlarını təmin etmədi. "NextMarker" nəticələrin növbəti səhifəsi üçün siyahının tərtib edilməsinin davamı üçün istifadə oluna bilər. Əvvəlki nümunədə fərz edəcəyik ki, hər dəfə 3 nəticə üzrə maksimumu qaytararaq "Action" kataloq blob-unun bütün obyektlərinin siyahısını təşkil etmək tələb olunur. Blob obyektlərinin birinci dəsti qayıdır və marker ListBlobs-un ikinci çağırışına verilir. Onda bu çağırış növbəti nəticələrin qayıdışını təmin edəcək və kataloq blob-unun qalmış obyektləri qaytarılır."NextMarker"-in boş olması onu göstəririr ki, bütün nəticələr alınmışdır

## İstinadlar
* Microsoft Azure products. https://azure.microsoft.com/en-us/
* Azure Blob services http://www.intuit.ru/studies/courses/673/529/lecture/11922