بایگانی

آغاز به کار داکر ۱٫۱۲ (Docker) به همراه نسخه های دسکتاپی ویندوز و مک

محیط های توسعه دسکتاپ برای و ، از مجازی سازی بومی برای سرعت استفاده می کند و مدیریت خارج از جعبه(out –of –box) و سیستم زمانبندی را بالا می برد.

داکر( ) از نسخه ۱٫۱۲ خود رونمایی کرده است. این ورژن برای اولین بار همراه نسخه دسکتاپی کامل از نرم افزارها برای توسعه در دستگاه های ویندوزی و مک است. داکر برای سیستم عامل مک و داکر برای سیستم عامل ویندوز به صورت نسخه بتا در اوایل امسال معرفی شد . این نسخه به توسعه دهندگان اجازه می دهد کارهای خود را با داکر به عنوان یک اپلیکیشن بومی انجام دهند. در اصل، نسخه دسکتاپی از داکر بر روی هر دو پلتفرم از VirtualBox برای فراهم کردن یک محیط مجازی برای اجرای ظروف (نوعی داده انتزاعی) استفاده می کند. داکر این گزینه را با تکنولوژی مجازی سازی بومی هر پلتفرم جایگزین کرده است: چارچوب هایپروایزر اپل بر روی سیستم عامل مک و مایکروسافت هایپر وی بر روی ویندوز. بازخوردهای مشتریان نیز این شرکت را به فکر اضافه کردن قابلیت های جریان کاری همچون توانایی برای اجرای زنده اشکال زدایی با ادغام IDE انداخته است. داکر برای مک و ویندوز در هر دو نسخه پایدار و بتا موجود است. بیشتر توسعه دهندگان نسخه اول( پایدار) را ترجیح می دهند اما افرادی که به دنبال تجربه قابلیت های دیگر هستند می توانند از نسخه بتا نیز استفاده کنند. داکر برای دسکتاپ، بدون خود داکر کارکرد خوبی نخواهد داشت. بنابراین، در بیشتر موارد داکر برای مک و ویندوز به همراه آخرین نسخه از موتور داکر خواهد بود. در تغییرات اولیه، فناوری ارکستراسیون ازدحام(Swarm orchestration technology) به طور مستقیم با داکر ادغام شد در حالیکه قبلا به عنوان یک افزونه در آن وجود داشت. در حالت ازدحام، این نسخه چالشی برای چارچوب های ارکستراسیون همچون Kubernetes بود. تغییر در نسخه ۱٫۱۲ حالت ازدحام را به عنوان روشی برای توسعه اپلیکیشن ها بهبود بخشید. حالت ازدحام سریعتر اجرا می شود و عمدتا این سرعت به خاطر به حداقل رساندن مقدار اطلاعاتی است که باید در هر گره فروشگاه داده نوشته شود. در حال حاضر، این حالت از شبکه های امن به صورت پیش فرض استفاده می کند بنابراین نیازی به فعالسازی دستی در آن نیست. نقطه عطف بزرگ برای داکر در آینده( برای نسخه دسکتاپی و سرور آن) ، معرفی رسمی ظروف داکر به عنوان یک جزء بومی از ویندوز سرور است. این گزینه باید در انتشار بعدی ویندوز سرور قرار گیرد البته تاثیر این قابلیت بر روی کاربران ویندوز ۱۰ دسکتاپی هنوز محتمل نیست. با وجود موفقیت قابلیت های توسعه محور در ویندوز همچون زیر سیستم لینوکس(Linux subsystem) ، پشتیبانی مستقیم برای ظروف داکر و اضافه کردن آن در نسخه های بعدی ارزشمند خواهد بود.

منبع

آغاز به کار داکر ۱٫۱۲ (Docker) به همراه نسخه های دسکتاپی ویندوز و مک

امتیاز دهید

در صورت نیاز به سرور و خدمات مدیریت آن با ما در تماس باشید

۰۲۱۲۸۴۲۱۱۹۳
۰۹۱۲۹۷۲۶۳۴۳
۰۹۳۶۲۱۹۶۳۴۳
@omidahmadyani
@omid_ahmadyani

اینده اوپن‌استک: حجم کاری داکر بر روی Kubernetes

همانطور که می دانید اوپن‌استک در حال تبدیل شدن به یک اپلیکیشن داکری است که بتواند بر روی Kubernetes اجرا شود و به برنامه های گوگل برای یک منبع متن باز ابر هیبریدی کمک کند. توزیع کننده اوپن‌استک با گوگل و اینتل برای ایجاد پلتفرم های ابری برای توسعه از طریق ظروف داکر که توسط Kubernetes مدیریت می شد همکاری خواهد کرد. این موضوع، اصلی ترین بخش بازسازی اوپن‌استک است که دارای پیامدهای بزرگ برای استانداردهای متن باز برنامه ریزی شده توسط گوگل می باشد. همچنین این بازسازی به خوبی نشان می دهد که آینده اوپن‌استک به ظروف بستگی خواهد داشت. برنامه موجود بازسازی سیستم توسعه اوپن‌استک با نام Fuel است . بنابراین اوپن‌استک به عنوان مجموعه ای از ظروف داکر با حداقل موارد مورد نیاز برای نصب لینکوسی است. در دسترس بودن این نسخه بازسازی شده در سه ماهه اول سال ۲۰۱۷ قابل پیش بینی است. Fuel (سوخت) از Kubernetes برای مدیریت ظروف استفاده خواهد و برای دستیابی به این هدف، Mirantis در این پروژه بزرگ با سایر شرکت ها همکاری نزدیکی خواهد داشت. کاندیدهای دیگر برای این پروژه شامل Swarm و Mesos بود اما Kubernetes به سرعت به یک پلتفرم غالب در آمد. مدیران مربوطه معتقدند که سیستم بازسازی شده تنها به عنوان یک اپلیکیشن توزیع شده دیگر اجرا خواهد شد. API های Kubernetes به طور کامل در معرض این تغییر قرار خواهند گرفت و به خوبی در اوپن‌استک اجرا خواهد شد.

