معماری های مبتنی بر cloud به طراحی سیستم هایی اشاره میکند که از فناوری ها و خدمات cloud computing استفاده میکنند که به آنها اجازه میدهد نرم افزاری scalable، flexible و effective-cost تولید و deploy کنند. در این پست به بررسی 4 تا از ارائه دهنده های معماری مبتنی بر cloud میپردازیم و این ارائه دهنده ها را از جنبه های مختلف با یکدیگر مقایسه میکنیم.
بعد از AWS دومین ارائه دهنده cloud computing است. Azure خدمات و راه حل های متنوعی را برای سناریوها و نیازهای مختلف ارائه می دهد. Azure دارای یک شبکه جهانی از region ها و availability zoneها است. Azure به دلیل یکپارچگی با محصولات و خدمات مایکروسافت مانند Office 365، Windows Server، SQL Server، Visual Studio Code و غیره شناخته شده است.
مزایای اصلی Azure:
- در سناریو های hybrid cloud که هم private و هم public را شامل میشوند برتری دارد.
- خدمات پیشرفته ای را برای هوش مصنوعی (AI)، Block Chain (BC)، اینترنت اشیا (IoT)، Gaming (GA) و غیره ارائه می دهد.
- دارای یک مدل قیمت گذاری انعطاف پذیر است که به مشتریان امکان می دهد بین گزینه های consumption-based یا reserve-based انتخاب کنند.
بعد از AWS و Azure سومین ارائه دهنده بزرگ پردازش ابری است. GCP طیف وسیعی از خدمات و راه حل ها را برای حوزه ها و صنایع مختلف ارائه می دهد. GCP دارای 24 منطقه است. GCP به دلیل تخصص خود در تجزیه و تحلیل Big Data (BD)، یادگیری ماشین (ML)، AI/ML Engineering و غیره شناخته شده است.
مزایای اصلی GCP:
- با ابزارهای داخلی خود مانند BigQuery (BQ)، Dataflow (DF)، Dataproc (DP) و غیره مزیت منحصر به فردی در BD دارد.
- خدمات نوآورانه ای را برای AI/ML مانند TensorFlow Engine ، AutoML Engine ، Vertex AI و غیره ارائه می دهد.
- مدل قیمت گذاری ساده دارد که بر اساس استفاده به جای ظرفیت یا تعهد هزینه می گیرد.
- تمرکز زیادی بر فرهنگ نوآوری و تحقیق دارد.
سرویسهای ابری VMware مجموعهای از راهحلها هستند که به شما امکان میدهند برنامهها را در منابع ابری یکپارچه، مدیریت و ایمن کنید. این سرویس ها برای هر سرویس ابری با استفاده از VMware کار می کنند و می توانند به شما کمک کنند مدیریت و نگهداری محیط های ترکیبی یا چند ابری را متمرکز کنید.
مزایای اصلی VMware:
- امکان استفاده از همان ابزارها و فرآیندهایی که برای زیرساختهای VMware استفاده میشوند، مانند vSphere، vRealize و NSX، برای مدیریت منابع ابری.
- انتخاب از میان ارائهدهندگان ابری مختلفی که خدمات مبتنی بر VMware ارائه میکنند، مانند AWS، Azure، Google Cloud، IBM Cloud و Oracle Cloud.
- بهینه سازی هزینه ها و عملکرد با انتخاب بهترین سرویس ابری برای هر بار کاری و migrate و scale کردن برنامه ها روی cloud های مختلف
- اطمینان از امنیت و انطباق محیط های ابری با اعمال سیاستها و کنترلها در شبکه، دادهها و لایههای برنامه.
در ادامه به بررسی سرویس های ارائه شده توسط AWS و Azure میپردازیم:
حال این ارائه دهنده را در 3 دسته کلی با یکدیگر مقایسه میکنیم: پردازش، شبکه، ذخیره سازی
هر دو AWS و Azure طیف وسیعی از خدمات محاسباتی مانند ماشینهای مجازی، کانتینرها، عملکردهای بدون سرور، پردازش دستهای و غیره را ارائه میدهند. قیمتگذاری این خدمات به عواملی مانند نوع، اندازه و تعداد نمونهها، منطقه، سیستم عامل، پهنای باند شبکه، ظرفیت ذخیره سازی و مدت زمان استفاده بستگی دارد. به طور کلی، AWS و Azure مدلهای قیمتگذاری مشابهی برای خدمات محاسباتی دارند، اما Azure برای بارهای کاری مبتنی بر ویندوز ارزانتر است، در حالی که AWS برای بارهای کاری مبتنی بر لینوکس ارزانتر است. Azure همچنین برای مشتریانی که مجوزها یا اشتراک های موجود مایکروسافت دارند، تخفیف ها و مزایای بیشتری ارائه می دهد. به عنوان مثال، Azure Hybrid Benefit این امکان را می دهد که از مجوزهای Windows Server و SQL Server خود در ماشین های مجازی Azure استفاده کنید و تا 85 درصد صرفه جویی کنید. AWS همچنین دارای برخی از برنامه های صرفه جویی در هزینه است، مانند AWS Savings Plans و AWS Reserved Instances، که این امکان را می دهد تا مقدار یا مدت زمان مشخصی از استفاده را متعهد شوید و نرخ های پایین تری دریافت کنید.GCP برای نمونههای بهینهشده با هدف عمومی و memory optimized ارزانتر است، در حالی که VMware برای نمونههای بهینهسازی شده محاسباتی ارزانتر است. هر دو این ارائه دهنده ها نیز مزایا و تخفیف هایی برای دریافت نرخ های پایین تر ارائه میدهند.
هر دو AWS و Azure انواع خدمات ذخیره سازی مانند ذخیره سازی اشیا، ذخیره سازی بلوک، ذخیره سازی فایل، ذخیره سازی پشتیبان و آرشیو و غیره را ارائه می دهند. قیمت گذاری این خدمات به عواملی مانند نوع، اندازه و تعداد اشیاء، منطقه، عملکرد، در دسترس بودن، افزونگی، رمزگذاری، فرکانس دسترسی و انتقال داده بستگی دارد.. به طور کلی، AWS و Azure مدلهای قیمتگذاری مشابهی برای سرویسهای ذخیرهسازی دارند، اما Azure برای Hot storage ارزانتر است، در حالی که AWS برای cold storage ارزانتر است. Cold storage به ذخیره سازی داده ها در فضا هایی از سیستم است که کمتر به آنها دسترسی داریم گفته میشود و Hot storage به ذخیره سازی در فضای پر استفاده. Azure همچنین سطوح و گزینه های بیشتری را برای عملکرد ذخیره سازی و افزونگی ارائه می دهد، مانند Azure Premium SSD، Azure Ultra Disk، و Azure Zone-Redundant Storage. از طرفی AWS دارای برخی ویژگیهای صرفهجویی در هزینه است، مانند AWS S3 Intelligent-Tiering، AWS S3 Glacier Deep Archive و AWS DataSync که این امکان را میدهد هزینههای ذخیرهسازی خود را بر اساس چرخه عمر داده و نیازهای انتقال خود بهینه کنید. بین GCP و VMware نیز برای Cold storage VMware گزینه بهتری بوده و برای Hot storage بهتر است از GCP استفاده کنید.
هر دو AWS و Azure طیف وسیعی از خدمات شبکه مانند شبکه های مجازی، متعادل کننده بار، VPN، DNS، CDN و غیره را ارائه می دهند. قیمت گذاری این سرویس ها به عواملی مانند نوع، اندازه و تعداد منابع، منطقه و منطقه، عملکرد، در دسترس بودن، امنیت و انتقال داده بستگی دارد. به طور کلی، AWS و Azure مدلهای قیمتگذاری مشابهی برای خدمات شبکه دارند، اما Azure برای انتقال دادههای خروجی ارزانتر است، در حالی که AWS برای انتقال دادههای ورودی ارزانتر است. Azure همچنین گزینه ها و ویژگی های بیشتری را برای عملکرد و امنیت شبکه ارائه می دهد، مانند Azure ExpressRoute، Azure Firewall و Azure DDoS Protection. AWS همچنین دارای برخی ویژگیهای صرفهجویی در هزینه و افزایش عملکرد است، مانند AWS VPC Endpoints، AWS Global Accelerator و AWS Shield. بین GCP و VMware، برای انتقال داده های ورودی VMware ارزانتر بوده و GCP برای انتقال داده های خروجی.
در نهایت به این موضوع باید توجه داشته که هیچ یک سرویسی برای همه کاربرد ها مناسب نبوده و برای هر مورد استفاده در پردازش ابری بسته به اهداف، نیازمندی های منحصر به فرد هر پروژه و بودجه و ریسک ها میبایست بررسی های لازم را انجام داد تا بهترین سرویس را انتخاب کرد.
این مطلب، بخشی از تمرینهای درس معماری نرمافزار در دانشگاه شهیدبهشتی است
https://cloud.google.com
https://azure.microsoft.com
https://vmware.com
https://aws.amazon.com
https://cloudzero.com
https://cloudian.com
https://altaro.com
https://bmc.com