afshinnova 2 دیدگاه

لینوکس و برتری آن نسبت به ویندوز قسمت اول

 

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

از ابتدا لینوکس برای محیط های شبکه ای و چند کاربره طراحی شده است و همین باعث رعایت مسائل  امنیتی از آغاز در آن شده.درحالی که ویندوز اینگونه نبوده و در حال حاضر هم ویندوز دارای ضعف امنیتی فراوانی است.

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

  • یک مقدمه کوتاه

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

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

  • نرم افزار آزاد و متن باز

FOSS مخفف عبارت Free Open Source Software است به معنی نرم افزار آزاد و متن باز به دلیل استفاده آزاد و رایگان و اشتراک گذاری آزاد و رایگان و با نرم افزارهای اختصاصی تفاوت دارد.

ریچارد استالمن  در سال ۱۹۸۳ با راه اندازی جنبش نرم افزار آزاد آن را شروع کرد و بعد در سال ۱۹۸۵ با تاسیس بنیادی با نام بنیاد نرم افزار آزاد هر برنامه برای اینکه آزاد شناخته شود باید چهار حق را برای دیگران قائل باشد.

  • آزادی اجرای برنامه برای هرکاری ( آزادی صفرم)
  • آزادی مطالعه چگونگی کار برنامه و تغییر آن ( پیش نیاز : سورس کد برنامه ) ( آزادی یکم)
  • آزادی تکثیر و کپی برنامه ( آزادی دوم)
  • آزادی در تقویت و بهتر کردن برنامه و توزیع آن برای همگان ( پیش نیاز : سورس کد برنامه ) (آزادی سوم)

برای مثال شخصی یک برنامه آزاد را دریافت کند و آن را تغییر بدهد و در اختیار دیگران قرار دهد این کار را باید به شکل آزاد انجام دهد. نرم افزار های بسته مانند ویندوز و فتوشاپ از قانون تولید کننده حمایت میکند. ولی اگر قرار باشد قانون همین حمایت را از نرم افزار های آزاد انجام دهد نیازمند متن قانونی به GPL است. GPL یا اجازه نامه عمومی  یک متن قانونی است که اگر نرم افزاری اشاره کند این برنامه بر اساس مجوز GPL منتشر شده موظف است حقوق مولف را در مورد آن تضمین کند.

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

 

 

  • سیستم عامل

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

  1. ویندوز : این سیستم عامل توسط شرکت مایکروسافت ارائه شده و دارای یک رابط گرافیکی برای استفاده آسان کاربران از آن دارا است.
  2. Mac OS X : این سیستم عامل توسط شرکت اپل ارائه شده است و روی کامپیوتر های مکینتاش استفاده میگردد .

سیستم عامل متن باز لینوکس و سایر سیستم های عامل مبتنی بر یونیکس :‌ از لینوکس و سایر سیستم عامل هایی که از یونیکس مشتق شده اند عموما در ایستگاه های شبکه ای خاص و یا سرویس دهندگان شبکه نظیر سرویس دهنده وب و پست الکترونیکی استفاده میگردد. استفاده از این گونه سیستم عامل ها توسط کاربران معمولی عمدتاً مشکل بوده و به منظور استفاده از آن به دانش و یا مهارت های خاصی نیاز میباشد. که دلیلی بر عدم گسترش عمومی آنان محسوب میشود. از این رو نسخه هایی از این سیستم عامل ها پیاده سازی شده اند تا کاربران خانگی نیز بتوانند به سادگی از آنان استفاده نمایند.

  • لینوکس

لینوکس تنها یک هسته ( Kernel) و با همان وظایف گفته شده است. بسیار کم پیش می آید در کاربرد روزانه ی خود با خود هسته لینوکس سر و کار داشته باشید. هسته نقش اصلی را در سیستم عامل برعهده دارد. در کار با کامپیوتر سیستم عامل اهمیت بالایی دارد از این رو استالمن تصمیم گرفت یک سیستم عامل آزاد بنویسد. سیستم عاملی که هر کس بتواند برای کاری که می خواهد از آن استفاده کند آن را بهبود بخشد و با دیگران به اشتراک بگذارد. نام این پروژه GNU گذاشتند.