رنسکی در این باره می گوید: شما می توانید اوپن‌استک را به عنوان یک PaaS( پلتفرم به عنوان سرویس) برای ماشین های مجازی که بر روی داکر/ Kubernetes کار می کنند در نظر بگیرید.

اهداف گوگل:

یکی از همکاران Mirantis در این راه، خالق Kubernetes یعنی گوگل است. این اتفاق نه تنها به خاطر اینکه Mirantis تلاش می کند از پشتیبانی و حمایت Kubernetes به عنوان بخشی از تلاش توسعه ای اوپن‌استک بهره مند شود رخ خواهد داد بلکه خاصیت محتوایی و ظرفی اوپن‌استک در موتور کانتینر گوگل به راحتی اجرا می شود. رنسکی در این باره می گوید: مشتریان می توانند به خدماتی دسترسی داشته باشند که همه آنها بر اساس استانداردهای باز و API های باز با اوپن‌استک و Kubernetes ترکیب شده است.در این شرایط می توانید ماشین مجازی را به همراه حجم کاری ترکیب شده بر روی یک پلتفرم اجرا کنید. این همان هدفی است که مایکروسافت در حال برنامه ریزی دراز مدت با Azure Service Fabric خود است. در حالیکه Service Fabric به تدریج متن باز خواهد شد و از ظروف حمایت خواهد کرد اما تجسم کنونی آن کمی پیچیده و دشوار است. در مقابل، تمامی موارد موجود در بینش رنسکی، هم اکنون متن باز است . Mirantis قصد دارد اوپن‌استک را به گونه ای بازسازی کند که همانند پروژه اتمی ردهت (Red Hat) رفتار کند که در آن کپسوله سازی تمامی اجزای یک محصول در ظروف منجر به ارتقای راحت تر می شود.

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

منبع

اینده اوپن‌استک: حجم کاری داکر بر روی Kubernetes

امتیاز دهید

در صورت نیاز به سرور و خدمات مدیریت آن با ما در تماس باشید

۰۲۱۲۸۴۲۱۱۹۳
۰۹۱۲۹۷۲۶۳۴۳
۰۹۳۶۲۱۹۶۳۴۳
@omidahmadyani
@omid_ahmadyani

دانلود مایکروسافت ویندوز سرور ۲۰۱۶

همانطور که می دانید مایکروسافت، ویندوز سرور ۲۰۱۶ را منتشر کرده است. این محصول برای دانلود در اختیار افراد قرار گرفته است. شما می توانید  به طور آزمایشی ۱۸۰ روز با آن کار کنید. این نسخه از ویندوز سرور قابلیت های مختلفی  همچون بهبودهای انجام شده در موتور deduplication و پیکربندی مرحله به مرحله deduplication را دارد.  در هایپر وی(Hyper-v) نیز با  وجود قابلیت های جذابی که وجود دارد می توانید vRam را در حال اجرای ماشین مجازی اضافه یا حذف کنید. مقیاس پذیری نیز  نسبت به ویندوز سرور ۲۰۱۲ بهبود یافته است. اما این  موضوع واقعا ضروری است؟  زمانی که Vsphere6.0 منتشر شد بیشتر مهندسان و ادمین ها بر این موضوع تاکید داشتند.  مقیاس پذیری نمی تواند مشکل بزرگی باشد. در حال حاضر ماشین های مجازی وجود دارد که از دیسک های بزرگ پشتیبانی می کنند.  چه کسی یک ماشین مجازی را با ۱۲ ترابایت رم اجرا می کند؟

برای دانلود ویندوز سرور ۲۰۱۶ نسخه Evaluation به این مسیر بروید.

windows-server-2016-1

شرکت داکر (Docker) نیز اعلام کرده است که موتورهای داکر بر روی ویندوز سرور ۲۰۱۶ در دسترس خواهد بود و پشتیبانی خوبی از آن به عمل می اید.

مایکروسافت اعلام کرده است که  هزینه صدور لایسنس برای این نسخه از ویندوز سرور افزایش پیدا می کند. در این نسخه به جای صدور لایسنس برای هر CPU لایسنس مورد نیاز برای  هر هسته صادر خواهد شد.  همانطور که می دانید پردازنده های مدرن امروزی هسته های بیشتری نسبت به گذشته دارند بنابراین اگر مایکروسافت  تصمیم گرفته است صدور لایسنس را بر اساس هسته های استفاده شده صادر نماید، به این معنی است که باید هزینه بیشتری برای استفاده از آن خرج کنید. مایکروسافت در این باره می گوید:

 هزینه لایسنس برای سرورهایی که ۸ هسته  دارند تقریبا برابر با هزینه لایسنس ۲۰۱۲ R2 با دو پردازنده است. نسخه استاندارد از ویندوز سرور و سیستم سنتر(System center)    بیش از ۲ ماشین مجازی خواهد داشت و همه هسته های فیزیکی در سرور دارای لایسنس هستند.

به جدول شبیه سازی زیر توجه کنید:

cores

واضح است که مایکروسافت( چه بخواهید برای توسعه سرور جدید از این سرور استفاده کنید یا برای مجازی سازی به آن نیاز داشته باشد)  برای هسته های بیشتر هزینه اضافی دریافت می کند. این مقدار هزینه نسبت به گذشته افزایش یافته است.

