گارتنر میگوید: «دو نسل اولیه طراحی مراکز داده دیگر پاسخگوی نیازهای حال و آینده نیستند. مراکز داده جدید همانند گذشته ماهیت ایستا و راکدی ندارند و شبیه به سلولهای زنده رفتاری چابک دارند، بهطوری که به هر تغییر (افزایش سرورها و زیرساختهای ذخیرهسازی) واکنش نشان میدهند و منعطفتر کار میکنند. طراحان مراکز داده باید به سه اصل انعطافپذیری، ماژولاریتی و مجازیسازی دقت کنند، زیرا مراکز داده آینده بر مبنای این سه اصل مهم استوار میشوند. بی توجهی به این اصول سهگانه باعث میشود قدرتمندترین مراکز داده در کوتاهترین زمان کارایی اولیه را از دست بدهند.» مطلبی که در حال مطالعه آن هستید، خلاصهای کوتاه از پژوهش مطالعاتی شرکت اشنایدر الکترونیک فرانسه در ارتباط با معماری ماژولار مراکز داده مدرن است. برای مطالعه کامل مقاله به آدرس انتهای این مطلب مراجعه کنید.
شرکتهای بزرگ تولیدکننده تجهیزات مراکز داده در حال ارتقای تجهیزات و حرکت به سمت راهکارهای ماژولار هستند، با این حال، هنوز تعریف دقیقی برای ماژولاریتی ارائه نشده و این مفهوم در قالب کلیدواژههایی همچون منطقه سبز (PoD)، کانتینر(Container)، خوشه (Cluster)، ناحیه (Zone)، ردیف (row)، اتاق (room) و باس (busses) استفاده میشود. اصطلاح مرکز داده ماژولار به شیوه بهکارگیری انواع مختلفی از طراحیها اشاره دارد. ماژولاریتی میتواند به سطوح مختلفی تقسیم شود و به همین دلیل ممکن است یک مرکز داده،
ماژولارتر از دیگری باشد. بهطور مثال، هر زیرسامانه میتواند دارای 3 تا 47 ماژول باشد. با توجه به اینکه ماژولاریتی هزینهبر است، ماژولار کردن هر وسیلهای توجیه اقتصادی ندارد. موسسه Tier 1 Research در جدیدترین تحلیل خود مزایای متعدد ماژولاریتی مرکز داده را شرح داده و معتقد است سازمانها تنها زمانی بهترین سود از ماژولاریتی را تجربه میکنند که به سراغ ماژولهای صنعتی و استاندارد بروند. در این صورت هزینهها کم میشود، بهرهوری افزایش پیدا میکند و خدمترسانی بهتر میشود.
ماژولاریتی قرار است چه مشکلاتی را برطرف کند؟
ماژولاریتی به سرپرستان و طراحان مراکز داده کمک میکند مشکلات را به شکل همزمان حل کنند. دقت کنید ماژولارسازی محدود به مراکز داده بزرگ نیست و مراکز داده متوسط و کوچک میتوانند از مزایای ماژولاریتی بهرهمند شوند. جدول زیر فهرستی از مهمترین مشکلات مراکز داده را نشان میدهد که طراحی ماژولار به بهترین شکل آنها را حل میکند.
مشکل | راهکار برطرف کردن مشکل |
---|---|
بلااستفاده بودن منابعی که برای آنها هزینه شده | معماری ماژولار امکان میدهد هر زمان نیاز بود برای زیرساخت هزینه شود. رویکرد فوق صرفهجویی در هزینهها را به همراه دارد. |
زمانبر بودن چرخه طراحی و استقرار | مرکز داده ماژولار سامانههای از پیش ساخته و مهندسی شدهای را استفاده میکند که زمان طراحی و نصب را کم میکنند. |
مشکلات کیفیتی | بهکارگیری طراحی سامانههای از پیش مهندسی شده نواقص را کاهش میدهد. |
طراحی مبتنی بر محاسبه نادرست ظرفیت | طراحی ماژولار به مهندسان شبکه اجازه میدهد در مورد مباحثی همچون توان مصرفی در زمان طراحی و اجرا تصمیمگیری کنند. |
پیچیدگی برنامهنویسی و پیکربندی سامانههای مدیریتی | طراحی ماژولار اجازه میدهد از تجهیزات استاندارد مدیریتی که آماده به کار هستند استفاده کرد و وابستگی به برنامهنویسی اختصاصی را کم کرد. |
فراهم آوردن آستانه تحمل خطا | طراحی ماژولار در ارتباط با آستانه تحمل خطا، تعمیر و نگهداریهای زمانبر، افزونگی N+1 را پیشنهاد میکند. |
سادهسازی آموزش کارمندان | این امکان وجود دارد تا فرآیند آموزش را استاندارد و ساده کرد، به دلیل اینکه مراکز داده ماژولار جزییات فنی خیلی پیچیده ندارند که به آموزش خاصی نیاز باشد. |
بهرهوری انرژی | ظرفیت بیش از نیاز یکی از مشکلات بزرگ مراکز داده است. طراحی ماژولار و گسترشپذیر با ارائه برآورد دقیقی مانع بروز این مشکل میشود. |
مولفههای تشکیلدهنده معماری ماژولار
برای تشریح دقیق ماژولاریتی در مرکز داده ابتدا باید با مولفههای زیربنایی این معماری آشنا شویم. معماری ماژولاریتی بر مبنای سه مولفه زیر پیادهسازی میشود:
- ماژولاریتی دستگاه (Device modularity): تشریح میکند که دستگاهها از مولفههای ماژولار ساخته شدهاند.
- ماژولاریتی زیرسامانهها (Subsystem Modularity): تشریح میکند هر واحد عملیاتی از چند دستگاه یا ماژول یکسان ساخته شده است.
- پیوند ماژولها (Module Linkage): ارتباط میان مولفههای ماژولار در زیرسامانههای مختلف، چگونگی دستیابی به افزونگی، ظرفیت، چگالی و توسعه آنها بر مبنای زمان تعیین شده را توصیف میکند.
ماژولاریتی دستگاه
تمایز میان ماژولاریتی معماری مرکز داده با ماژولاریتی دستگاههایی که مرکزداده از آنها استفاده میکند اهمیت زیادی دارد. تمایل به ماژولارسازی تمامی تجهیزات مرکز داده همچون سرورها، دستگاههای ذخیرهساز، تجهیزات شبکه و سامانههای برق اضطراری از مدتها پیش مورد توجه سازمانها قرار گرفته، اما سامانههای تهویه مطبوع اتاق سرور (CRAH) و سامانههای توزیع برق چند وقتی است در کانون توجه قرار گرفتهاند. ماژولار کردن این دستگاهها مزایای روشنی به همراه دارد که قابلیت تعمیر و نگهداری، قابلیت پیکربندی مجدد، امکان تغییر ظرفیت، کاهش زمان انتظار برای خرید تجهیزات جدید از جمله این موارد است. وجود چنین دستگاههایی در معماری ماژولار مرکز داده اهمیت زیادی دارد. با این حال، دقت کنید بهکارگیری دستگاههای ماژولار به معنای ماژولار بودن معماری مرکز داده نیست. شکل 1 دو نمونه از ماژولاریتی دستگاههای توزیع برق و یوپیاس را نشان میدهد.
ماژولاریتی زیرسامانه
واحدهای عملکردی زیرسامانههای درون مرکز داده مثل یوپیاس، دستگاه تهویه مطبوع و چیلرها (دستگاههای خنککننده آبی) را میتوان به یکی از دو روش یک دستگاه منفرد و یکتکه یا چند دستگاه که بار کاری را میان یکدیگر تقسیم میکنند پیادهسازی کرد. بهطور مثال، نیازمندی 1 مگاواتی یوپیاس را میتوان با هر یک از ملزومات زیر برطرف کرد:
- 1 دستگاه یوپیاس 1 مگاواتی
- 4 دستگاه یوپیاس 250 کیلوواتی
- 10 دستگاه یوپیاس 100 کیلوواتی
- 10 هزار دستگاه یوپیاس 1 کیلوواتی
یک دستگاه یوپیاس ممکن است از ماژولاریتی پشتیبانی کند یا اینگونه نباشد، زیرا زیرسامانه یوپیاس را زمانی ماژولار توصیف میکنیم که از چند واحد ساخته شده باشد، اما زیرسامانههای مراکز داده بزرگ همچون PDU و CRAH که متشکل از چند واحد کوچکتر هستند ماژولار هستند. آستانه تحمل خطا (Fault Tolerance) که حول محور تعمیر و نگهداری همزمان و جابهجایی (لجستیک) قرار دارد سه عامل اصلی ماژولاریتی زیرسامانهها هستند. آستانه تحمل خطا به این معنا است که هر زمان یکی از ماژولها خراب شد، زیرسامانه بتواند بدون مشکل به کار خود ادامه دهد. تعمیر و نگهداری همزمان زمانی تحقق مییابد که یک ماژول را بدون خاموش کردن سامانه بازبینی و نگهداری کرد. بهرهمندی از دستگاههایی با ویژگی حملونقل آسان در زیرساخت مزیت بزرگی دارد. اگر ماژول به اندازه کافی کوچک باشد، امکان جابهجایی و انتقال آن به اتاقهای دیگر وجود دارد. یک چنین ویژگی باعث میشود زیرسامانههای بزرگ و واحد مرکز داده را فراموش کنید و به سراغ زیرسامانههایی بروید که از چند ماژول ساخته شدهاند که نصب و پیادهسازی آنها در فضای داخلی به سادگی امکانپذیر است. ماژولاریتی زیرسامانهها در مراکز داده برای انواع مختلفی از تجهیزات متداول است، اما تمامی دستگاههای مورد استفاده در مراکز داده هنوز به مرحلهای از ماژولاریتی نرسیدهاند که با نصب سوکتی قابل استفاده باشند. بهطور مثال، برای بهرهمندی از دستگاههای CRAH 60 کیلوواتی به برنامهریزی، مهندسی، لولهکشی، برنامهنویسی کنترلی و آزمون پیادهسازی و تست نهایی نیاز است. ماژولاریتی زیرسامانه به اندازه ماژولاریتی دستگاه در طراحی مرکزداده مهم است. با این حال، در دسترس بودن آن به معنای ماژولار بودن معماری نیست، زیرا در معماری ماژولار طراحی باید نحوه تعامل زیرسامانهها با یکدیگر را مشخص کند.
پیوند ماژولها
برای استقرار هر واحد IT ترکیبی از فضای فیزیکی، برق، سرمایش، اتصالات، تجهیزات اطفای حریق و نورپردازی نیاز است. به همین دلیل پیوند ماژولاریتی میان زیرسامانههای مختلف مرکز داده در معماری ماژولار اهمیت زیادی دارد. در معماری فوق میتوان هر مجموعه کامل از زیرسامانههای یکپارچه را به عنوان یک واحد استاندارد در مرکز داده ماژولار پیادهسازی کرد. یک چنین پیادهسازی مصداق عینی معماری ماژولار مرکز داده است، البته به شرطی که زیرسامانههای مرکز داده برای ماژولار شدن با یکدیگر در ارتباط باشند. یک معماری ماژولار مرکز داده را میتوان به عنوان یک موجودیت مستقل و کوچک به تدریج به زیرساختهای ارتباطی یک سازمان اضافه کرد. در ظاهر دستیابی به چنین معماری ساده به نظر میرسد، اما به دلایل زیر تحقق آن به سادگی امکانپذیر نیست:
- مدیریت هر ماژول ظرفیتی (Capacity) مرکز داده به عنوان یک مولفه جداگانه مرکز داده امکانپذیر نیست.
- بهکارگیری برخی از زیرسامانهها تنها زمانی مقرون به صرفه هستند که بزرگتر از ابعاد ماژول از پیش ساخته شده باشند.
- پیادهسازی افزونگی در مجموعه ماژولها ارزانتر و موثرتر از پیادهسازی افزونگی در هر یک از ماژولها است.
- اگر ظرفیت برای هر یک از ماژولهای مرکز داده همچون برق و سرمایش جداسازی شود، این احتمال وجود دارد که بخشی از ظرفیت تجهیزات بلااستفاده بماند.
- اندازه ماژولها باید به اندازهای کوچک در نظر گرفته شود که بیشترین انعطافپذیری در دسترس باشد. با این حال، اگر ماژول برخی از دستگاهها همچون تجهیزات خنکسازی و تولید برق کوچک شود، کارایی تجهیزات به شدت کم میشود.
درست است که برقراری ارتباط میان تمام زیرسامانهها و تبدیل آنها به ماژولهای مستقل، کارآمد و کامل فراهم نیست، اما در ارتباط با معماری ماژولار مرکز داده باید از راهکاری استفاده کرد تا مجموعه زیرسامانهها هماهنگ با یکدیگر و به روش منطقی پیادهسازی شوند. ارتباط میان ماژولها در معماری مرکز داده چگونگی تعامل زیرسامانهها در پیادهسازی مختلف را شرح میدهد. اجازه دهید برای توصیف ارتباط میان ماژولها به نحوه استقرار تجهیزات رکها و دوشاخههای برق اشاره کنیم. در این نمونه مفهومی به سراغ یک استقرار یکبهیک میرویم. در ابتدا باید به نحوه استقرار PDUها و رکها دقت کنیم. برای استقرار آنها باید خطمشی تعریف کرد که هر PDU به 20 رک مرتبط شود.
خطمشی فوق را میتوان بسط داد و پیوندهایی همچون هر ژنراتور برای 500 رک، هر دستگاه CRAH برای 40 رک و هر سامانه تجمیع دادهها برای 200 رک را تعریف کرد. خطمشی حاکم بر ارتباط میان مولفهها را پیوند ماژولاریتی زیرسامانههای مختلف مینامند. این پیوندها ممکن است خطمشیهای اجرایی ساده باشند یا ممکن است کانتینرها و کیتهای از پیش ساخته و مهندسی شده باشند.
تعریف ماژولار بودن معماری مرکز داده
معماری ماژولار کارآمد مرکز داده ویژگیهای زیر را دارد:
- مجموعهای از ماژولها تعریف میشود که مرکز داده بر مبنای آنها طراحی میشود.
- ماژولها در قالب زیرسامانههایی تعریف میشود که با یکدیگر مرتبط هستند. این رویکرد با هدف به حداقل رساندن پیچیدگی انجام میشود.
- برای هماهنگ شدن با استراتژی رشد و توسعه مرکز داده از خطمشیها، ابزارها و دستگاههایی استفاده میشود که پیادهسازی تدریجی ماژولها را شرح میدهند.
- سامانه باید به گونهای مهندسی شود که برنامهریزی، نصب، پیکربندی و وابستگی به برنامهنویسی برای اجرای ماژولها به حداقل ممکن برسد.
- ویژگیهای سامانه استقرار یافته همچون ظرفیت، عملکرد، چگالی و وزن باید بدون تحلیل اضافی و به شکل از پیش تعریف شده مشخص شده باشند.
- سطح جزییات و ابعاد ماژولها باید به درستی مشخص شود. اینکار با محاسبه ساده هزینهها و تخمینها انجام میشود.
- به ویژگی دسترسپذیری، افزونگی و توان مصرفی به شکل درستی در این معماری توجه شده باشد.
- معماری ماژولار محدود نیست، زیرا امکان بهکارگیری محصولات زیرساختی جدید و دستگاههای تولید شده توسط تولیدکنندگان مختلف به شکل هماهنگ وجود دارد.
دقت کنید معماری ماژولار مرکز داده محدود به فهرستی از تجهیزات نیست، بلکه خود سامانه به مهندسی و آزمایشهای مختلف نیاز دارد.
یک معماری ماژولار یا چند معماری ماژولار
در حالت ایدهآل یک معماری کامل ماژولار به تمامی الزامات مرکز داده پاسخ میدهد، اما هر سازمانی نیازهای خاص خود را دارد که وجود معماریهای گوناگون را اجتنابناپذیر میکند. سازمانها در نحوه استقرار و استفاده از مراکز داده در موضوعاتی همچون ابعاد مرکز داده، برنامه توسعه رشد پایدار، دسترسپذیری و اولویتها و محدودیتهای خاص هر زیرساخت با یکدیگر متفاوت هستند. معماری ماژولار به این تفاوتها دقت خاصی دارد. به همین دلیل، پیش از پیادهسازی هر معماری ماژولار لازم است فاکتورهای فوق به دقت ارزیابی شوند.
تاثیر ابعاد مرکز داده بر معماری ماژولار
یکی از فاکتورهای مهمی که بر روش ماژولارسازی تجهیزات تاثیرگذار است، ظرفیت مرکز داده است. زیرساخت فیزیکی برای یک اتاق سرور کوچک مستقر در شعبه اداری، مرکز داده کوچک و مرکز داده بسیار بزرگ یکسان نیست. بهطور مثال، یک مرکز داده بسیار بزرگ به 6 اتاق، مرکز داده کوچک و شعبه اداری به 1 اتاق نیاز دارند.
تاثیر تغییرات برنامه رشد پایدار و گسترش مبتنی بر معماری ماژولار
برخی از مرکز داده بارکاری ثابت و مشخصی دارند و انتظار میرود این بارکاری در طول حیات زیرساخت ثابت باقی بماند. برخی دیگر از مراکز داده برنامه رشد پایداری دارند که آهنگ رشد ممکن است آهسته و تدریجی باشد یا ممکن است پیشبینی دقیقی در ارتباط با مقدار مصرف نهایی وجود نداشته باشد. برخی از کارشناسان مرکز داده معتقد هستند اگر برای مرکز دادهای که بار ثابت و از پیش تعریف شدهای دارد، زیرساخت از پیش ساخته شده فراتر از ظرفیت ممکن باشد هدر رفت سرمایه را به همراه دارد، در حالی که برخی دیگر پیشنهاد میکنند مرکز دادهای فراتر از ظرفیت آماده شود، البته در این حالت مزیت گسترشپذیری ناشی از معماری ماژولار مفهوم خاصی ندارد، زیرا مرکزداده قرار نیست شاهد تغییر خاصی باشد. در ارتباط با مراکز دادهای که آهنگ رشد آهسته و نامطمئنی دارند، ممکن است توسعهپذیری یک فاکتور مهم در طراحی شناخته شود، با اینحال، ممکن است ضررهای مالی هنگفتی را متوجه کسبوکار کند، زیرا تجهیزاتی خریداری میشوند که هیچگاه از حداکثر ظرفیت آنها استفاده نمیشود. در این حالت هزینه نگهداری از تجهیزات و انرژی زیادی که مصرف میکنند بار مالی سنگینی به سازمان وارد میکند.
ویژگی هماهنگ بودن توسعه زیرساخت با میزان مصرف IT نقش مهمی در هزینه تمام شده مرکز داده و نرخ بازگشت سرمایه دارد. معماری ماژولار هزینه کردن برای زیرساختهایی فراتر از ظرفیت ممکن را به حداقل میرساند و ماژولارسازی زیرسامانهها را حداکثری میکند. در مجموع باید بگوییم در ارتباط با مراکز دادهای که بار مصرفی ثابت و پیشبینی شدهای دارند اگر از معماری ماژولار مبتنی بر دستگاههای مرکزی و ماژولهایی با ابعاد بزرگ و از پیشساخته شده استفاده شود، مزایای ماژولاریتی حداکثری میشوند. مراکزدادهای که رویکرد نامشخص و برنامه رشد درازمدتی با آهنگ آهسته دارند، اگر به سراغ زیرساخت غیرمتمرکز و ماژولهایی با ابعاد کوچکتر بروند از مزایای این معماری به بهترین شکل استفاده میکنند.
ویژگی دسترسپذیری در معماری ماژولار
بیشتر طراحیهای مرکز داده برای دستیابی به آستانه تحمل خطای بیشتر و تعمیر و نگهداری زیرساختها بدون خاموش کردن سامانهها به سراغ سطوح مختلفی از افزونگی میروند. افزونگی به معنای بهکارگیری زیرسامانهای از مولفههای مختلف است که برای برخی از مولفهها افزونگی (بهکارگیری بیش از یک مولفه یکسان که به شکل اصلی و ثانویه استفاده میشوند) در نظر گرفته میشود. به همین دلیل برای هر مرکز دادهای که افزونگی دارد، باید حداقل یک برنامه مقدماتی برای رسیدن به رویکرد ماژولاریتی تعیین شود. پیادهسازی افزونگی در مرکز داده رویکرد ثابتی ندارد. در حالت کلی برای سطوح مختلف افزونگی از اصطلاحاتی همچون N+1، 2N یا سامانه مضاعف استفاده میشود که نمیتوان توصیف دقیقی برای آنها ارائه کرد، زیرا برای پیادهسازی هر یک از موارد یاد شده راهکارهای مختلفی وجود دارد. بهطور مثال، در سامانه یوپیاس با حالت N+1 میتوان افزونگی را در یوپیاس، با دستگاههای یوپیاس موازی، پیادهسازی معماری سه افزونه حلقهای Tri-Redundant یا طراحی گیرنده (catcher) همراه با سوئیچهای انتقال ایستا به دست آورد. یک چنین تنوعی در روشهای پیادهسازی افزونگی باعث شکلگیری معماریهای مختلفی در ارتباط با روشهای ماژولاریتی شده است. معماری ماژولار کارآمد سعی میکند اندازه ماژولها را بر مبنای اهداف افزونگی بهینهسازی کند. کوچکسازی ماژولها در معماری N+1 اجازه میدهد ماژولها +1 کوچکتر شوند تا هزینهها کم و بهرهوری افزایش یابد. با این حال، ماژولهای خیلی کوچک به معنای تعداد بیشتر هستند که پیچیدگی طراحی را زیاد میکند. استراتژی مرزبندی خرابیها (Fault Partitioning) نقش مهمی در دسترسپذیری و پایداری معماری داشته و به خوبی به این مشکل پاسخ میدهد. راهکار فوق به جداسازی دستگاههای زیرسامانه از یکدیگر و به شکل موازی اشاره دارد.
تاثیر اولویتبندی و محدودسازی در معماری ماژولار
در حالت ایدهآل بهتر است ابتدا معماری جامع مرکز داده انتخاب شود، فضای مربوطه مشخص شود و در انتها واحدهای ماژولار با معماری انتخابی پیادهسازی و مستقر شوند. رویکرد فوق یک حالت ایدهآل است، اما تحقق آن به دلیل محدودیتها به سختی امکانپذیر است که از آن جمله میتوان به ابعاد فیزیکی محیط، دستگاه خنکساز مرکزی یا سامانه تهویه، تاسیسات الکتریکی موجود، ارتفاع اتاقها و عدم وجود برخی تجهیزات برقرسانی و سرمایشی اشاره کرد. برای پیادهسازی معماری ماژولار در یک ساختمان به ابزارهایی برای غلبه بر این محدودیتها نیاز است. در کنار موارد یاد شده، یک سازمان ممکن است خود اولویتهایی داشته باشد که روی طراحی تاثیرگذار هستند. بهطور مثال، سازمان ممکن است برخی از تجهیزات فناوریاطلاعات را جدا کند یا به دنبال کابلکشی شبکه و کابلکشی برق به شکلی باشد که روی چرخش هوا تاثیرگذار نباشد. در ادامه سایر اولویتهای سازمان بر روند طراحی مرکز داده تاثیرگذار خواهند بود و به همین دلیل هیچگاه نمیتوان منطبق با استاندارد گام برداشت. معماری ماژولار مرکز داده ویژگی انعطافپذیری دارد تا بتواند با محدودیتها و اولویتهای تاسیسات سازگاری داشته باشد.
در حالت ایدهآل اگر بتوانیم به جای منطبق کردن معماری انتخابی با مشخصات از پیش تعیین شده، مشخصات، اولویتها و محدودیتها را با معماری سازگار کنیم نتیجه بهتری حاصل میشود.
کلام آخر
معماری ماژولار مرکز داده به یکی از الزامات روز دنیای شبکه تبدیل شده است. ما در این مقاله تنها گوشهای از مزایای معماری ماژولار را بر شمردیم و سعی کردیم. معماری ماژولار مرکز داده، چگونگی تعیین مشخصات معماری ماژولار و مولفههای بنیادین این معماری را بررسی کنیم. بدون تردید حرکت به سمت مراکز داده ماژولار هزینه تمام شده را کاهش داده و عملکرد را بهبود میبخشد. یک چنین پیشرفتی در ارتباط با صنایع تولیدی همچون خودروسازی دستاوردهای مهمی به همراه دارد.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