بهترین معماری که در آن زمان بر روی کامپیوتر های بزرگ به شکل تجاری و بسته موجود بود UNIX نام داشت . استالمن شروع به نوشتن یک سیستم عامل کاملا آزاد بر اساس UNIX نمود. بر اساس این معماری لازم بود تا چهار جزء تکمیل شوند :

  1. کرنل که هسته اصلی سیستم عامل را تشکیل میداد انتظار میرفت با شناخت سخت افزار ها بتواند با آنها ارتباط برقرار کند.
  2. محیط توسعه نرم افزار; مانند کامپایلرها و کتابخانه های مختلفی که میبایست از آنها برای ساخت برنامه در این سیستم عامل جدید استفاده شود.
  3. دستورات عمومی مانند کپی فایل فرمت کردن دیسک برنامه هایی که برای کارهای گرافیکی و همچنین تعریف پوسته ای متنی برای صادر کردن این دستورات.
  4. مستندات راهنماهای سیستم عامل و توضیحات متنی پیرامون آن

سرعت پیشرفت GNU به حدی بالا بود که سه جزء اخر را با کیفیتی باورنکردنی تکمیل کرد.کیفیت نرم افزارهای آزاد تولیده برای سه بخش آخر در حدی بودند که بسیاری از سیستم عامل های دیگر ( به خصوص یونیکسی ها) شروع به استفاده از آن کردند.

 

badrinex بدون دیدگاه

لیگوویو سری Infinity

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

رادیوهای سری اینفینیتی به indoor و outdoor دسته بندی می شوند. و انتخاب رادیو به نوع پروژه و مسافت مورد نیاز برای فراهم کردن یک شبکه بستگی دارد.

Access Point های سری Infinity به ۶ دسته تقسیم شده اند که در ادامه با هر یک از رادیو ها و کاربرد آن بیشتر آشنا می شوید.

NFT 2ac:

یک Access point جمع و‌جور کوچک با داشتن دو رادیوی درونی که به دو 2x2MIMO 802.11ac مجهز است و می تواند به طور همزمان از دو باند فرکانسی 2.4 و 5GHz استفاده کند. همچنین سرعت انتقال در این Access Point به 1.167Gbps می رسد.

NFT 3ac:

این رادیو مانند رادیوی NFT 2ac دارای دو رادیو می باشد با این تفاوت که مجهز به دو رادیو 3×3 MIMO 802.11ac است. عملکرد بالایی دارد و از دو باند فرکانسی ۲.۴ و ۵ GHz بهرمند هستند. در این رادیو سرعت انتقال داده به 1.750 Gbps می رسد.

NFT 2ac outdoor:

یک رادیویی برای امکان خارج از محیط بسته طراحی شده است. و عملکرد این رادیو همانند رادیوی سری داخلی NFT 2ac می باشد.

NFT 1N:

این Access point به دو رادیو ۲.۴ گیگاهرتزی MIMO مجهز است. دارای خروجی با قدرت ۲۸ dBm است، دارای سه پورت اترنت، دارای دو آنتن Omni-directional داخلی، قابلیت اتصال در نقاط مختلف محیط کار به صورت سقفی، رو میزی و آویزان. استفاده رایگان از WNMS.

NFT 1N AF:

رادیوی فوق از لحاظ ظاهری همانند رادیوی قبلی است اما در این رادیو از PoE با استاندارد 802.3 af استفاده می کند و در دو نسخه با و یا بدون PoE می توان تهیه کرد که پیشنهاد می شود از رادیو با PoE استفاده نمایید.

NFT 1Ni:

یک اکسس پوینت قدرتمند با فرکانس ۲.۴ GHz و استاندارد 802.11N می باشد که می تواند برق و داده را به دستگاه دیگر انتقال دهد، دارای سیستم عاملی با قابلیت انعطاف پذیری است، از محفظه کوچک فلزی ساخته شده است، دو کانکتور برای آنتن خارجی دارد و همچنین دارای دو‌ آنتن خارجی 3dBi می باشد.