نسخه های ویندوز سرور ۲۰۱۶:

  • نسخه Datacenter که برای محیط های ابر هیبریدی و خصوصی بسیار مجازی مناسب است.
  • نسخه استاندارد (Standard) برای محیط های غیر مجازی یا محیط هایی که مجازی سازی بسیار سبکی در آن انجام می شود مناسب خواهد بود.
  • نسخه Essentials : این نسخه برای سازمان های کوچک تری مورد استفاده قرار می گیرد که بیشتر از ۵۰ کاربر ندارند. این نسخه نسبت به سایر نسخه های منتشر شده قابلیت ها و ویژگی های محدودی دارد.

تغییرات ایجاد شده در هزینه صدور لایسنس:

برای استفاده از لایسنس سرورهای فیزیکی، تمامی هسته های فیزیکی باید در سرور مجوز داشته باشند.  برای هر پردازنده  فیزیکی در سرور حداقل لایسنس ۸ هسته ای نیاز خواهد بود. برای سرورهایی که یک پردازنده دارند حداقل لایسنس ۱۶ هسته ای نیاز است.

  • هزینه لایسنس ۱۶ هسته ای ویندوز سرور ۲۰۱۶ نسخه Datacenter و استاندارد برابر با هزینه لایسنس دو هسته ای  نسخه های مرتبط با Windows Server 2012 R2 است.
  • نسخه استاندارد بیش از دو OSEs یا کانتینر هایپر وی را زمانی که همه هسته های فیزیکی در سرور لایسنس داشته باشند فراهم می کند.
  • هر کاربر یا دستگاهی که به ویندوز سرور استاندارد یا Datacenter با لایسنس موجود دسترسی پیدا می کند به یک Windows Server CAL نیاز خواهد داشت. هر Windows Server CAL به شما اجازه می دهد به ویندوز سرورهای لایسنس دار متعددی دسترسی داشته باشید.
  • یک Windows Server CAL به دستگاه یا کاربر مورد نظر اجازه می دهد به هر نسخه از ویندوز سرور دسترسی داشته باشد.
  • برخی از قابلیت های پیشرفته یا اضافی همچون سرویس Remote Desktop یا سروس مدیریت Active Directory نیازمند خرید یک CAL اضافی است.

دانلود مایکروسافت ویندوز سرور ۲۰۱۶

امتیاز دهید

در صورت نیاز به سرور و خدمات مدیریت آن با ما در تماس باشید

۰۲۱۲۸۴۲۱۱۹۳
۰۹۱۲۹۷۲۶۳۴۳
۰۹۳۶۲۱۹۶۳۴۳
@omidahmadyani
@omid_ahmadyani

استفاده از OpenStack Sahara برای ایجاد Hadoop

همانطور که می دانید OpenStack Sahara یک ابزار خط فرمان(command-line) است که  نصب و توسعه هادوپ و اسپارک(Hadoop and Spark) را با استریم کردن فرآیند و پیگیری جزییات پیچیده آسان‌تر می سازد. OpenStack یک سیستم عامل ابری است که برای ارائه ماشین های مجازی مورد استفاده قرار می گیرد. این در حالیست که OpenStack Sahara یک جزء افزودنی یا همان Add-on است که به مدیران  شبکه اجازه می دهد اسپارک و هادوپ را بر روی ماشین های مجازی توسعه دهند. به عبارت دیگر، شما می توانید از OpenStack Sahara به عنوان نقطه مرکزی استفاده کنید که از طریق آن قادر خواهید بود معماری هادوپ و اسپارک را برای انجام تجزیه و تحلیل بزرگ داده ها ایجاد نمایید.

خود  Sahara  برای توزیع کنندگان مختلف هادوپ و اسپارک افزونه هایی دارد:

  • Vanilla:Apache Hadoop;
  • Ambari:Hortonworks Hadoop
  • Spark:Apache Spark with Cloudera HDFS
  • MapR:MapR plugin and MapR File System
  • Cloudera:Cloudera Hadoop distribution

از لحاظ فنی، شما برای اجرای اسپارک نیازی به هادوپ ندارید اما از آنجایی که اسپارک برای اختصاص فضای ذخیره سازی در یک معماری توزیع شده طراحی شده است، هادوپ برای آن ایده آل خواهد بود. علاوه بر این، اسپارک مکانیسم ذخیره سازی در خود ندارد. از لحاظ معماری، Sahara بر روی نودهای کنترلر OpenStack اجرا می شود و  کلاسترهای هادوپ نیز بر روی نودهای محاسباتی OpenStack اجرا می گردد. البته باید به خاطر داشته باشید که روش های دیگری برای توسعه هادوپ وجود دارد. به عنوان مثال شما می توانید با استفاده از کانتینرهای داکر(Docker container) اینکار را به خوبی انجام دهید یا آن را به صورت دستی بر روی ماشین مجازی یا فیزیکی نصب کنید.  ابزارهایی همچون Ansible یا Puppet اینکار را ساده تر کرده است. همچنین گزینه های متعدد و ابزارهای کمکی دیگری همچون Cloudera و MapR نیز وجود دارد. علاوه بر این، شما می توانید هادوپ را در ابر با استفاده از فروشندگان مختلف ابری اجرا کنید. با این وجود استفاده از OpenStack Sahara یک نقطه مرکزی ایجاد می کند که از طریق آن توسعه و آغاز هادوپ و اختصاص نقش هادوپ به هر کدام از ماشین های مجازی راحت تر می گردد. از آنجایی که این یک محصول متن باز است، می توانید از پشتیبانی همکاران OpenStack همچون ردهت،اوبونتو، Suse، اچ پی، SAP ، اینتل و سایر گزینه ها استفاده کنید.

آغاز به کار:

