aws ec2 rds

مقایسه سرویس دیتابیس آمازون AWS با پیاده سازی دستی دیتابیس ابری در سرور مجازی EC2

طراحی و انتخاب معماری زیرساخت یکی از مهم‌ترین مراحل شروع استارتاپ و توسعه محصول است. اگر در این مرحله درست انتخاب کنیم، از بسیاری از مشکلات در آینده جلوگیری خواهد شد. مقیاس‌پذیری، کنترل هزینه و افزایش کارایی از معیارهای اصلی هستند که باید در انتخاب زیرساخت دیتابیس مورد توجه قرار گیرند. در این مطلب تمرکز ما بیشتر روی هزینه راهکارهای مختلف برای پیاده‌سازی پایگاه داده ابری، به خصوص مقایسه هزینه سرویس‌های دیتابیس مدیریت شده (DBaaS) با پیاده‌سازی شخصی دیتابیس ابری خواهد بود.

برای ساده‌تر شدن این مقایسه، در این مطلب مثال‌هایی از سرویس‌های AWS خواهیم آورد. خدمات وب آمازون یا همان AWS، از پیشگامان سرویس‌دهندگان ابری در سطح جهانی است که هر دو سرویس دیتابیس مدیریت‌شده و سرور مجازی ابری (برای پیاده‌سازی دستی دیتابیس) را ارائه می‌دهد. بنابرین با مقایسه این دو سرویس، درک درستی از ويژگی‌ها و مزایای هر روش، تغییر هزینه‌ها در کوتاه مدت و بلند مدت و راهکاری که بیشترین منفعت را برای کسب و کار شما ایجاد می‌کند کسب خواهید کرد.

پیاده سازی دستی دیتابیس ابری روی EC2

ابتدایی‌ترین روش برای افزایش کارایی دیتابیس و بهره‌مندی از ویژگی‌های زیرساخت ابری در پایگاه داده، خرید سرورهای مجازی ابری و نصب و پیاده‌سازی دیتابیس روی آن است.

سرور مجازی ابری EC2 آمازون AWS

ابر پردازشی الستیک یا همان EC2 از اولین خدمات AWS است که در سال ۲۰۰۶ به لیست سرویس‌های آمازون اضافه شد. به زبان ساده، EC2 یک سرور مجازی است که روی زیرساخت ابری میزبانی می‌شود، از مزایای اصلی آن می‌توان به پیاده‌سازی سریع و آسان، مقیاس‌پذیری آنی و سیستم پرداخت ساعتی اشاره کرد. مشابه این سرویس را می‌توانید در شرکت‌های هاستینگ ابری در ایران مانند ابر آروان بیابید. با انتقال پایگاه داده از سرورهای سنتی به سرور مجازی ابری EC2، می‌توانید دیتابیس ابری خود را پیاده‌سازی کرده و از مزایای زیرساخت ابری که پیش‌تر به آن‌ها اشاره کردیم بهره ببرید.

مزایای پیاده‌سازی دستی دیتابیس روی سرور مجازی EC2

در صورتی که شما هم مانند مثال ما در این مقاله از اینستنس‌های EC2 آمازون (یا زیرساخت‌های ابری دیگر با کیفیت مشابه) استفاده کنید، به چند مزیت بزرگ دست پیدا می‌کنید. اصلی‌ترین مزیت، مقیاس‌پذیری آنی است. به این نحو که در صورتی که با افزایش بازدید یا افزایش کوئری‌های دیتابیس، نیاز به منابع بیشتری داشتید می‌توانید با چند کلیک و بدون زمان قطعی، میزان منابع اینستنس EC2 آمازون خود را افزایش دهید تا حتی در زمان پیک، کاهش کارایی در سایت یا سرویس خود نداشته باشید. با توجه به مدل پرداخت pay per use، شما فقط برای همان ساعاتی که افزایش منابع داشته‌اید هزینه اضافه می‌پردازید.