Infinity Controller:

نرم افزار infinity controller در زیر مجموعه رادیوهای سری اینفینیتی قرار دارد که برای مدیریت شبکه با رادیو های infinity مورد استفاده قرار می گیرد. این نرم افزار برای تنظیم و مدیریت کردن شبکه های وایرلس با رادیو های لیگوویو بکار می‌رود .

این نرم افزار تمامی ابزارهای ضروری را درون خود جای داده هست و برای استفاده از این قابلیت می توانید از سرویس ابری خود شرکت لیگوویو بهرمند شوید که به صورت رایگان است و یا درون سرور شرکت خود از این نرم افزار برای کنترل دیوایس ها استفاده نمایید. پیشنهاد می شود تا شرکت های متوسط و یا کوچکی که از سری رادیو های اینفینیتی لیگوویو استفاده می کنند برای راحتی مدیریت شبکه بیسیم خود نرم افزار infinity controller را نصب نمایند.

Salar Nosrati Ershad بدون دیدگاه

معماری Monolithic kernel, Hybrid kernel ,MicroKernel

پیشگفتار:

سیستم های عامل امروزه بسیار گسترده تر و وسیع تر از قبل شده اند. و تنوع میان آن ها روز به روز بیشتر و حساس تر میشود. در این مقاله سعی داریم با برسی دو شاخه اصلی طراحی هسته سیستم عامل دید شما را نسبت به این موضوع گسترش دهیم.

هسته یا kernel چیست؟

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

هسته در سرعت عملیات های سیستمی نقش اساسی دارد و یکی از اجزای اصلی سیستم عامل محسوب میشود.

ریز هسته یا میکروکرنل چیست؟

میکروکرنل در اصطلاح کامپیوتری به هسته هایی میگویند که بسیار کم حجم و ساده هستند و از توابع سیستمی چندانی بهره نمیبرند. در عوض این گونه از هسته پیچیدگی هسته را بسیار کم میکند اما در عوض باعث ایجاد پیچیدگی بسیار در شبکه ارتباطی این اجزای کوچک میشود.

اشکال زدایی از این نوع هسته بسیار راحت تر است و نسبت به دیگر کرنل ها برتری دارد. اما به دلیل نبود کرنل های کامل میکروکرنل کاربر های کم تری نسبت به دیگران دارند

از سیستم عامل هایی که از معماری میکروکرنل در هسته خود بهره میبرند میتوان به مینیکس٬ ٬gnu mach ٬gnu hurd اشاره کرد که سرانه مصرف پایینی دارند

برای امتحان میکروکرنل میتوانید از debian gnu hurd استفاده کنید ( کرنل gnu hurd تنها از معماری پردازنده i386 پشتیبانی میکند)

هسته یکپارچه یا مونولیتیک چیست؟

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

اشکال زدایی در این نوع هسته زحمت بیشتر دارد اما سیستم عامل هایی که از هسته یکپارچه استفاده میکنند دارای جامعه ی کاربری بیشتری نسبت به دیگران دارند و این باعث سریع تر شدن اجرا پروژه ها میشود.

از سیستم عامل هایی که از هسته یکپارچه بهره میبرند میتوان به گروه سیستم های عامل داس٬ لینوکس٬ گروه سیستم های عامل BSD و سولاریس اشاره کرد.

برای امتحان این سیستم های عامل میتوانید از FreeBSD , Free-Dos و Debian Gnu/linux استفاده کنید.

لازم به ذکر است که دبیان با کرنل فری بی اس دی (kFreeBSD ) نیز توسعه می یافت که از دبیان ۶ به بعد این عمر متوقف شد.

 

هسته ترکیبی یا هایبرید چیست؟

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

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

از دسته سیستم عامل هایی که با هسته های ترکیبی کار میکنند میتوان Microsoft Windows NT را نام برد که بسیار قدیمی است و دیگر پشتیبانی نمی شود.

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