شما می توانید OpenStack را بر روی دستگاه واحد نصب کنید تا قبل از انجام هر گونه عملی آن را به خوبی بررسی نمایید. روش های مختلفی برای انجام اینکار وجود دارد. شما می توانید از Packstack برای RHEL یا  سنت او اس استفاده کنید.  همچنین شما می توانید از DevStack  برای فدورا، اوبونتو و سنت او اس استفاده کنید.  اولین مرحله برای انجام کار، آپلود VM images برای OpenStack Glance است. شما می توانید از داشبورد Horizon یا  دستورات خط فرمان برای انجام اینکار استفاده کنید. در ماشین های مجازی؛ به یک Image نیاز خواهید داشت که در آن cloud-init در دسترس است. همانطور که می دانید cloud-init توسعه ابر را ساده تر می کند.

استفاده از Sahara:

همانند سایر کامپوننت های OpenStack، شما می توانید از رابط خط فرمان(command-line) یا داشبورد Horizon برای انجام کارهای خود استفاده کنید.  استفاده از داشبورد بسیار ساده است و نیاز به دانش خاصی ندارد. در هر دو روش،  باید Sahara را نصب کنید.  این فرایند کمی زمانبر است اما OpenStack دستورالعمل ها و راهنمایی را برای انجام آن ارائه می کند که می توانید از این موارد نیز بهره مند شوید.  مراحل اولیه و اصلی برای توسعه هادوپ با پیکربندی و توسعه ماشین های مجازی آغاز می شود. البته اینکار بعد از تعیین  نقش هادوپ در هر ماشین مجازی انجام می شود. نقش هادوپ ممکن است یکی از موارد زیر باشد:

  • Namenode: جزییات فایل سیستم توزیع شده هادوپ (HDFS) را ذخیره می کند و JobTracker را اجرا می کند.
  • Datanode: بخشی از HDFS است که Job ها را اجرا می کند.
  • Secondary name node: به عنوان بک اپ name node عمل می کند تا در صورت بروز هر گونه مشکل از آن استفاده شود.
  • Oozie: زمانبند جریان کاری است.
  • Resource manager( مدیریت کننده منابع): از آپاچی، Yarn یا Mesos برای تخصیص منابعی همچون حافظه و CPU استفاده می کند.
  • Node manager: نقش هر کدام از سرورها را در سیستم هادوپ هماهنگ می کند.
  • Job history server: تب ها را در حال اجرا نگه می دهد و در صورت نیاز کار آن ها را دوباره زمانبندی می کند.

خوب حالا برای اینکه بتوانید هادوپ را با OpenStack Sahara توسعه دهید باید یک Image از ماشین مجازی آپلود نمایید. سپس تصویری را با سفری  ثبت کنید و برچسبی را به آن اضافه نمایید. زمانی که می خواهید Sahara را به Horizon اضافه کنید، این گزینه در داشبورد در دسترس خواهد بود. همانند قالب های ماشین مجازی، گروه نودها نیز قالب هایی هستند که دارای مشخصه یکسانی از  رم و CPU می باشند.  در نهایت باید قالب گروه نودها را با  قالب کلاستر ترکیب کنید. بعد از اینکه همه این مراحل را پشت سر گذاشتید، یک instance( نمونه) در Horizon ایجاد کنید. بعد از انجام این مراحل باید master و worker نودهای هادوپ را تنظیم نمایید.  حالا instance های کلاستر را آغاز کنید. از همین جا می توانید Hadoop job را نیز بسازید.

اسپارک، هادوپ و Sahara:

OpenStack Sahara برای بهبود و ارتقای هادوپ یا اسپارک ایجاد نشده است. در عوض شما می توانید این گزینه را به عنوان یک ابزار گرافیکی یا خط فرمان ببینید که کار توسعه و ساخت سیستم های هادوپ و اسپارک را ساده تر می کند. این گزینه نه تنها در نصب این سیستم ها به شما کمک می کند بلکه می تواند عملکرد هر کدام از سرورها را نیز پیگیری کنید. یکی از مشکلات بزرگی که در نصب اسپارک یا هادوپ بدون استفاده از OpenStack Sahara وجود دارد این است که باید ماشین های مجازی را به صورت دستی نصب کنید. OpenStack Sahara به شما اجازه می دهد این مراحل را پشت سر بگذارید و هادوپ و اسپارک را بر روی آن نصب کنید. همچنین این گزینه به شما اجازه می دهد نقش هر کدام از سرورها را اختصاص دهید. بعد از اینکه تمامی این کارها را انجام دادید، می توانید فرایند را به منظور بالا بردن مقیاس سیستم ها دوباره تکرار کنید. شما قادر خواهید بود ایده های خود را به صورت قالب ذخیره کنید زیرا OpenStack پیکربندی های مختلف ماشین مجازی را به عنوان قالب در خود نگه می دارد و ذخیره می کند. همچنین باید به خاطر داشته باشید که OpenStack Sahara به شما کمک می کند  سایر جزییات پیچیده را پیگیری کنید و تصمیمات مناسبی اتخاذ نمایید. به عنوان مثال اصلی که در هادوپ وجود دارد این است که سه کپی از هر کدام از داده ها گرفته می شود. Sahara در این مورد نیز به شما کمک می کند زیرا اطلاعات خوبی در مورد پیکربندی رک دیتاسنتر خواهد داشت و می تواند این داده ها را کنار یکدیگر نگه دارد.

خوب همانطور که مشاهده کردید، Sahara نصب و توسعه هادوپ و اسپارک را برای افرادی که در حال حاضر از OpenStack استفاده می کنند ساده تر می‌سازد. البته باید به خاطر داشته باشید که شما می توانید از Puppet، Ansible یا داکر استفاده کنید اما هیچ کدام از این موارد سیستم عامل‌های ابری نیستند.

استفاده از OpenStack Sahara برای ایجاد Hadoop

امتیاز دهید

در صورت نیاز به سرور و خدمات مدیریت آن با ما در تماس باشید

۰۲۱۲۸۴۲۱۱۹۳
۰۹۱۲۹۷۲۶۳۴۳
۰۹۳۶۲۱۹۶۳۴۳
@omidahmadyani
@omid_ahmadyani

