تاریخچه Microsoft Azure

سیستم‌ ‌عامل‌ ‌ابری Microsoft Azure در راستای رقابت با محصولات Amazon EC2 و Google App Engine، در 28 اکتبر 2008 میلادی، معرفی‌ شد. Microsoft Azure در‌ واقع نسخه‌ی توسعه‌‌ ‌‌یافته‌ی Windows NT اولین Platform ابری مایکروسافت (PAAS) است. Microsoft Azure برگرفته شده از پروژه برنامه نویسی Project Red Dog با حذف کدهای اضافی، برای استفاده‌ی Developer ها ارایه شد.
مایکروسافت

سرویس‌های نسل اول

Azure img 1
Azure img 1
اولین نسل Microsoft Azure با تعداد محدودی سرویس به عنوان پایه‌ی اصلی سرویس‌های ابری شروع به کار کرد. این سرویس ها اجرای Web Application ASP.NET و API ها و پروسه های طولانی بدون واسط کاربری را برای Developer ها فراهم کردند.
سرویس های نسل اول با انتشار محصول SQL Azure به دلیل پشتیبانی همزمان از زبان‌های برنامه نویسی JAVA ،PHP و میکرو سرویس‌ها قدرتمندتر شدند. SQL Azure یک سال بعد از Microsoft Azure معرفی شد.در اوایل سال 2010 میلادی، محصول Windows Azure با داشتن سرویس های بیشتر، به صورت رسمی وارد بازار شد. یکی از مهم‌ترین سرویسها.Net Framework 4 بود که امکان پشتیبانی از Microsoft SQL را فراهم کرد. سرویس دیگر(Content Delivery Network) CDN بود که با ذخیره داده‌های استاتیک وب سایت‌ها عملکرد Microsoft Azure را افزایش داد. سرویس بعدی تحت عنوان Microsoft Azure Service Bus امکان اتصال Application های داخلی، Application های ابری و سرویس‌های خود Azure را فراهم کرد.
Azure img 1
Azure img 1
مایکروسافت

سرویس‌های نسل دوم

استفاده از نرم‌افزارهای متن باز مثل Linux VM و Package های MYSQL، PHP و Apache به دلیل ارزان بودن در بین Developerها بسیار رایج شد.
بعدها سرویس های Iaas به دلیل فراهم ‌کردن کنترل قابل ‌قبول در فضای ابری برای کاربر ها بسیار مورد استقبال قرار گرفتند. از طرفی شرکت آمازون با محصول Amazon EC2 به دلیل مالکیت نسخه Linux اختصاصی پیشرفت خوبی داشت. همین امر باعث شد که شرکت مایکروسافت سرویس‌های ابری Windows Azure را باز طراحی کند. بعد از بازبینی استراتژی‌های طراحی Windows Azure با عنوان سرویس ابری Microsoft Azure معرفی شد. این سرویس ابری جدید بهترین مکان را برای اجرای سیستم عامل Linux فراهم کرد و تمامی عملیات اجرایی آن به صورت کامل از Paas به Iaas مهاجرت کرد.
مایکروسافت

سرویس‌های نسل سوم

در عصر کلان ‌داده، اینترنت‌ اشیا و تحلیل ‌داده‌، شرکت بزرگ آمازون محصول EMR را ارائه کرد. این محصول یک Platform ابری‌ کلان ‌داده‌ است که انجام پردازش روی کلان‌داده توزیع شده، Query های تعاملی SQL و Application های یادگیری ‌ماشین را با استفاده از Frameworkهای متن‌باز مثل Apache Spark، Apache Hive و Presto فراهم میکند. همزمان شرکت بزرگ گوگل محصول Big Query را به عنوان مخزن داده در فضای ابری معرفی کرد. شرکت مایکروسافت هم با همکاری شرکت Hortonworks محصول Azure HDInsight را ارائه کرد. Azure HDInsight یک سرویس مبتنی بر نرم افزار متن باز" Apache Hadoop "در بستر ابری مایکروسافت است.
شرکت مایکروسافت محصولات Azure Data Lake Store و Azure Data Lake Analytics را نیز منتشر کرد. این محصولات در واقع Platform تحلیلی و کلان‌ داده‌ی End to End در بستر Azure فراهم کردند.
شرکت مایکروسافت قصد دارد با همکاری با شرکت Revolution Analytics زبان برنامه نویسی محبوب R را روی Azure بومی کند. مایکروسافت در این Platform، برروی سرویس محبوب و قدرتمند اینترنت اشیا (IOT) نیز سرمایه گذاری می‌کند.
Microsoft Azure جزو پیشگامان در ارائه سرویس‌های ابری است و تجهیزاتی دارد که به کمک Event Hub و IOT Hub و Stream analytics و SQL Database و Power BI به صورت End to End به هم متصل هستند. شرکت مایکروسافت با محصول انحصاری خود (به اصطلاح محصول White-Labeled) تحت عنوان Azure IOT Central، سرویس IOT را به صورت SaaS ارائه کرده و همچنین تنها شرکتی است که بلوک های اصلی سرویس IOT را در قالب Paas نیز فراهم ‌کرده ‌است.
Azure img 6
Azure img 5
مایکروسافت