کدام یک بهتر است؟

از لحاظ معماری سیستم عامل قطعا میکروکرنل ها برنده هستند اما به دلیل عدم وجود یک میکروکرنل کامل و استیبل برای نیاز های کاربران٬ ناچار به استفاده از کرنل های مونولیتیک هستیم

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

چرا لینوکس؟

  1. اوپن سورس بودن: هر کسی میتواند در کرنل لینوکس دستکاری کند و یا آن را برای خود تغیر دهد٬ همگان میتوانند کد های آن را مشاهده کنند و از لحاظ امنیت باعث میشود کاربر اتمینان کند که هیچ ابزار جاسوسی در آن وجود ندارد.
  2. توزیع های فراوان: توزیع های زیادی از هسته لینوکس بهره میگیرند که باعث میشود شما حق انتخواب زیادی برای مصارف گوناگوم داشته باشید و یا حتی خودتان یکی از این توزیع ها را  بسازید( برای راهنمای این کار میتوانید به کتاب linux from scratch مراجعه کنید).
  3. جامعه ی کاربری بالا: طبق آمار حدود ۱۵۰۰۰ برنامه نویس تا به حال روی کد کرنل کار کرده اند و همین امسال هر روز ۱۰هزار خط کد به کرنل اضافه شده، ۲۰۰۰ خط تغییر کرده و ۲۵۰۰ خط ازش حذف شده.
  4. آزاد بودن: لینوکس نیازی به کرک کردن یا خریدن برای استفاده از آن ندارد البته بدیهی است که برخی از توزیع ها برای مصارف تجاری مورد استفاده قرار گیرند.
  5. آزادی در استفاده: ویندوز در مقابل لینوکس مانند یک ماشین لباس شویی است که با زدن برخی دکمه حرکات خاصی را انجام میدهد اما شما در لینوکس آزادی زیادی برای استفاده از خلاقیت دارید.

 

سخن پایانی:

گرچه امروزه کرنل لینوکس بهترین انتخاب ماست اما می توان با اطمینان گفت که کرنلی خواهد بود که با معماری میکروکرنل بهتر از لینوکس ظاهر شود. همین طور باید بدانید  که هر ۵۰۰ تای برترین سوپر کامپیوتر های جهان از لینوکس استفاده میکنند. 🙂

محمد مهدی خلعت بری بدون دیدگاه

اهمیت راه اندازی سرویس در web application

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

قبل از اینکه به سراغ مفاهیم اصلی برم، میخوام در مورد برخی از مفاهیم Cloud برای شما توضیحاتی را بدهم. تمامی دنیا یه سمت استفاده از Cloud رفته و این تکنولوژی در سال های اخیر پیشرفت بسیار زیادی داشته است. حال به توضیحات مختصری در مورد این تکنولوژی میپردازیم :