مقیاس بندی خودکار وردپرس با داکر و AWS

زمانی که سایت وردپرسی خود را ایجاد می کنید ممکن است سوالات زیادی در ذهن داشته باشید. اولین و مهم ترین سوالی که به ذهنتان خطور می کند این است که تعداد بازدید کنندگانی که سایت می تواند مدیریت کند چقدر است؟ اگر سایت شما جزو سایت های تجارت الکترونیکی باشد این موضوع چقدر مهم خواهد بود؟ بر اساس گزارشات سایت آمازون، با هر ۱۰۰ میلی ثانیه تاخیری که در بارگذاری سایت رخ می دهد ۱ درصد از فروش کمتر می شود. امروزه، بیشتر مشتریان انتظار دارند صفحات سایت در کمتر از ۳ ثانیه بارگذاری شود.  خوب همانطور که می دانید سرعت بخشیدن به سایت برای یک بازدید کننده کار نسبتا اسانی است اما زمانی که تعداد بازدید کنندگان افزایش پیدا می کند این موضوع ممکن است به یک مشکل بزرگ تبدیل شود.  اگر تاخیر سایت شما به خاطر حجم زیادی از بازدید کنندگانی است که از سرتاسر جهان به سایت سر می زنند می توانید از CDN هایی همچون CloudFlare یا AKAMAI استفاده کنید تا سایت را به  کاربرانتان نزدیک تر سازید. تمامی این موارد می تواند سرعت سایت را بهبود ببخشد زیرا بیشتر تصاویر و فایل های ویدئویی بدون وجود تاخیر می توانند در اختیار کاربران قرار گیرند. با این وجود باید به خاطر داشته باشید که  فایل های جاوااسکریپت و CSS باید در کمتر از چند میلی ثانیه بارگذاری شوند.  پلتفرم پلسک تمامی فناوری های جدید را در خود دارد و باعث می شود سایت شما با سرعت بیشتری بارگذاری شود و عملکرد خوبی داشته باشد.

تمامی اینکارها تنها با چند کلیک ساده امکان پذیر خواهد بود. اما زمانی که تعداد بازدیدکنندگان سایت شما افزایش پیدا می کند( با محبوب شدن سایت در میان کاربران این موضوع رخ می دهد) وجود یک سرور نمی تواند به تنهایی تمامی این درخواست ها را مدیریت نماید. زمانی را به خاطر بیاورید که در صف فروشگاهی ایستاده اید و منتظر هستید نوبتتان برسد تا صورتحساب را پرداخت نمایید. اگر خدمات رسانی این فروشگاه خوب باشد سعی می کند یک باجه جدید به آن اضافه کند تا حجم کار میان کارمندان توزیع گردد.  اگر فروشگاهی این موضوع را نادیده بگیرد، مشتریان تجربه خوبی از خرید خود نخواهند داشت و دفعه بعد سعی می کنند از فروشگاه رقیب خرید نمایند. این موضوع در مورد سایت و مشتریان آن نیز صدق می کند. اگر بتوانید تجربه خوبی در اختیار مشتریان خود قرار دهید و رضایت آن ها را کسب کنید مطمئن باشید مزایای بسیار زیادی دریافت خواهید کرد. یکی از این مزایا ایجاد رابطه پایدار بین مشتری و شرکت است. خوب حالا سوال اینجاست که وردپرس چگونه می تواند حجم زیادی از درخواست ها را مدیریت کند؟ بدیهی است که در چنین شرایطی به سرورهای متعدد نیاز خواهد بود. اما اضافه کردن یک یا دو سرور اضافی به تنهایی کارساز و مفید نیست. همچنین اگر بخواهید از همان ابتدا ۱۰ سرور جداگانه داشته باشید متحمل هزینه های گزافی خواهید شد. چیزی که در این شرایط به درد شما می خورد مقیاس بندی سایت است .اگر ترافیک کمتری در سایت خود دارید هزینه های کمتری نیز خواهید داشت. زمانی که ترافیک سایت افزایش پیدا می کند، زیرساخت های موجود نیز باید به طور خودکار مقیاس بندی شود تا بتواند حجم بار را مدیریت نماید. این فرایند به  کنترل هزینه ها می انجامد زیرا مجبور نیستید پول اضافی بابت چیزی که استفاده نکرده اید پرداخت کنید. به عبارت دیگر، اگر بتوانید همه کارها را به درستی انجام دهید و فرایند مقیاس بندی را به شیوه صحیح اجرا نمایید، هزینه های افزایش یافته برای سرورها اسیبی به درآمد شما وارد نمی کند. در چنین شرایطی اگر ترافیک شما کاهش پیدا کند هزینه های مرتبط با سرور نیز کمتر می شود.

تا به این جای کار سناریوی موجود را با هم مرور کردیم. مطمئنم شما نیز دوست دارید نحوه انجام این فرآیند را یاد بگیرید.  برای اینکه بتوانید وردپرس خود را به طور خودکار مقیاس بندی کنید باید مراحل زیر را دنبال نمایید:

  1. سرور پایگاه داده خود را با قدرت کافی بر روی دستگاه جداگانه تنظیم نمایید.
  2. تمامی فایل های استاتیک خود را به فضای ذخیره سازی فایل انتقال دهید. اینکار باعث می شود دسترسی به فایل ها با سرعت بیشتری انجام شود.
  3. یک CDN در سایت خود ایجاد کنید تا بتواند تمامی فایل های استاتیک را به کاربر نزدیک کند و سرعت تحویل آن را افزایش دهد.
  4. سرورهای متعددی را با سایت وردپرسی یکسان تنظیم کنید.
  5. سعی کنید یک متعادل کننده بار(load-balancer) ایجاد کنید تا بار بین سرورهای وردپرسی را تنظیم کند.
  6. بسته به اینکه چگونه می خواهید سایت خود را به روزرسانی کنید می توانید از دو روش زیر استفاده کنید:
  • تمامی instance ها را دوباره توسعه دهید تا تغییرات موجود اعمال شود.
  • شما می توانید از یک فایل سیستم اشتراکی استفاده کنید که تمامی instance ها از آن بهره مند می شوند.