سرویس‌های نسل چهارم

در این دوره شرکت مایکروسافت به عنوان قدرتمند ترین ارائه دهنده‌ی سرویس های ابری شناخته شده بود. تداوم ارائه سرویس مطابق با سلیقه کاربر لازمه حفظ این قدرت است. در این برهه از زمان تمام مولفه های ابری این سرویس به سمت هوشمند سازی و یادگیری‌ماشین حرکت کردند. Microsoft Azure جزو اولین ارائه دهندگان سرویس های ابری عمومی است که با ارائه‌ی Azure ML Studio امکان آموزش و استقرار مدل های یادگیری‌ماشین را برای طراحان فراهم کرد. سرویس های Azure ML در آینده از مدل های یادگیری عمیق یا Deep Learning ، کارت های گرافیکی NVDIA و Intel FPGA و عملیات یادگیری‌ ماشین و مفهوم pipeline حرفه ای و حتی حالت های Drag and Drop برای آموزش شبکه های عصبی نیز پشتیبانی خواهند کرد.
همکاری شرکت مایکروسافت با شرکت‌های بزرگی مثل Intel و NVDI و Qualcomm از طرفی و پشتیبانی از مفاهیم پایگاه داده، کلان‌داده‌، هوش مصنوعی و اینترنت‌اشیا از طرف دیگر باعث شد که محصول Azure IOT Edge به بهترین Platform موجود تبدیل شده و مفاهیمی مثل ابر هوشمند و Edge هوشمند را برآورده کند. در عین حال،Microsoft Azure مکانی برای میزبانی سرویس های قدرتمند ابری فراهم و استانداردهایی برای اجرای محاسبات و مفاهیم Storage و analytics در Edge ارائه نمود .
شرکت مایکروسافت بعد از تغییری که نرم افزار ‌متن باز Kubernetes در رایانش ابری ایجاد کرد، در محصول Azure Arc امکان مدیریت Kubernetes توسط یک پنل مدیریتی واحد با استفاده از ماشینهای مجازی و ماشین های فیزیکی را برای کاربران فراهم کرد. به این ترتیب Azure Arc از رقبای خود پیشی گرفت.

سرویس Compute

  • · Virtual Machines: ماشین های مجازی
  • · Virtual Machine Scale Sets امکان ایجاد و مدیریت گروهی از ماشین های مجازی را به صورت Load Balance فراهم میکند.
  • توابع Serverless Computing: نوعی از محاسبات ابری است که در آن ارائه‌ دهنده سرویس، منابع را بر اساس تقاضا تخصیص میدهد.
  • · Batch برای اجرای Application های container: امکان اجرای تعداد بالایی عملیات محاسباتی را بر روی Azure فراهم میکند.
  • · Service Fabric برای میکرو سرویس ها
  • · Container Orchestration: به معنی فراهم‌ کردن امکان اجرای اتوماتیک سرویس ها در Container ها است.
  • سرویس های ابری: برای ساخت Application های مبتنی بر ابر و API ها

سرویس Networking

این سرویس شامل ابزارهای متنوع شبکه مانند Virtual Network (امکان اتصال Datacenterها بر اساس تقاضا را فراهم میکند) ،Load Balancer، Application Gateway، VPN Gateway، Azure DNS (برای میزبانی دامنه)، Content Delivery Network، Traffic Manager، Network Watcher (برای نظارت بر شبکه) و اتصالات فیبر شبکه اختصاصی ExpressRoute می باشد.

سرویس Web + Mobile