رایانش ابری(Cloud Computing)ﻳﻚ ﻭﺍژﻩ ﭘﺮ ﺯﺭﻕ ﻭ ﺑﺮﻕ ﺑﺎﺯﺍﺭﻳﺎﺑﻲ ﺍﺳﺖ ﻛﻪ این ﺭﻭﺯﻫﺎ ﺑﻪ ﺁﻥ ﺑﺴﻴﺎﺭ ﺑﻬﺎ ﺩﺍﺩﻩ میﺷﻮﺩ. ﻳﻚ ﺗﻌﺮﻳﻒ ﻣﺒﻬﻢ ﺍﻣﺎ ﻣﻔﻴﺪ ﺍﺯ ﻭﺍژﻩ ﻣﺬﻛﻮﺭ ﺍﻳﻦ ﺍﺳﺖ ﻛﻪ ﻣﺤﺎﺳﺒﺎﺕ ﺍﺑﺮﻱ، ﺩﺍﺩﻩﻫﺎ، ﭘـﺮﺩﺍﺯﺵ ﻳﺎ ﺗﺠـﺮﺑﻴﺎﺗﻲ ﺍﺳﺖ ﻛﻪ ﻳﻚ ﺟﺎﻳﻲ ﺩﺭ ﺍﺑﺮ که ﺍﻳﻨﺘﺮﻧﺖ ﻧﺎﻣﻴﺪﻩ میﺷـﻮﺩ، ﻭﺟﻮﺩ ﺩﺍﺭﻧﺪ. ﺍﻛﺜﺮ ﻛﺎﺭﺑﺮﺍﻥ، ﺍﻳﻦ ﺭﻭﺯﻫﺎ ﻛﺎﺭﻫﺎﻱ مانندﻛﻨﺎﺭ ﻫـﻢ ﻗﺮﺍﺭ ﺩﺍﺩﻥ ﻳﺎ میزبانی ﺍﺯ ﺳـﺮﻭﺭﻫﺎﻱ ﻭﺏ ﻳﺎ ﭘﺴﺖ الکترو نیکی ،شبکه‌های اجتماعی ،نرم‌افزارها به عنوان خدمت(SaaS) و تجهیزات به عنوان خدمات ،توسط محاسبات ابری انجام می‌شود. امروزه، به دلیل  مقرون به صرفه بودن محاسبات‌ابری، به شهرت آن افزوده می‌شود. ﺩﻟﻴﻞ ﻣﻘﺮﻭﻥ ﺑﻪ صرفه ﺑﻮﺩﻥ ﻣﺤﺎﺳﺒﺎﺕ ﺍﺑﺮﻱ ﺍﻳﻦ ﺍﺳـﺖ ﻛﻪ ﺧـﺪﻣﺎﺕ ﺁﻥ ﻧﻴﺎﺯﻱ ﺑﻪ سخت افزارها ﻭ نرم‌افزارهای ﮔﺮﺍﻥﻗﻴﻤﺖ ﺧﺎﻧـﮕﻲ ﻧﺪﺍﺭﻧـﺪ. ﻋﻼﻭ ﻩﺑﺮ ﺍﻳـﻦ، ﺭﻭﺵ ﻣـﺬﻛﻮﺭ ﺑﺎ ﭘـﺮﺩﺍﺧﺖ ﻳﻚ ﻣﺒﻠـﻎ ﻣﺎﻫﻴﺎﻧﻪ ﺩﺭ ﺩﺳـﺘﺮﺱ ﺍﺳـﺖ ﻭ ﺩﻳﮕﺮ ﻧﻴﺎﺯﻱ ﺑﻪ ﭘـﺮﺩﺍﺧﺖ هزینه های هنگفت نمی‌باشد ﻛﻪ ﻫﻤﻴﻦ ﻣﺴﺌﻠﻪ ﺍﺯ ﺩﻳﺪﮔﺎﻩ ﻣﺎﺩﻱ، ﺑﺮ ﺟﺬﺍﺑﻴﺖ ﺁﻥ می‌افزاید.

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

پردازش ابری چیست؟

در حال حاضر پردازش ابری یکی از پربحث‌ترین موضوعات در دنیای مجازی فناوری اطلاعات می‌باشد.اما پردازش ابری چیست؟

چون پردازش ابری هر روز در حال پیشرفت است،پس تعاریف آن نیز در حال توسعه و تغییر هستند.اما تعریفی که پیش از همه می‌توان از آن استفاده کرد،توسط موسسه ملی استاندارد و تکنولوژی NIST ارائه شده‌است:

((پردازش ابری،یک مدل فعال کردن بهینه بر حسب تقاضا برای دسترسی به منابع مشترکی است که برای پردازش اختصاص یافته‌اند (برای مثال شبکه، سرورها و سرویس های مختلف اینترنتی و … ) که می‌تواند به سرعت و با کمترین تلاش مدیریتی با تعامل یا تامین کننده سرویس، مهیا گردد.))