حالا باید بتوانید سرعت instance های خود را به صورت خودکار افزایش دهید. اگر نیاز به کاهش سرعت و حجم instance باشد اینکار نیز باید به طور خودکار انجام شود.

چگونه به این هدف دست پیدا کنیم؟

در این شرایط به زیرساخت هایی نیاز داریم که به ما اجازه دهند اینکار را از طریق API ها و رویدادهایی که توانایی مقیاس بندی خودکار دارند مدیریت کنیم. در این مقاله ما از Amazon AWS استفاده می کنیم زیرا یکی از فراهم کنندگان محبوب خدمات ابری است. اما باید به خاطر داشته باشید که Microsoft Azure و Google Compute Platform نیز توانایی ها و نقاط قوت خود را دارند و می توانند به راحتی با AWS رقابت نمایند. بر اساس نیازی که دارید یکی از این موارد را انتخاب کنید و مراحل بعدی را دنبال نمایید . پلسک در تمامی پلتفرم های فراهم کننده خدمات ابری به خوبی کار می کند و به عنوان اپلیکیشن در AWS Marketplace موجود است.  قبل از اینکه به سراغ API ها برویم باید در مورد نحوه توسعه وردپرس بر روی سرورها تصمیم بگیریم.  هیچ کس دوست ندارد توسعه وردپرس را به صورت دستی انجام دهد . این موضوع بدین معنی است  که اجزای مقایس بندی خودکار در مورد  اضافه کردن یا حذف سرور تصمیم می گیرد.  شما می توانید از Chef، Puppet، Ansible یا اسکریپت ساده bash برای این کار استفاده کنید اما اولویت اصلی استفاده از داکر است که می تواند محتوای سایت را بسته بندی کند و آن را پیکربندی نماید. در نهایت می توانید image داکر را در هر کدام از سرورهای خود قرار دهید و ان را به عنوان کانتینر اجرا نمایید. با این رویکرد ساده، پیکربندی آن بسیار راحت تر خواهد بود.

 ایجاد Image داکر:

برای ایجاد Image داکر اولین کاری که باید انجام دهید توصیف و توضیح آن در Dockerfile دارید. در این پست می توانید Dockerfile که استفاده می کنیم را مشاهده کنید. با کمک دستور زیر می توانیم Image خود را بر اساس آخرین نسخه وردپرس ایجاد کنیم:

۱

 $ docker build -t janloeffler/wordpress-aws-scaler:latest .

بعد از ایجاد آن، باید آن را در رجیستری داکر قرار دهیم که  محل ذخیره سازی Image داکر است. به دستور زیر نگاه کنید:

۱

 $ docker push janloeffler/wordpress-aws-scaler:latest

شما می توانید Image خود را که حاوی وردپرس به صورت محلی است اجرا کنید تا آن را تست نمایید. باید پارامترهایی را مشخص کنید . برخی از این پارامترها شامل  hostname پایگاه داده است:

۱

 $ docker run -p 80:80 -p 443:443 -it janloeffler/wordpress-aws-scaler:latest

مقیاس بندی:

خوب همانطور که گفتیم از AWS در این مقاله استفاده می کنیم. AWS دارای REST APIs های متعددی است که هر کدام از آن ها پارامترهای مختلفی خواهند داشت.برخی از این پارامترها اختیاری هستند و می توان از آن ها برای پیکربندی انعطاف پذیر استفاده کرد. شما می توانید به طور مستقیم  به API ها دسترسی داشته باشید  یا از  AWS CLI به صورت مستقیم در پوسته خود استفاده نمایید. در این مثال از CLI استفاده می کنیم که کاربرد و عیب یابی آن ساده تر و راحت تر است.

برای اینکه بتوانیم وردپرس خود را به سرعت مقیاس بندی کنید به API های زیر نیاز خواهید داشت:

  1. EC2                              (برای مدیریت سرورهای مجازی)
  2. S3                                ( برای بارگذاری فایل ها به سیستم ذخیره سازی فایل)
  3. S3api                           ( برای مدیریت مکان ذخیره سازی فایل)
  4. RDS                             (برای مدیریت پایگاه داده)
  5. ELB                              (برای مدیریت متعادل کننده بار)
  6. AutoScaling                 (برای پیکربندی مقیاس سازی خودکار)
  7. CloudWatch                (برای بررسی بار در سرورها)
  8. CloudFront                  (تنظیم CDN)
  9. SNS                             ( کانال اعلان بین مانیتورینگ و مقیاس بندی خودکار)
  10. Route53                      ( مدیریت دامنه ها و ورودی DNS)
  11. IAM                             ( مدیریت مجوز دسترسی زیرساخت ها)

باید بدانید که تنها EC2 API می تواند ۲۱۰ (دویست و ده) API calls را برای مدیریت منابع محاسباتی در AWS فراهم کند.  برای اینکه بتوانید تمامی EC2 instance های خود در اکانت AWS را لیست کنید دستور زیر را اجرا نمایید:

۱

 $ aws ec2 describe-instances

از آنجایی که توضیح تمامی API call ها سخت و دشوار است، نمی توان تمامی این موارد را در یک مقاله بیان کرد. به همین خاطر از این موضوع می گذریم و راه حلی را فراهم می کنیم که می تواند مدیریت و مقیاس بندی خودکار وردپرس را تنها با یک دستور واحد انجام دهد. خبر خوب این است که این راه حل متن باز و رایگان است. شما می توانید از Plesk WordPress AWS Scaler استفاده کنید.  کافیست مخزن را بر روی دستگاه محلی خود با دستور زیر دانلود کنید:

۱

 $ git clone https://github.com/plesk/wordpress-aws-scaler.git

۱

 $ cd wordpress-aws-scaler

حالا می توانید اسکریپت Plesk WordPress AWS Scaler را اجرا کنید تا گزینه های موجود را ببینید:

۱

 $ sh manage-wordpress.sh

بر اساس نیازهای خود قادر خواهید بود پیکربندی را تنظیم کنید:

  • عنوان سایت وردپرسی
  • مجوزهای مورد نیاز برای ادمین
  • آدرس ایمیل
  • نام دامنه
  • لایسنس های جدید
  • پیکربندی EC2 و RDS مثلا سایز سرور

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

۱

 $ sh manage-wordpress.sh create

برای به روزرسانی تمامی Instance ها با نسخه جدید سایت دستور زیر را اجرا نمایید:

۱

 $ sh manage-wordpress.sh update

برای پاک کردن داده ها و تمامی منابع مرتبط دستور زیر را اجرا نمایید:

۱

 $ sh manage-wordpress.sh delete

امیدواریم از این آموزش لذت برده باشید.

منبع

مقیاس بندی خودکار وردپرس با داکر و AWS

امتیاز دهید

در صورت نیاز به سرور و خدمات مدیریت آن با ما در تماس باشید

۰۲۱۲۸۴۲۱۱۹۳
۰۹۱۲۹۷۲۶۳۴۳
۰۹۳۶۲۱۹۶۳۴۳
@omidahmadyani
@omid_ahmadyani

۶ مورد از ملزومات کانتینرهای داکر

داکر یکی از پروژه های متن باز موفقی است که در سال های اخیر محبوبیت زیادی پیدا کرده است. این پروژه توانسته است به خوبی  طرز فکر افراد در مورد اجرا، ساخت و انتقال اپلیکیشن ها را متحول کند. اگر شما نیز در حوزه فناوری مشغول به کار هستید حتما  اطلاعات زیادی در مورد این پروژه دارید. در این مقاله قصد داریم ۶ مورد از نکات کلیدی داکر را با هم مرور کنیم. پس همراه ما باشید.

کانتینرها توانسته اند نحوه ساخت و اجرای اپلیکیشن ها در ابر را تغییر دهند. در ادامه ۶ مورد از حقایقی که  تیم شما باید در مورد کانتینرها بداند را بیان می کنیم.

  1. کانتینرها ماشین های مجازی نیستند:

همانطور که می دانید کانتینرها و ماشین های مجازی مزایای تخصیص منابع مشابهی دارند اما رویکردهای معماری متفاوت به کانتینرها اجازه می دهد بیشتر از ماشین مجازی پرتابل و موثر باشد. اصلی ترین تفاوتی که بین کانتینر و ماشین مجازی وجود دارد رویکرد معماری در این دو مورد است.

ماشین های مجازی:

ماشین های مجازی(VMs) در برگیرنده اپلیکیشن ها، باینری های ضروری، کتابخانه ها و سیستم عامل مهمان هستند که همه آن ها ممکن است چند گیگابایت فضا نیاز داشته باشند.  ماشین مجازی با استفاده از هایپروایزر روی دستگاه فیزیکی اجرا می شود.  خود هاپیروایزر را  نیز می توان بر روی رایانه های فیزیکی اجرا کرد که به آن ها ماشین هاست گفته می شود.  ماشین هاست همان چیزی است که منابع مورد نیاز ماشین مجازی همچون رم و پردازنده را فراهم می کند. این منابع در میان ماشین های مجازی تقسیم می شوند. بنابراین اگر یکی از ماشین های مجازی  به منابع زیادی نیاز داشته باشد و اپلیکیشن های بیشتری بر روی آن اجرا شود،  باید منابع بیشتری به آن اختصاص یابد . ماشین مجازی که بر روی ماشین هاست اجرا می شود را اغلب ماشین مهمان(guest machine) می نامند.  این دستگاه مهمان در برگیرنده اپلیکیشن ها و تمامی مواردی است که برای اجرای اپلیکیشن مورد نیاز است( به عنوان مثال سیستم باینری؛ کتابخانه ها). همچنین این دستگاه سخت افزارهای مجازی سازی همچون آداپتورهای مجازی شبکه، فضای ذخیره سازی و پردازنده  را حمل می کند.   از داخل ،دستگاه مهمان با منابع اختصاصی خودش به عنوان یک واحد مستقل عمل می کند.  از خارج  نیز به عنوان یک ماشین مجازی در نظر گرفته می شود که منابع  فراهم شده توسط  ماشین هاست را به اشتراک می‌گذارد.

کانتینرها:

 کانتینرها شبیه ماشین مجازی هستند. نکته کلیدی که در این مورد وجود دارد معماری آن است که با ماشین مجازی متفاوت است.  تفاوت اصلی بین کانتینر و ماشین مجازی این است که کانتینرها هسته(کرنل)  سیستم هاست را با سایر کانتینرها به اشتراک می گذارند.  تصویر زیر نشان می دهد که  کانتینرها تنها فضای کاربر را  مدیریت می کند.

scribble_js-3-1

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

  • اساسا کانتینرها نیز همان عملکردی را دارند که ماشین های مجازی فراهم می کنند.
  • کانتینرها بسیار سبک تر از ماشین های مجازی هستند زیرا هسته را بدون شبیه سازی سخت افزار با هاست به اشتراک می گذارند.
  • داکر فناوری مجازی سازی نیست بلکه یک فناوری تحویل اپلیکیشن محسوب می شود.
  • کانتینر تنها  یک فرایند است و به معنای واقعی کلمه یک شیء نیست.
  • کانتینرها از قابلیت های هسته همچون kernel namespaces و control groups استفاده می کنند.
  • Kernel namespaces( فضای نام هسته) ایزولیشن عمومی فراهم می کند و CGroups برای اختصاص منابع مورد استفاده قرار می گیرد.