این سرویس شامل ابزارهای متنوع شبکه مانند Virtual Network (امکان اتصال Datacenter ها بر اساس تقاضا را فراهم میکند) ،Load Balancer، Application Gateway، VPN Gateway، Azure DNS (برای میزبانی دامنه)، Content Delivery Network، Traffic Manager، Network Watcher (برای نظارت بر شبکه) و اتصالات فیبر شبکه اختصاصی ExpressRoute می باشد.

سرویس Storage

این سرویس شامل Blob، Queue، ذخیره ‌ساز فایل و دیسک، Data Lake Store، پشتیبان ‌گیری و بازگردانی سایت است.

سرویس Containers

سرویس Container علاوه بر فراهم ‌کردن ابزارها برای میکرو سرویس ها، از Kubernetes، DC/OS، Docker Swarm و Container Registry پشتیبانی می‌کند.

سرویس Databases

شامل پایگاه ‌داده مبتنی بر SQL، Cosmos DB، Table Storage برای NoSQL و Redis Cache in-memory technology و ابزارهای مرتبط است.

سرویس AI + Cognitive Services

شامل ابزارهای توسعه Applicationها با قابلیت‌های هوش مصنوعی، مانند Computer Vision API، Face API، Bing Web Search، Video Indexer، Language Understanding Intelligent Service و موارد مشابه دیگر است.

سرویس Microsoft Azure Stack

شامل راه حل‌ هایی برای تکرار زیرساخت Azure در Datacenter سازمان با هدف تسهیل استقرار ابر ترکیبی است.

سرویس IOT

شامل سرویس‌های IOT Hub و IOT Edge است که قابل ادغام با سرویس‌های یادگیری ماشینی، سرویس‌های تجزیه تحلیل و ارتباطی است.

سرویس Monitoring + Management

شامل سرویس‌های شامل ابزارهای متعددی برای مدیریت بارهای ‌کاری Azure و محیط های ابری ترکیبی، مانند : Microsoft Azure Port، Azure Resource Manager، Log Analytics، Automation، Scheduler و موارد دیگر است.

سرویس Developer Tools

شامل سرویس‌های استقرار ابری مثل Visual Studio Team Services, Azure DevTest Labs, HockeyApp mobile app deployment and monitoring, Xamarin cross-platform mobile development است.

سرویس Enterprise Integration

شامل ابزارهای متعدد برای ساخت و مدیریت محیط‌های محاسبات ‌ابری ‌ترکیبی است.

سرویس Data + Analytics

شامل ابزارهای کلان داده مثل : HDInsight برای Hadoop Spark و R Server و HBase و Clusterهای Storm و Stream Analytics و Data Lake Analytics و Power BI است.

سرویس Security + Identity

شامل سرویس‌های احراز ‌هویت ‌دو‌ مرحله‌ای، Key Vault، Active Directory Azure و سرویس‌های امنیتی است.

Azure img 7
Azure img 8
مایکروسافت

ویژگی های برتر Microsoft Azure

بزرگترین مزیتی که مایکروسافت در مورد خدمات‌ رایانش‌ابری خود دارد را می توان در یک کلمه خلاصه کرد: کلمه‌ی "ویندوز".
استفاده از سرویس‌ ابری‌ ‌مایکروسافت، برای سازمان‌هایی که از نرم ‌افزارهای مایکروسافت مانند Windows، Office، SQL Server، SharePoint، Dynamics و غیره استفاده می‌کنند، بسیار مطلوب است. چراکه این سازمان ها با این ابزارها آشنا هستند.
شرکت مایکروسافت با محصول Azure Stack که در مرحله بازبینی فنی قراردارد قابلیت محاسبات ترکیبی را برای استفاده از سازمان های بزرگ بهبود خواهد داد. مایکروسافت هدف اصلی خود را بازار دولتی قرار داده است و به همین دلیل از قابلیتهای امنیتی استفاده می کند و بر اساس ادعای رسمی وب سایت مایکروسافت "Azure به عنوان قابل اعتماد ترین Platform ابری برای موسسات دولتی ایالات متحده شناخته شده است، که تحت پوشش قراردادن هجده سرویس آن توسط مجوز FedRAMP High گواهی بر این ادعا است." به عنوان سخن پایانی این بحث، مشارکت Microsoft Azure با شرکت های فعال و معروف حوزه فناوری اطلاعات مانند Red Hat، Canonical، Citrix، HPE، Adobe، SAP، Cisco شرکت مایکروسافت را قادر به ارتقای کیفیت سرویس‌های خود به کاربران ساخته‌ است.
مایکروسافت

