۳۰ آذر ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

Microsoft Dev Box: ایستگاه کاری توسعه شما در Azure

بیلد 2022 تمرکز توسعه‌دهنده‌ای داشت، با ابزارهای جدید برای آسان‌تر کردن کدنویسی در دنیای کار ترکیبی. Dev Box قول می دهد که محیط های توسعه شما را برای مدیریت آسان تر کند.

بیلد ۲۰۲۲ تمرکز توسعه‌دهنده‌ای داشت، با ابزارهای جدید برای آسان‌تر کردن کدنویسی در دنیای کار ترکیبی. Dev Box قول می دهد که محیط های توسعه شما را برای مدیریت آسان تر کند.

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

این مشکلی است که باعث کاهش بهره وری توسعه دهندگان می شود، به خصوص هنگام شروع یک پروژه جدید. چه ابزارهایی را باید نصب کنید و چگونه با مجموعه ابزار معمولی شما تعامل خواهند داشت؟ بعید است ماشینی که برای توسعه دات نت تنظیم شده است به همان چیزهایی نیاز داشته باشد که در حال ساخت مدل های یادگیری ماشین در PyTorch است. سپس سخت افزار زیربنایی وجود دارد. اگر من در حال ساخت پلاگین های جاوا اسکریپت برای آفیس هستم، به ۶۴ گیگابایت رم و یک پردازنده گرافیکی پیشرفته نیازی ندارم، مشخصاتی که برای ماشینی که در حال ساخت و آزمایش کد بینایی کامپیوتری است بسیار محتمل است.

توسعه‌دهندگان باید سریع و انعطاف‌پذیر باشند، و این معمولاً به جدیدترین سخت‌افزار با تمام زنگ‌ها و سوت‌ها نیاز دارد. هر ذره قدرت، ارائه کدهای بدون اشکال را آسان تر می کند که دقیقاً همان کاری را که لازم است انجام می دهد. اما مهم نیست رایانه چقدر سریع است، نصب و پیکربندی زنجیره ابزار پروژه، از IDE گرفته تا کتابخانه های پروژه و Git، زمان می برد.

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

میزبانی شده در Azure، مدیریت شده توسط Windows 365

بیلد ۲۰۲۲ باعث شد که مایکروسافت Microsoft Dev Box، راهی برای ایجاد محیط های توسعه در ماشین های مجازی ویندوز با میزبانی Azure به طوری که توسعه دهندگان می توانند به سرعت یک سیستم از پیش پیکربندی شده را باز کنند و بدون نیاز به تغییر رایانه زیرین به کار خود ادامه دهند. Dev Box مبتنی بر ابزارهایی است که مایکروسافت برای مدیریت دسکتاپ‌های تجاری در فضای ابری ایجاد کرده است، از جمله Windows 365 و اجزای مختلف ابزارهای مدیریت سیستم Endpoint Manager.

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

سرویس رایانه ابری Windows 365 مدیریت شده موجود مایکروسافت، پلت فرم دسکتاپ مجازی آن است، ارائه نصب میزبانی شده ویندوز ۱۰ و ویندوز ۱۱ که می تواند از طریق همان پلتفرم مدیریت دستگاه ابری Intune به عنوان سخت افزار داخلی و موبایل، همراه با بقیه مجموعه Endpoint Manager مدیریت شود. قرار دادن ویندوز در فضای ابری اولین گام برای ارائه ابزارهایی مانند Dev Box است، زیرا اکنون می‌توانید تصاویر دسکتاپ مجازی را پیکربندی و ارائه دهید که می‌توانند در صورت نیاز چرخانده شوند.

با توجه به اینکه Windows 365 در حال حاضر از کار از راه دور و ترکیبی پشتیبانی می‌کند، ارائه محیط‌های مخصوص کار که می‌توانند در هر رایانه شخصی یا تبلتی، با نرم‌افزار بهره‌وری آشنا و ابزارهای سفارشی خط کسب و کار، قابل استفاده باشند، بسیار منطقی است. آن را برای پشتیبانی از توسعه دهندگان گسترش دهید. ویژگی‌های جدید ویندوز به دستگاه‌ها اجازه می‌دهد تا در محیط ویندوز ۳۶۵ بوت شوند یا با استفاده از همان ابزارهایی که برای ابزارهای دسکتاپ مجازی داخلی ویندوز استفاده می‌کنید، به سرعت به آن سوئیچ کنند. با پهنای باند سریع و ابزارهای مدرن از راه دور، تأخیر به حداقل می رسد و باعث می شود دسکتاپ مجازی راه دور از دسکتاپ محلی قابل تشخیص نباشد.

اما در حال حاضر، برای دسترسی به محیط‌های Windows 365 و Windows Dev Box به استفاده از ابزار Remote Desktop جداگانه محدود شده‌اید. این نسخه جدیدی از Remote Desktop آشنا همراه با ویندوز است که فقط می تواند به محیط های ابری مدیریت شده متصل شود. این تا حدودی گیج کننده است: در فروشگاه ویندوز نیست اما نماد و نام یکسانی دارد. اگر از Remote Desktop برای مدیریت سرورهای توسعه خود و کار با منابع Azure استفاده می کنید، در حال حاضر به دو نسخه مختلف نیاز خواهید داشت.