فضای نام(Namespaces):

  • فضای نام هسته( Kernel namespace) ایزولیشن عمومی فراهم می کند.
  • این گزینه شما را مطمئن می سازد که هر کدام از کانتینرها بر روی کانتینرهای دیگر تاثیری ندارند و آن را نمی بینند.
  • به عنوان مثال با فضای نام می توانید فرایندهای متعددی با PID یکسان در محیط های مختلف داشته باشید.
  • همانطور که می دانید شش نوع فضای نام وجود دارد که به شرح زیر است:
  1. pid (فرآیندها)
  2. net (رابط های شبکه و مسیریابی)
  3. ipc (System V IPC)
  4. mnt (مونت پوینت, فایل سیستم)
  5. uts (hostname)
  6. user (UIDs)

CGroups:

  • CGroups( گروه های کنترل) منابع را اختصاص می دهند و محدودیت های منابع فرایند را اعمال می کنند.
  • این گزینه شما را مطمئن می سازد که هر کانتینر سهم مناسبی از مموری، پردازنده و disk I/O را به دست می آورد.
  • همچنین با استفاده از این گزینه می توان مطمئن بود که هیچ کدام از کانتینرها بیش از حد منابع موجود را مصرف نمی کنند.
  1. کانتینر می تواند در عرض یک بیستم ثانیه شروع به کار کند:

کانتینر را می توان با سرعت بیشتری نسبت به ماشین مجازی ایجاد کرد زیرا ماشین مجازی باید ۱۰ الی ۲۰ گیگا بایت از سیستم عامل را از فضای ذخیره سازی بازیابی کند. حجم کاری در کانتینر از هسته سیستم عامل  سرور هاست استفاده می کند. یک کانتینر می تواند در عرض یک بیستم ثانیه  آغاز به کار کند. این در حالیست که برای ماشین های مجازی مدرن این مقدار حدود یک دقیقه است.  زمانی که تیم توسعه دهندگان داکر را اتخاذ می کنند لایه جدیدی از چابکی، خلاقیت، بهره وری و عملکرد به چرخه توسعه نرم افزار اضافه می شود.  وجود چنین سرعتی به تیم توسعه دهنده اجازه می دهد کد پروژه را فعال سازد ، کد مورد نظر را به شیوه های مختلف تست نماید یا توانایی اضافی برای تجارت الکترونیکی ایجاد کند.

  1. کانتینرها خود را در مقیاس بزرگ نیز به اثبات رسانده اند:

خلاق ترین شرکت های جهان از معماری میکروسرویس استفاده می کنند. به عنوان مثال شما ممکن است پایگاه داده Mongo  را در یکی  از کانتینرهای خود اجرا کنید و سرور Redis در کانتینر دیگری اجرا شود. با کمک داکر، برقراری ارتباط بین این کانتینرها بسیار ساده تر و اسان تر خواهد بود. بر اساس گزارشات InformationWeek نمونه دیگر در این حوزه گوگل است. جستجوی گوگل یکی از بزرگترین مواردی است که از کانتینرها استفاده می کند.  زمانی که جستجوی گوگل شروع به کار می کند از کانتینرهای موجود استفاده می کند و در هر ثانیه حدود ۷۰۰۰  کانتینر شروع به کار می کند. اهمیت کانتینری کردن این است که می تواند تعریف استانداردی ایجاد کند.  داکر گروهی به نام Open Container Initiative را در ۲۲ ژوئن سال ۲۰۱۵ ایجاد کرده است. این گروه فرمت استانداردی برای تصاویر کانتینر  ایجاد می کند و زمان Runtime کانتینر را مشخص می کند.

  1. کانتینرها بسیار سبک تر از ماشین های مجازی هستند:

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

۵٫داکر به مترادف  کانتینرها تبدیل شده است:

داکر به سرعت قوانین موجود در ابر  و فناوری های مرتبط را تغییر داده است. در این میان داکر توانسته است چرخه حیات توسعه اپلیکیشن و شیوه های مهندسی ابر را تغییر دهد. هر روزه توسعه دهندگان بسیاری تلاش می کنند اپلیکیشن های جدید مبتنی بر داکر را با Plesk Onyx ایجاد کنند و سپس تست نمایند.  متخصصان وب نیز دریافته اند که اگر شیوه راحت تری برای ایجاد و انتقال  کانتینرها وجود داشته باشد، این گزینه بسیار مفیدتر و پرتابل تر خواهد بود. امروزه کانتینرهای داکر  در طیف وسیعی از محیط های محاسباتی مورد استفاده قرار می گیرد.

۶٫سفرای داکر: کاپیتان ها

 ایا تا به حال توانسته اید با یکی از کاپیتان های داکر ملاقات کنید؟ در دنیا بیش از ۶۷ میلیون سفیر داکر وجود دارد.  کاپیتان ها همان سفرای داکر هستند که در این حوزه تخصص کافی دارند و دوست دارند اطلاعات خود را در اختیار سایر افراد بگذارند. جامعه داکر می تواند اصول داکر و روش های تعامل با آن را در اختیار شما بگذارد.

منبع

۶ مورد از ملزومات کانتینرهای داکر

امتیاز دهید

در صورت نیاز به سرور و خدمات مدیریت آن با ما در تماس باشید

۰۲۱۲۸۴۲۱۱۹۳
۰۹۱۲۹۷۲۶۳۴۳
۰۹۳۶۲۱۹۶۳۴۳
@omidahmadyani
@omid_ahmadyani