توانایی گرفتن اسنپ‌شات از ماشین مجازی، رمزنگاری پارتیشن و کپی کردن ماشین مجازی از یک ناحیه یا دیتاسنتر به ناحیه یا دیتاسنتر دیگر از جمله مزایایی است که در صورت استفاده از سرور ابری EC2 آمازون به آن دست خواهید یافت.

معایب پیاده‌سازی دستی دیتابیس ابری روی EC2

در نگاه اول شاید عیب خاصی به این راهکار گرفته نشود، مخصوصا زمانی که از یک سرویس دهنده قوی مانند AWS استفاده می‌کنید! اما چند نکته وجود دارد که اشاره به آن‌ها خالی از لطف نیست.

اول اینکه حتما به هزینه‌های کناره در EC2 توجه کنید، از جمله هزینه پهنای باند. گرچه در AWS هزینه پهنای باند به ازای هر گیگابایت بسیار ناچیز است، اما در صورتی که مشتری پرمصرف هستید ممکن است افزایش محسوسی در فاکتور خود ببینید. همچنین اسنپ‌شات‌های (بکاپ های) EC2 روی فضای S3 آمازون ذخیره می‌شود، بنابرین اگر حجم EC2 شما و تعداد بکاپ‌هایی که از آن می‌گیرید زیاد است، هزینه S3 را هم مد نظر قرار دهید.

نکته دوم فضای ذخیره‌سازی اینستنس‌های EC2 است، به صورت پیش فرض SSD های معمولی (با iops حداکثر ۱۶۰۰۰) به سرورهای مجازی EC2 تخصیص داده می‌شود. در صورتی که بخواهید از فضای ذخیره‌سازی با iops بالا (تا ۶۴۰۰۰) استفاده کنید، باید هزینه بیشتری پرداخت کنید.

توجه! نکته اصلی که در این راهکار باید به آن توجه کنید این است که در صورت کوچ از سرورهای سنتی به ابری، الزاما دیتابیس شما افزایش کارایی یا سرعت نخواهد داشت. این فاکتور وابسته به کارایی ماشین مجازی ابری مورد استفاده شما و امکاناتی است که سرویس‌دهنده زیرساخت ابری در اختیار شما قرار می‌دهد، در صورتی که یک سرویس‌دهنده قدرتمند مانند آمازون را انتخاب کرده باشید، بهبود سرعت را هم در کنار دیگر مزایای زیرساخت ابری تجربه خواهید کرد. ولی اگر قصد خرید از یک هاستینگ ابری درجه ۳ را دارید باید کمی به شانس و دعا هم متوسل شوید.

استفاده از دیتابیس مدیریت شده RDS آمازون

سرویس دیتابیس مدیریت شده RDS جزو خدماتی بود که سال ۲۰۰۹ به لیست سرویس‌های AWS اضافه شد. این سرویس با پشتیبانی از پایگاه داده MySQL و با هدف ساده‌سازی نصب، راه‌اندازی و مدیریت دیتابیس‌های رابطه‌ای معرفی شد. این سرویس که جزو خدمات DBaaS قرار می‌گیرد نوعی SaaS است که علاوه برای میزبانی پایگاه داده در فضای ابری، مدیریت آن در سطح اپلیکیشن را هم انجام می‌دهد. از جمله ویژگی‌های سرویس دیتابیس مدیریت‌شده می‌توان موارد زیر را نام برد:

  • آپدیت خودکار دیتابیس
  • مانیتورینگ هوشمند
  • پشتیبان‌گیری خودکار
  • رپلیکیشن و تحمل خطا
  • دسترسی پذیری بالا

به عبارت دیگر، در صورت استفاده از پایگاه داده مدیریت شده RDS آمازون شما فقط مسئول طراحی اسکیم دیتابیس و بهینه‌سازی کوئری‌های خود هستید؛ بقیه موارد توسط AWS انجام می‌شود. در عکس زیر تفکیک وظایف شما و ارائه دهنده دیتابیس مدیریت شده به تصویر کشیده شده است.

aws rds dbaas