برای کاربران، Dev Box به سادگی پیوندی در یک پورتال خواهد بود. روی پیوند کلیک کنید و در Remote Desktop باز می شود (یا از شما درخواست می کند دانلود کنید). این یک ماشین مجازی را می چرخاند که یک تصویر از پیش پیکربندی شده را اجرا می کند. پس از راه اندازی، تمام ابزارهای مورد نیاز برای شروع کار وجود خواهد داشت. کاربران نسبت به یک کاربر معمولی در ویندوز ۳۶۵ حقوق بیشتری بر روی تصاویر خود خواهند داشت و به آنها اجازه می دهد تا در صورت نیاز ابزار نصب کنند. مهم است که به یاد داشته باشید که هیچ رابطه ای بین قابلیت های دستگاه متصل به Dev Box و محیط مجازی وجود ندارد. من می‌توانم از یک iPad قدیمی برای بررسی برخی کدها از خانه در آخر هفته استفاده کنم و عملکردی مشابه ایستگاه کاری خود در دفترم داشته باشم (که در این روزهای کار ترکیبی می‌تواند در هر جایی باشد).

آیا جاوا با مرجع عبور می کند یا با مقدار عبور می کند؟

زیر تصویر VM میزبانی با منابع مناسب برای پروژه خواهد بود. ممکن است یک VM با vGPU باشد، یا ممکن است یک VM باشد که برای اجرای یک ویرایشگر و اتصال به یک سیستم CI/CD (ادغام پیوسته و تحویل مداوم) برای اجرای یک بیلد کافی باشد. به عنوان یک معمار یا مدیر پروژه، می‌توانید تعریف کنید که چه کسی چه منابعی را دریافت می‌کند و به شما امکان می‌دهد برای ابزارهای مورد نیاز یک پروژه بودجه بپردازید. ابزارهای مدیریت نشان می‌دهند که از چه منابعی استفاده می‌شود، بنابراین می‌توانید در صورت لزوم نیازمندی‌ها را بالا و پایین کنید و به حفظ بودجه پروژه‌ها کمک کنید. جعبه‌های توسعه‌دهنده می‌توانند به‌طور خودکار زمانی که کاربران متصل نیستند به حالت خواب زمستانی درآیند تا هزینه‌های محاسبه به حداقل برسد.

جعبه های توسعه دهنده برای هر کار و زنجیره ابزار

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

یکی از جالب‌ترین جنبه‌های Dev Box، امکان اختصاص بیش از یک مورد به یک کاربر است. ممکن است یک Dev Box با ابزارها و خدمات علم داده برای ساخت و آموزش مدل‌های یادگیری ماشین پیکربندی شده باشد. در حالی که در حال آموزش یک مدل است، می توانید مدل دیگری را باز کنید که برای ساخت و آزمایش یک برنامه با استفاده از APIهای مدل پیکربندی شده است. سوئیچینگ از طریق همان پورتالی که برای اتصال به Dev Box استفاده می کنید انجام می شود. دو جعبه توسعه دهنده یکسان متصل به یک مخزن می توانند اثرات کتابخانه های جدید یا مؤلفه های جدید را بر روی کد شما بدون تأثیر بر شاخه های اصلی شما نشان دهند.

JetBrains از سرویس CI/CD برای تیم های کوچکتر رونمایی می کند

توجه به این نکته مهم است که Dev Box نسخه ای از کد فضاهای GitHub نیست. هیچ دلیلی وجود ندارد که Dev Box نمی تواند به یک Codespace متصل شود – و دلایل خوبی برای اینکه باید انجام شود! Codespace یک محیط کانتینری برای ساخت و آزمایش برنامه‌های بومی ابری است، و اگرچه به یک محیط ویرایش میزبانی ابری متصل است، اما بیشتر شبیه این است که می‌توانید از هر جایی بدون استفاده از منابع تولید، در برابر پلتفرم زمان اجرا خود کدنویسی کنید.

مایکروسافت در حال استفاده از برخی از مفاهیم Codespace و استفاده از آنها به عنوان بخشی از مجموعه جدیدی از ابزارهای توسعه دهنده است که در Build معرفی شده اند. محیط‌های استقرار Azure راهی برای ساختن قالب‌هایی برای زیرساخت‌های استقرار است که به توسعه‌دهندگان یک هدف سلف سرویس برای کدشان می‌دهد که می‌تواند توسط مهندسان پلتفرم مدیریت و نظارت شود. شما می توانید چندین محیط استقرار را برای مراحل مختلف چرخه عمر برنامه داشته باشید، به عنوان مثال، توسعه و آزمایش با مدل های مختلف امنیتی و شبکه به طوری که فقط محیط های تولیدی به اینترنت یا VLAN های شرکتی دسترسی داشته باشند.

مانند Dev Box، Deployment Environments را می توان برنامه ریزی کرد. می‌توانید در ساعت ۹ صبح یکی را بالا بچرخانید تا کد را هنگام نوشتن امتحان کنید و آن را در ساعت ۷ بعد از ظهر خاموش کنید. وقتی همه به خانه می روند در دسترس بودن زمان‌بندی‌شده می‌تواند به بهبود تعادل کار/زندگی کمک کند، و به توسعه‌دهندگان اجازه می‌دهد تا وسایل خود را جمع کنند و بدانند همه چیز صبح آماده است. و از آنجایی که این محیط‌ها همه در فضای ابری اجرا می‌شوند، حتی Dev Box، تنها چیزی که آنها نیاز دارند یک اتصال شبکه است تا دسکتاپ از راه دور خود را در هر کجا که هستند ببینند. تابستان است، پس کد در ساحل؟ با Dev Box و Azure Deployment Environments، دلیلی وجود ندارد.