ساده ترین تعریف از رایانش ابری، به معنای توسعه و به کاربری فناوری کامپیوتر می‌باشد; در واقع قابلیت های کامپیوتری به صورتی که سرویس اینترنتی به کاربر ارائه می‌شود و فضای کاربر روی اطلاعات، از کامپیوترهای شخصی به ابر منتقل می‌شود. در ابر ارائه خدمات از طریق virtual service می‌باشد که امکان مدیریت پویای منابع فیزیکی را خواهیم داشت.

طبقه بندی رایانش ابری :

اولین فناوری ابر ( ابر 1.0) : از تجمیع لایه های Tcp/ip که در آن یک شبکه بوسیله پروتوکل Tcp/ip با شبکه ای دیگر که از جزئیات آن آگاهی ندارد،ارتباط دارد.

ابر 2.0 : داده‌های موجود در شبکه جهانی اینترنت که کاربران از اسناد و اطلاعاتی استفاده می‌کنند که نمی‌دانند از کجا آمده و توسط چه کسی انتشار یافته است.

ابر 3.0 : تجمیع و ترکیبی از زیرساخت های شامل سرورها، نرم‌افزارهای کاربردی،داده‌ها و سکوهای سخت‌افزاری است.

معماری و مدل‌های سرویس :

یک معماری مبتنی بر سرویس Multi-tenate (چند مستاجره) است.در این مدل مصرف‌کنندگان را به عنوان Front-End و تامین‌کننده ابر را به عنوان  Back-End که سرویس را برای چند مصرف کننده محیا می‌کند، مجزا می‌سازند.

3مدل سرویس اصلی در پردازش ابری:

مدل‌های خدمات ابری، به صورت نرم‌افزار به عنوان یک سرویس (Saas)، سکو به عنوان یک سرویس (Paas) و زیرساخت به عنوان یک سرویس (Iaas) طبقه بندی می‌شوند.

SaaS : استفاده از نرم‌افزارهای کاربردی است که به منظور ارائه خدمات به کاربران نهایی در یک زیرساخت ابری ایجاد می‌گردد.Saas می‌تواند نرم‌افزارهایی همچون مدیریت ارتباط بامشتری(CRM) ویا Microsof office365 باشد، برای مثال Microsof office365 یک بسته نرم‌افزاری است که به صورت انلاین در دسترس است و از طریق هر devive چه pc باشد و چه Mac و چه موبایل،می‌توان به راحتی به ابزار office دسترسی داشت.در سرویس SaaS دقدقه فروش نرم‌افزار و ارائه لایسنس را برای ارائه‌دهندگان نرم‌افزار از بین برده است.

Paas : استفاده از ابزارها و منابعی است که به منظور ارائه خدمات به کاربران نهایی در یک زیرساخت ابری اجرا می‌گردد. مشتری امکان دارد که برنامه‌کاربردی ساخته شده توسط خود را  بر روی  زیرساخت ابری قرار دهد. این برنامه  با استفاده از زبان‌های برنامه‌نویسی و ابزارهایی که توسط فراهم‌کننده پشتیبانی می‌شوند (مثل: جاوا، پایتون، دات‌نت) ساخته شده است.

Iaas : استفاده از منابع محاسباتی زیر ساختی از قبیل تجهیزات ذخیره سازی، شبکه‌ها و سرورهاست که به منظور ارائه خدمات به کاربران نهایی استفاده می‌شود.کاربران نهایی می‌توانند نرم افزار های دلخواه از قبیل سیستم عامل و نرم‌افزار های کاربردی را پیاده‌سازی و اجرا کنند.

اما تجارب شخصی من 

طی همکاری که من با سازمان های بزرگ و کوچک در ایران داشتم، با بسیاری از سیستم های برنامه نویسی شده این  سازمان ها همچون اتوماسیون اداری، اتوماسیون مالی و … آشنایی دارم.

در این سازمان ها سعی شده است که بسیاری از این Application های برنامه نویسی شده، کاملا بصورت مجزا از یکدیگر باشند، به اینصورت که هر کدام از Application ها دارای سروری مجزا، دیتا بیس مجزا و قابلیت ها مجزا نسبت به یکدیگر می باشند.

اما آیا این روش ساخت Application ها درست می باشد؟

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

