با توجه به آخرین اخبار دریافت شده از کمپانی مایکروسافت، این شرکت در نظر دارد با انتشار نسخه بعدی Windows Server، عملکرد PowerShell را بهبود بخشیده و Containerهایی با اندازهی کوچکتر ارائه دهد. انتظار میرود نسخهی بعدی Windows Server که بهخاطر انتشارش در نیمه اول سال 2020 با نام 20H1 نامگذاری شده است، دارای Container Base Imageی باشد که 40 درصد کوچکتر از اندازهی Container Base Image متعلق به Windows Server نسخهی 1903 است، که در ماه می منتشر شده بود. علاوه بر این، بنا به اعلام تیم Windows Server، در این نسخه PowerShell Windows سی درصد سریعتر خواهد بود.
این تیم توضیح داد که این کاهش اندازهی Container برای توسعهی برنامههای کاربردی در تولید،Continuous Integration/Continuous Development یا به اختصار CI/CD و هر گردش کار دیگری که از راهاندازی سریعتر بهره میبرد یا Imageهای Cacheنشده را میکشد، پیروزی بزرگی محسوب میشود.
دسترسی برای Insiders
آزمایشکنندگان Windows Server Core Insider هماکنون به کاهش اندازه Container دسترسی دارند. اکنون آنها میتوانند Image Container کوچکتر را از صفحهی Windows Server Core Insider در Docker Hub دریافت کنند.
گفته میشود BitهایWindows Server 20H1 تقریبا آماده است، ولی انتظار میرود طبق معمول، در بهار 2020 (مارس یا آوریل) به عنوان Polished Channel عرضه شوند. این موضوع از طریق ماری جو فولی از خبرنگاران قدیمی مایکروسافت اعلام شد. بر طبق گفتهی وی، مایکروسافت تلاش کردهاست که انتشار نسخههای ویندوز خود را با انتشار نسخههای Azure خود هماهنگ کند، به همین علت Bitهای ویندوز زودتر نهایی میشوند. اگرچه ظاهرا مایکروسافت هیچ توضیح عمومی در این زمینه ندادهاست.
جنبههای فنی ویندوز سرورِ جدید مایکروسافت
مایکروسافت درحین تلاش برای تسهیل عملکرد NET Pre-compiled Native Image، که توسط ابزار Native Image Generator (Ngen.exe) برای Containerها تولید شدهبود، Container مبتنی بر Image کوچکتری تولید کرد. بهطورخلاصه میتوان گفت که Framework .NET با لایههای Docker بهخوبی اجرا نمیشود.
اینکه پیشرفت مایکروسافت چگونه بر سازمانها تاثیر میگذارد تا حدودی بستگی به استفاده یا عدم استفادهی آنها از Framework .NET همراه با Containerهای ویندوز یا استفاده از .NET Core دارد. بدین منظور ریچارد لندر راهنمایی را برای زمانیکه ویندوز سرور 20H1 میرسد، ارائه داده است که به شرح زیر است:
ما برای کاربران Containerهای ویندوز در نسخهی بعدی Windows Server راهنماییهایی داریم:
- اگر از برنامههای کاربردی .NET Framework با Containerهای ویندوز، شامل ویندوز PowerShellاستفاده میکنید از .NET Framework Image استفاده کنید.
- اگر از .NET استفاده نمیکنید، از Windows Server Core Base Image یا از Image دیگری که از آن مشتق شده است، استفاده کنید.
- اگر به عملکرد راهاندازی بهتری از .NET Framework Runtime Image احتیاج دارید، به شما پیشنهاد میکنیم Image خود را با پروفایل NGEN Image خودتان ایجاد کنید. این سناریو تحت پشتیبانی است و صلاحیت شما را از دریافت پشتیبانی از مایکروسافت رد نمیکند.
بهبود سرعت PowerShell برای سازمانهایی که در 20H1 Windows Server از Containerهای ویندوز استفاده میکنند خود را نشان خواهد داد و آنها باید از .NET Framework استفاده کنند. جویی آیلو، مدیر برنامهی ارشد در مایکروسافت اینگونه توضیح میدهد:
اگر برای استفاده از ویندوز PowerShell به Container Imageهای Windows Server وابسته هستید و عملکرد برایتان مهم است، باید به جای استفاده از Windows/Servercore Image از Dotnet/Framework/Runtime Image استفاده کنید، زیرا مورد دوم بهطور خاص برای بارکاری .NET Framework مانند Windows PowerShell بهینهسازی شده است.
با اینحال سازمانهایی که در حال حاضر از PowerShell Core استفاده میکنند باید به استفاده از Windows Server Core Image ادامه دهند. آیلو توضیح داد که وقتی ویندوز سرور 20H1 عرضه شود آنها بهطور خودکار Container Image کوچکتر را دریافت خواهند کرد.
تلاشهایی برای یکپارچگی
مایکروسافت .NET Core 3.1 را در اوایل این ماه منتشر کرد که با .NET Framework سازگاری دارد، هرچند هدف مایکروسافت ایجاد یک پلتفرم یکپارچه با نام “.NET 5” است که انتظار میرود در نوامبر 2020 عرضه شود.
PowerShell هم در حال یکپارچهشدن به عنوان PowerShell 7 است که در ماه گذشته به مرحلهی پیشنمایش 6 رسید و انتظار میرود دسترسی عمومی تجاری آن در ژانویه انجام گردد، همچنین انتظار میرود نسخهی جدید دیگری این ماه منتشر شود. PowerShell 7 با .NET Core 3.1. مایکروسافت همسو میباشد. بهعلاوه مایکروسافت در حال تلاش برای ارتقای ماژولها در PowerShell 7 با هدف پشتیبانی ازPowerShell Core 6.x و اکثر ویندوز PowerShell 5.1. است.
آیلو همچنین بیان داشت که PowerShell 7 دارای 85 درصد سازگاری ماژول با ویندوز 7 PowerShell است. مایکروسافت همچنین طرحی برای پیکربندی وضعیت مطلوب، سیاست گروه و پشتیبانی مدیریت رمزها (Secretها) در PowerShell 7، بهعلاوهی یک نمایشگر جدید خطا از طریق “Get-Error” cmdlet دارد.