نوامبر به این معنی است که زمان انتشار جدید دات نت فرا رسیده است. NET 7 برای ابر و کانتینرها چیست؟ پشتیبانی از چند پلتفرم و عملکرد بومی ابری.
مایکروسافت و بنیاد دات نت با استفاده از توسعه باز برای اولویت بندی ویژگی ها و وارد کردن کدهای مشارکتی جامعه، پلتفرم را با موفقیت به سرعت به روز رسانی سالانه منتقل کردند. انتقال از .NET Framework فقط ویندوز به .NET Core و اکنون به نسخه تک دات نت به ما یک پلتفرم توسعه چند پلتفرمی را داده است که بر اساس کار تیم Mono برای افزودن پشتیبانی لینوکس و macOS است. مهمتر از همه، مجموعهای از کلاسهای پایه متداول این اطمینان را میدهد که شما فقط باید یکبار آنها را یاد بگیرید و میتوانید در هر جایی که NET اجرا میشود از آنها استفاده کنید.
ساختمان برای ابر و کانتینرها
در جایی که نسخههای اصلی قبلی داتنت بر روی برنامههای دسکتاپ و تلفن همراه متمرکز شده بود، در این نسخه برای ابر و برنامههای سازمانی مدرن چیزهای زیادی وجود دارد. این تعجب آور نیست، زیرا پشتیبانی از پلتفرم های مختلف، اجرای کدهای مشابه در سرورهای لینوکس را در سیستم های سرور ویندوز شما آسان می کند. باید کارهای سطح پایین قابل توجهی در زمان اجرا و کامپایلر انجام می شد تا از آخرین مجموعه دستورالعمل های Arm پشتیبانی شود، پیشرفت هایی که به کد Arm .NET تا ۴۵ درصد نسبت به نسخه های قبلی در سیلیکون اخیر Arm افزایش داده است.
واضح است که آینده دات نت بین پلتفرمی و بومی ابری است. بله، ویندوز در قلب این پلتفرم قرار خواهد گرفت، اما به لطف تمرکز بیشتر بر Blazor برای WebAssembly و کانتینرهایی برای استفاده با Kubernetes، تنها یکی از اهداف بسیاری خواهد بود. این رویکرد با داشتن نسخه لینوکس کمک می کند، زیرا دات نت اکنون می تواند مستقیماً از IDE شما به یک کانتینر بدون نیاز به کپی از Docker برود. به جای اینکه مجبور باشید کد خود را منتشر کنید و سپس آن را در یک ظرف بسته بندی کنید، می توانید مستقیماً از یک پروژه به یک کانتینر بروید، از یک بسته کانتینری برای ایجاد یک کانتینر از یک فهرست و سپس انتشار آن به عنوان یک تصویر کانتینر لینوکس استفاده کنید.
رویکرد داتنت امتیاز اضافهتری دارد، زیرا کانتینر-میزبان آگنوستیک است. کانتینر شما می تواند بر روی هر پلتفرم مطابق با استانداردها کار کند. دات نت تصاویر پایه خود را با نسخه های جداگانه برای ASP.NET Core، برنامه های مستقل و همه برنامه های دیگر ارائه می دهد. تصاویر زیر بنا بر دبیان هستند، بنابراین باید مطمئن شوید که جایگزینها را مستقیماً هدف قرار دادهاید. این کاملاً شبیه کانتینرهای بدون توزیع نیست، اما اگر کد ASP.NET Core یا مستقل را ارائه میکنید، بسیار نزدیک است زیرا .NET حداقل چیزی را که برای اجرای کد شما لازم است را ارائه میکند. فعلاً باید میزبان لینوکس را از قبل مشخص کنید، مگر اینکه روی چیزی مانند اوبونتو اجرا کنید.
بردن یک اسکنه به اوبونتو
مایکروسافت با Canonical کار می کند تا پشتیبانی دات نت را برای کانتینرهای اوبونتو Chiseled خود اضافه کند. این یک تصویر پایه کانتینری نسبتاً جدید از اوبونتو است که بستههای موجود دبیان را به حداقل ممکن کاهش میدهد و سطح حمله را کوچک نگه میدارد. از آنجایی که آنها برای کانتینرهای بدون قدرت تک منظوره در نظر گرفته شدهاند، هر بار که انتشار میدهید، تصاویر جدیدی میسازند، هیچ مدیریت بسته داخلی و پوستهای وجود ندارد، دقیقاً مانند نسخه نانو سرور ویندوز مایکروسافت.
افزودن این قابلیت به دات نت آن را به شهروند درجه یک در اکوسیستم بومی ابری تبدیل می کند. میتوانید کد را در کانتینرها بسازید، آن را مستقیماً به یک مخزن فشار دهید و سپس از ابزارهای Kubernetes مانند Helm برای مدیریت بهروزرسانیها و استقرار برنامهها استفاده کنید. استفاده از Azure DevOps یا GitHub کار با ابزارهای Azure Kubernetes خود مایکروسافت، از جمله برنامههای کانتینر Azure، و نمونههای ابری ترکیبی را که از طریق Azure Arc در Azure Stack HCI اجرا میشوند، سادهتر میکند.
WebAssembly به عنوان یک روش قابل حمل برای ارائه تجربیات کاربر غنی به مرورگرها به سرعت در حال محبوبیت است. آزمایشهای مایکروسافت با آن با استفاده از Blazor در NET 7 ادامه دارد و ویژگیهای اشکالزدایی جدید را اضافه میکند. در بین شرکا محبوبیت پیدا کرده است: پلتفرم Uno میافزاید ابزارهای بهبود یافته WebAssembly در آخرین نسخه خود، که برای دات نت ۷ آماده است. این شامل مجموعه بهتری از ابزارهای رشته ای است که عملکرد WebAssembly را به طور قابل توجهی بهبود می بخشد. پشتیبانی Thread هنوز آزمایشی است، زیرا مشکلات API سطح پایین در جاوا اسکریپت هنوز نیاز به کار دارند.
.NET به عنوان زیرساخت
یکی از محرک های بزرگ برای این نسخه Azure است که ابزارهای دات نت به طور فزاینده ای برای پلتفرم اهمیت پیدا می کنند. ترکیبی از وب سرور Kestrel ASP.NET Core و پراکسی معکوس YARP به خدمات ابری خود مایکروسافت اجازه داده است تا هزینه ها را به میزان قابل توجهی کاهش دهند. یک مثال مایکروسافت Graph است که یک سرویس ASP.NET Core است که بیش از ۷۰ میلیارد درخواست در روز را مدیریت می کند. نسخههای اخیر داتنت به این سرویس اجازه داده است که مقیاسپذیری خود را ادامه دهد، در حالی که هزینهها تا ۹۱ درصد کاهش یافته است. Azure App Service مدتی است که از Kestrel استفاده می کند و عملکرد آن بهبود چشمگیری داشته است. این یک تغییر کافی است که برنامههایی برای کاهش تعداد سرورهای فرانتاند تا ۵۰% وجود دارد.
Azure در سراسر مجموعه ابزارهای پلتفرم به عنوان سرویس، از جمله سرویس برنامه Azure و برنامه های کانتینر Azure، از دات نت ۷ پشتیبانی خواهد کرد. این به هر کد اثبات مفهوم یا برنامههایی که بر اساس آخرین پیشنمایشها ساخته شدهاند اجازه میدهد تا در سریعترین زمان ممکن راهاندازی شوند.
در همان زمان، دات نت ۷ در حال بهبود ابزارهای شبکه داخلی خود است. پشتیبانی از HTTP/3 به شما امکان میدهد به سرعت از آخرین ویژگیهای عملکرد وب استفاده کنید، در حالی که به کد شما اجازه میدهد از APIهای REST پیچیده به فراخوانهای gRPC سادهتر تغییر کند. این رویکرد ممکن است به معنای معماری مجدد APIها و بازسازی کد باشد، اما میتواند سرعت برنامههای کاربردی و میکروسرویسهای توزیعشده را به میزان قابل توجهی افزایش دهد.
ارتقاء اجزای این چنینی به عنوان بخشی از دات نت باعث می شود که ارتقاء نرم افزار به طور موثری به ارتقای زیرساخت تبدیل شود. با کاهش بار در زیرساخت های ابری، اپراتورها می توانند از دات نت برای کاهش هزینه های سرمایه ای و عملیاتی استفاده کنند، چیزی که در شرایط اقتصادی نامطمئن بسیار مهم است.
مثل همه نسخههای NET سال زوج، این نسخه پشتیبانی مدت استاندارد (STS) خواهد بود. خط مشی مایکروسافت برای دات نت مشابه سیاستی است که توسط سایر پروژه های منبع باز مورد استفاده قرار می گیرد و شش ماه پس از انتشار نسخه اصلی بعدی از آن پشتیبانی می کند. از آنجایی که دات نت یک آهنگ سالانه دارد، در مجموع ۱۸ ماه پشتیبانی به شما می دهد، مشروط بر اینکه نسخه پچ فعلی را نصب کرده باشید. نسخه بعدی LTS NET 8 خواهد بود.
مایکروسافت به توسعه دات نت با سرعتی سریع ادامه می دهد و با بنیاد دات نت برای ارائه ابزارها و ویژگی های مورد نظر کاربران همکاری می کند. با بیش از ۲۸۰۰۰ مشارکت از جامعه، اولین آزمایش بزرگ منبع باز مایکروسافت به وضوح موفقیت آمیز است.
پست های مرتبط
داخل اولین نسخه ابری مایکروسافت .NET 7
داخل اولین نسخه ابری مایکروسافت .NET 7
داخل اولین نسخه ابری مایکروسافت .NET 7