OpenStack (اپن استک)

OpenStack یک پلتفرم نرم افزاری رایگان و متن باز رایانش ابرای می باشد.

در جولای 2010، شرکت Rackspace و NASA با همکاری هم پروژه متن باز رایانش ابری را شروع کردند که بعدها OpenStack نام گرفت. پروژه OpenStack برای کمک به سازمان ها برای راه اندازی سرویس های راه اندازی رایانش ابری برروی سخت افزار استاندارد در نظر گرفته شد. اولین نسخه ارائه شده این جامعه با نام Austin بود و بعد از 4 ماه تصمیم بر آن گرفته شد که به صورت دوره های ماهیانه بروز رسانی هایی برای این نرم افزار ارائه شود. بعدا پروژه ای با نام مستعار Nebula در سیستم Rackspace Cloud File platform راه اندازی شد.

در سال 2011، برنامه نویسان توزیع Ubuntu سیستم عامل Linux پروژه OpenStack را به صورت پیشنمایش با نام Bexar در Ubuntu 11.04 ارائه کردند. در نهایت در همان سال نیز Debian نیز پروژه OpenStack با نام Cactus را برروی سیستم عامل Debian 7.0 (Wheezy) ارائه کرد.

در اکتبر 2011، SUSE یک نسخه پیشنمایش از OpenStack با نام Diablo را ارائه کرد.

در سال 2012، RedHat اقدام به معرفی توزیعی از OpenStack با نام Essex نمود و پس از آن در سال 2013 گروه RedHat نسخه ای با پشتیبانی تجاری از OpenStack با نام Grizzly را در جولای 2013 معرفی نمود.

در دسامبر 2013، شرکت Oracle اقدام به ورود به پروژه OpenStack نمود و به عنوان اسپانسر برای قرارگیری OpenStack برروی Oracle Solaris قرار گرفت.

در می 2014، شرکت HP سیستمی به نام HP Helion را معرفی کرد که نسخه نمایشی از سیستم OpenStack برای HP بود و بر پایه Icehouse قرار داشت.

در مارچ 2015، همچنان NASA از OpenStack به عنوان رایانش ابری اختصاصی برای سیستم های خود استفاده می کند و پشتیبان OpenStack public cloud نیز می باشد.

Pythonنوشته شده
Cross-platformسیستم عامل
Cloud Computingنوع
Apache License 2.0لایسنس
openstack.orgوب سایت

اجزا سیستم OpenStack

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

OpenStack Compute (Nova) کنترلر اصلی رایانش ابری می باشد که بخش اصلی سیستم IaaS می باشد. این بخش برای مدیریت و اتوماسیون سازی دریای منابع کامپیوتری طراحی شده است و می تواند با گستره ای تکنولوژی های مجازی سازی، همانند bare metal و high-performance computing (HPC) کار کند.
KVM, VMWare و Xen سیستم های قابل انتخاب برای تکنولوژی Hypervisor به همراه Hyper-V و Linux Container technology مانند LXC.
این سیستم بر پایه Python نوشته شده است و تعداد زیادی کتابخانه های خارجی مانند Eventlet (for concurrent programming), Kombu (for AMQP communication), و SQLAlchemy (for database access) را استفاده می کند.
معماری رایانش بدین صورت طراحی شده است که مقاس پذیری افقی (افزودن چند Node یا Computer به سیستم) بدون وابستگی به سخت افزار یا پیش نیاز نرم افزاری داشته باشد و این قدرت را دارد تا با سیستم های قدیمی و تکنولوژی های دیگر سازگاری داشته باشد.

OpenStack Image Service (Glance) راهکاری است که اکتشاف، ثبت نام و سرویس تحویل برای دیسک و سرور image را فراهم می کند. Image های ذخیره شده می توانند به عنوان Template (قالب) استفاده شوند. همچنین می توان به عنوان ذخیره کردن نسخه های پشتیبان از آن استفاده کرد.

OpenStack Object Storage (Swift) یک سیستم ذخیره سازی مقیاس پذیر redundant می باشد. اشیاء و فایل ها در هارد درایوهای مختلف در سرورها در مرکز داده نوشته می شوند. سیستم نرم افزاری OpenStack مسئول نگهداری و رونوشت از داده ها می باشد. سیستم ذخیره سازی Cluster قابلیت مقایس پذیری افقی دارد یعنی به سادگی می توان به آن سرور جدید افزود. هر زمان که سرور یا هارد درایو مختل می شود، OpenStack رونوشتی از اطلاعات را از Node های فعال به مکان دیگری در سیستم Cluster منتقل می کند. به دلیل اینکه سیستم OpenStack منطقی است همواره رونوشت مطمئنی از اطلاعات برروی دستگاه های مختلف قرار گرفته است و نیازی به داشتن تجهیزات و هارد دیسک های گران قیمت نیست.
در سال 2009، Rackspace سیستم OpenStack Object Storage را جایگزین محصول Cloud Files خود نمود. SwiftStack ، شرکت ذخیره سازی اشیاء در حال حاضر پیشرو Swift می باشد.