تا حدی بسیار زیادی جواب شما درست است. اما من قصد دارم با ذکر یک مثال کمی بیشتر به جواب سوال بالا بپردازیم.

اتوماسیون اداری یک سازمان شامل چه اطلاعاتی و قابلیت هایی هستند؟

  • اطلاعات پرسنلی
  • اطلاعات و قوانین اداری
  • اطلاعات مشاغل سازمانی
  • اطلاعات کلیه فعالیت های بخش های مختلف سازمان
  • و …

اتوماسیون مالی یک سازمان شامل چه اطلاعاتی و قابلیت هایی هستند؟

  • اطلاعات پرسنلی
  • اطلاعات مالی (شامل پیش فاکتور ها، فرصت های تجاری، فاکتورهای نهایی و …)
  • اطلاعات کلیه تجهیزات و کالا های ورودی و خروجی به انبار شرکت
  • و …

اتوماسیون انبار یک سازمان شامل چه اطلاعاتی و قابلیت هایی هستند؟

  • اطلاعات مالی (شامل پیش فاکتور ها، فرصت های تجاری، فاکتورهای نهایی و …)
  • اطلاعات کلیه تجهیزات و کالا های ورودی و خروجی به انبار شرکت
  • کالاهای امانی
  • حواله های ورود و خروج کالاها
  • و …

در نهایت تمامی اتوماسیون های بالا قابلیت هایی همچون جستجو، تهیه گزارش و … را در بخش های مختلف را دارند.

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

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

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

حال اینجاست که به اهمیت سرویس SaaS پی میبریم. سرویس نویسی یک از پایه های سیستم های CloudBase می باشد. اما مزیت استفاده از سرویس نویسی در چیست؟

برای مثال همان اطلاعات پرسنلی سازمان را فرض کنید. یک سرویس به عنوان Person Service می سازیم. اما این سرویس چه ویژگی هایی دارد؟

  • تمامی اطلاعات پرسنل یک بار و در DataBase این سرویس قرار می گیرد.
  • تمامی قابلیت های نرم افزاری در مورد که در مورد پرسنل نیاز است، در این Service قرار می گیرد. (همچون قابلیت های جستجو بر اساس فیلد های خاص، گزارش گیری، ثبت، حذف، ویرایش اطلاعات و …)
  • قابلیت انعطاف پذیری برنامه و اطلاعات و قابلیت های مورد نیاز در این حالت بسیار زیاد است و در زمان و هزینه نیز صرفه جویی می گردد.
  • بعد از آماده سازی این سرویس، بقیه سسیستم ها از این سرویس استفاده می نمایند. به این صورت که برای مثال اتوماسیون اداری کلیه درخواست های خود سمت پرسنل را برای Person Service ارسال می نماید و اطلاعات مورد نیاز خود را دریافت میکند.

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

من الله توفیق

محمد مهدی خلعتبری

الهام عابدی بدون دیدگاه

زورآزمایی دو رقیب وب ساز(php و ASP.net)

موضوعی که همیشه برای تازه واردان در حوزه های برنامه نویسی مطرحه، اینکه در میان زبان های محبوب و پرکاربرد کدوم یک رو برگزینیم؟! در عین حال که سوال خوبیست، اشکال زیادی هم بهش وارده! چرا که ممکنه یک زبان نسبت به زبان دیگه مزیت کمتری داشته باشه اما از نظر کاربردی به صرفه تر باشه! به طور کل همچین مقایسه ای اطلاعات و دید ما رو نسبت به یادگیری کاربردی تر می کنه منتها به شرطی که به کمیت های هر زبان بسنده نکنیم و در نهایت بدانیم که از این کار چه می خواهیم و قرار است چه چیزی خلق کنیم! بیشتر بدانید

محمد مهدی خلعت بری بدون دیدگاه

در دانشگاه های ایران چه به ما نمی آموزند؟

دانشگاه های ایران

واقعا ما چه چیزی در دانشگاه های ایران یاد میگیریم؟