نحوه عملکرد Azure

Azure سیستم‌ عامل ‌ابر‌ عمومی شرکت مایکروسافت، شامل مجموعه بزرگی از سرویس ها از نوع (PaaS) و (IaaS) است. این محصول قابلیت مدیریت سرویس‌های پایگاه ‌داده را نیز دارد. در ادامه مقاله نحوه عملکرد دقیق Azure را بررسی می‌کنیم.
Azure مشابه سایر Platform های ابری، مبتنی بر تکنولوژی مجازی سازی است و به این ترتیب، امکان شبیه سازی سخت افزار‌ها را فراهم‌ کرده ‌است. از شبیه سازی برای نگاشت دستورالعمل های نرم افزاری به دستورالعمل های سخت افزاری استفاده می شوند. شبیه ‌سازی به نرم افزار اجازه میدهد که مشابه سخت افزار واقعی در محیط مجازی اجرا شود.
مفهوم ابر در ‌واقع مجموعه ای از سرورهای فیزیکی در یک یا چند Datacenter است. Datacenterها امکان مجازی ‌سازی سخت افزار‌ها را برای کاربران فراهم می‌کنند. اما ابر چگونه بر روی میلیون‌ها سخت افزار ‌مجازی ‌سازی شده به طور همزمان برای تعداد زیادی کاربر عملیات ایجاد، تخصیص، آزادسازی تخصیص و حذف را انجام میدهد؟
برای درک این موضوع باید معماری Datacenter را به لحاظ سخت‌افزاری بررسی‌ کنیم. در داخل هر Datacenter، مجموعه‌ای از سرور ها در Rack قرار دارند و هر Rack شامل تعداد زیادی Blade Server و سوئیچ شبکه است. همچنین یک واحد توزیع برق (PDU) برق را در دیتا سنتر فراهم می کند. برخی اوقات Rack ‌ها در گروه‌های بزرگتر تحت عنوان Cluster قرار می‌گیرند.
Rack سرور و یا Cluster برای اجرای نمونه‌های سخت ‌افزار مجازی کاربر انتخاب و استفاده می ‌شوند. برخی از سرور ها تحت عنوان Fabric Controller نرم افزار مدیریت ابری را اجرا می کنند. Fabric Controller یک Application توزیع شده است که وظایف زیادی از جمله تخصیص سرویس ها، نظارت بر سلامت سرور و سرویسهای در حال اجرای آن و ترمیم خرابی سرورها را انجام میدهد.
هر مولفه از Fabric Controller به مجموعه‌ای از سرور ها که نرم ‌افزار cloud orchestration را اجرا می‌کنند، متصل است که معمولاً به عنوان Front End از آن یاد می شود. در واقع بخش Front End میزبان خدمات وب، API های RESTful و پایگاه‌ داده های داخلی Azure است که در تمامی عملکردهای ابری استفاده می شود.
به عنوان مثال، Front End میزبان سرویس‌هایی است که درخواستهای کاربر را مدیریت می کند. در واقع هر درخواست، منابع و سرویس هایی از Azure مانند ماشین های مجازی و Azure Cosmos DB را تخصیص می‌دهد. به عنوان اولین مرحله، front end اعتبار سنجی و تأیید می‌کند که آیا کاربر مجاز به تخصیص منابع درخواستی است یا خیر. اگر این درخواست تخصیص تایید شود، Front End، پایگاه ‌داده را بررسی می کند تا یک Rack سرور با ظرفیت کافی را در نظر گرفته و با ارسال دستور به Fabric Controller منبع را تخصیص دهد. به عنوان جمع بندی نهایی مطالب، Azure مجموعه‌ای گسترده از سرور ها و سخت افزارهای شبکه است که مجموعه پیچیده ای از" Application های توزیع شده "را اجرا می کند. این برنامه‌ها، پیکربندی و نحوه عملکرد سخت‌افزار و نرم‌افزار مجازی سازی شده بر روی سرور ها را مدیریت می‌کنند. Azure به دلیل بی نیاز کردن کاربران از دغدغه ارتقا و نگهداری سخت افزار اختصاصی، بسیار محبوب و قدرتمند شده است.