OpenStack Dashboard (Horizon) برای مدیران و کاربران یک نمایه گرافیکی برای دسترسی، تدارک و اتوماسیون منابع ابری را فراهم می کند. طراحی سیستم به گونه ای است که سرویس ها خارجی همانند مدیریت مالی، مانیتورینگ و ابزارهای اضافی مدیریت را در خود جای می دهد. داشبورد قابلیت برندینگ برای ارائه دهندگان سرور و سرور مجازی دارد. داشبورد یکی از چندین راه برقراری ارتباط با منابع OpenStack می باشد. توسعه دهندگان می توانند دسترسی اتوماتیک ایجاد کنند و ابزارهایی بسازند که منابع را توسط OpenStack API مدیریت کنند.

OpenStack Identity (Keystone) این امکان را فراهم می کند که دایرکتوری مرکزی از کاربران برای دسترسی به سرویس های OpenStack داشته باشند. این سیستم بدین صورت عمل می کند که می تواند به عنوان یک سیستم مشترک بین سیستم عامل های ابری باشد یا با سیستم های موجود شناسایی همانند LDAP سازگار شود.
این سیستم فرم های مختلفی برای انجام عملیات احراز هویت همانند نام کاربری و پسورد، سیستم token-based و AWS-style (Amazon Web Services) دارد.
توسعه دهندگان می تواند برای کاربران محدودیت هایی ایجاد کنند که هر کاربر چه منابعی را بتواند استفاده کند.

OpenStack Networking (Neutron, formerly Quantum) یک سیستم برای مدیریت شبکه و آدرس آی پی ها می باشد.
OpenStack Networking همواره مطمئن می شود که شبکه در تنگنا یا فاکتور محدودیتی برروی توسعه ابر قرار ندارد.
OpenStack Networking مدل های مختلف شبکه برای برنامه های مختلف فراهم می کند. مدل استاندارد شامل شبکه همسطح یا VLAN که ترافیک و سرورها را از هم جدا می سازد. OpenStack Networking آدرس های آی پی را مدیریت می کند، ایجاد آدرس آی پی اختصاصی یا DHCP، Floating IP Address (آدرس آی پی شناور) امکان این را دارد که ترافیک به صورت پویا مجددا مسیریابی بین منابع زیرساخت شود، پس کاربر می تواند ترافیک را در زمان تعمیرات یا اختلال در سیستم مسیردهی کند.
کاربران می تواند شبکه اختصاصی خودشان را بسازند، مدیریت ترافیک کنند و سرور و دستگاه ها را به یک یا چندین شبکه متصل نمایند.
مدیران نیز می توانند software-defind networking (SDN) همانند OpenFlow برای پشتیبانی از سطح های بالا داشته باشند.
OpenStack Networking یک فریم ورک دارد که می توان برروی آن سرویس های مجزا شبکه همانند intrusion detection systems (IDS)، Load Balancing، Firewall و Virtual Private Networks (VPN) را مدیریت نمود.

OpenStack Block Storage (Cinder) فراه می کند Block-level storage مداوم برای استفاده در سیستم OpenStack compute. سیستم ذخیره سازی بلوک مدیریت ایجاد، اتصال و لغو اتصال بلوک به سرور را بر عهده دارد. Block Storage به صورت کامل با OpenStack Compute سازگار است و Dashboard امکان مدیریت فضای ذخیره سازی را به کاربر می دهد.
به غیر از local Linux server Storage این سیستم از پلتفرم های Ceph, CloudByte, Coraid, EMC (ScaleIO, VMAX and VNX), GlusterFS, Hitachi Data Systems, IBM Storage (Storwize family, SAN Volume Controller, XIV Storage System, and GPFS), Linux LIO, NetApp, Nexenta, Scality, SolidFire می تواند استفاده کند.
Block Storage سیستم تاثیرگذار بر کارآمدی سیستم های دیگر همانند Database Storage، File Systems می باشد. مدیریت Snapshot این امکار را فراهم می کند نسخه پشتیبان از داده ها برروی بستر Block Storage ذخیره نمود.

Heat یک سرویس برای هماهنگ سازی برنامه های مرکب ابری توسط Template (قالب) در بستر OpenStack Native API یا CloudFormation Query API می باشد.

OpenStack Telemetry Service (Ceilometer) سیستم شمارش منابع مصرفی برای یک کاربر مشخص برای استفاده در سیستم مدیریت مالی می باشد. این سیستم یک شمارنده قابل گسترش می باشد که کل سیستم OpenStack به همراه تمامی اجزاء آن را بر عهده می گیرد.

Trove یک سیستم database-as-a-service برای پیاده سازی relational و non-relational database engine می باشد.

DNS as a Service