تقریبا هیچی. بله، درست شنیدید، تقریبا ما هیچی در دانشگاه های ایران یاد نمیگیریم.

البته باید بهتون بگم که اصلا فلسفه دانشگاه های ما این نیست که شما چیزی یاد بگیرید، چون اصلا این رو وظیفه خودشون نمیدونن، باید هرچیزی که نیاز دارید رو خودتون یاد بگیرید. حالا اینکه این فلسفه درست هست یا نه، به خودتون بستگی داره. من که کاملا باهاش موافقم.

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

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

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

این مباحث علمی چقدر در بازار کار ایران کاربرد دارن؟

با تجربه خودم بهتون میگم که تاثیرش تقریبا زیر 20 درصد هست.

اما وظیفه ما در این بین چیه؟

  • اینکه مثل خیلی ها در گوشه ای بنشینیم و بگیم که آهای دولت محترم، کاری برای من نیست؟
  • خانواده محترم لطفا هزینه زندگی من رو تامین کنید؟!
  • خوب حالا که کار نیست به درس خوندن ادامه بدم؟!

و موارد و راهکار های خیلی زیادی که حتما براتون آشناست.

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

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

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

خب اینجا دوتا سوال پیش میاد:

  • فقط باید یکی از گرایش های رشته خودمو انتخاب کنم ؟
  • من باید برنده کدام رقابت باشم؟

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

امادر مورد سوال دوم باید به شما بگم که بله. رقابت!

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

دوستان عزیزم، این مقاله من یک مقاله کاملا انتقادی بود. اما انتقاد به خودمون. ما گاهی باید یک تلنگر به خودمون بزنیم و به درکِ درستی از محیط اطراف خودمون برسیم و به قول معروف قصور های زندگی خودمون رو گردنِ کسِ دیگه ای نندازیم.

قلبا براتون آرزو موفقیت میکنم و امیدوارم که گیک های ایرانی همیشه در صدر مشاغل دنیا قرار بگیرن.

محمد مهدی خلعتبری

محمد مهدی خلعت بری بدون دیدگاه

بررسی جامع سیستم عامل ها – قسمت چهارم

Big Level Business

در قسمت چهارم در مورد زیرساخت IT شرکت های بزرگ صحبت خواهیم کرد. شرکت هایی که در بالاترین سطح ‌Business های جهان قرار دارند و در اینجا دیگر این شرکت ها را به بخش های مختلف تقسیم نخواهیم کرد. زیرا این شرکت ها بسیار بزرگ بوده و از واحد های IT بزرگی تشکیل میشوند که دارای زیرساخت هایIT پیچیده ای میباشند.

در این قسمت این شرکت ها را مورد بررسی قرار خواهیم داد. با ما همراه باشید.

Youtube /Telegram / Torrent / Aparat

محمد مهدی خلعت بری بدون دیدگاه

بررسی سیستم عامل ها در Business Level های مختلف

سلام!

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

ماها وقتی که بچه بودیم و کامپیوتر های خونگی واسه خودمون میخریدیم، حتما یه سیستم عامل ویندوز روش نصب میکردن. حالا بستگی به سنمون، اولین ویندوزی که ازش استفاده میکردیم، فرق میکرد. ویندوز ۹۴، ۹۸، XP و … .

بیشتر بدانید

محمد مهدی خلعت بری بدون دیدگاه

بررسی جامع سیستم عامل ها – قسمت سوم

Mid-range Business :

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

  • شرکت های غیر حوزه IT
  • شرکت های حوزه IT

Youtube /Telegram / Torrent / Aparat

محمد مهدی خلعت بری بدون دیدگاه

بررسی جامع سیستم عامل ها – قسمت دوم

Small Business :

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

  • شرکت های کوچک و واقعا تازه کار در حوزه غیر IT
  • شرکت های کوچک با پشتوانه قبلی در حوزه غیر IT
  • شرکت های کوچک و واقعا تازه کار در حوزه IT
  • شرکت های کوچک با پشتوانه قبلی در حوزه IT

 

Youtube /Telegram / Torrent / Aparat