گرچه هزینه ساعتی اینستنس‌های دیتابیس RDS نسبت به EC2 بیشتر است، اما کلیه عملیات پایگاه داده، از نصب و پشتیبانی تا کانفیگ تخصصی دیتابیس از دوش شما برداشته می‌شود. بنابراین، عدم نیاز شما به ادمین دیتابیس (DBA) در کاهش هزینه‌های شما تاثیر زیادی خواهد داشت. اگر هم تاکنون وظایف پایگاه داده به دوش دولوپرهای شما بوده، با خالی شدن زمان‌شان می‌توانند تمرکز بیشتری روی کار تخصصی خودشان، که توسعه محصول شماست، داشته باشند. لازم به ذکر است که تحقیقاتی که در این زمینه انجام شده از افزایش چشمگیر کارایی آن‌ها حکایت دارد.

جدول زیر مقایسه‌ای از قیمت ماهیانه اینستنس‌های EC2 و RDS با منابع مشابه در AWS را نشان می‌دهد.

EC2 – m4.large RDS – db.m4.large

RDS – db.m4.large – Multi-AZ 

هسته پردازشگر ۲ ۲ ۲
رم ۸ گیگابایت ۸ گیگابایت ۸ گیگابایت
فضای ذخیره‌سازی

۵۰ گیگابایت

General SSD

۵۰ گیگابایت

General SSD

۵۰ گیگابایت

General SSD

قیمت ماهانه ۷۷.۳۲ دلار ۱۳۳.۸۵ دلار ۲۶۷.۷۰ دلار

همانطور که مشاهده می‌کنید قیمت دیتابیس ابری مدیریت‌شده AWS تقریبا ۷۵ درصد بیشتر از اینستنس EC2 با منابع مشابه است. همچنین در صورت استفاده از پلن Multi-AZ با نود رپلیکیشن، هزینه شما دو برابر می‌شود.

کدام راهکار را انتخاب کنیم؟

اگر سرویس یا اپلیکیشنی که روی پایگاه داده میزبانی می‌کنید حساسیت بالایی دارد، حتما از دیتابیس مدیریت‌شده Multi-AZ استفاده کنید.

اگر سازمان شما دارای تیم متخصص پایگاه داده است و می‌خواهید روی پایگاه داده خود کنترل صد در صد داشته باشید، می‌توانید از اینستنس EC2 برای میزبانی پایگاه داده استفاده کنید.

در موارد کلی استفاده از سرویس دیتابیس مدیریت‌شده عادی پیشنهاد می‌شود.

دیتابیس مدیریت شده پنکیک

سکوی دیتابیس ابری پنکیک، اولین و تنها ارائه دهنده دیتابیس مدیریت شده در ایران است که پایگاه‌داده‌های MySQL، MongoDB و PostgreSQL را به صورت سرویس (DBaaS) روی بهترین دیتاسنترهای ایران و خارج ارائه می‌دهد. چنانچه سایت یا سرویس شما در ایران میزبانی می‌شود یا پرداخت هزینه بالای دلاری AWS برای شما میسر نیست، می‌توانید در پلتفرم دیتابیس پنکیک از کلیه ویژگی‌های دیتابیس‌های مدیریت شده استفاده کنید. در جدول زیر مقایسه پلن‌های تکی و مولتی نود سرویس دیتابیس آمازون با پلن‌های مشابه آن در پنکیک مقایسه شده است.

RDS – db.m4.large Pancake DBaaS – 4- Instance RDS – db.m4.large – Multi-AZ

Pancake DBaaS – 4-Instance Replication

هسته پردازشگر ۲ ۴ ۲ ۴
رم ۸ گیگابایت ۸ گیگابایت ۸ گیگابایت ۸ گیگابایت
فضای ذخیره‌سازی

۵۰ گیگابایت

General SSD

۴۰ گیگابایت

High iops NVMe

۵۰ گیگابایت

General SSD

۴۰ گیگابایت

High iops NVMe

قیمت ماهانه ۱۳۳.۸۵ دلار ۹۰۰.۰۰۰ تومان ۲۶۷.۷۰ دلار ۱.۸۰۰.۰۰۰ تومان

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *