AWS大力支持.NET 开源项目,和Azure抢.NET 客户

出品 | OSC开源社区(ID:oschina2013)

在 2022 re:Invent 会议上, AWS 软件开发经理 Saikat Banerjee 锐评道:” 我们发现 .NET 开源项目资金严重不足,仍可称之为第三方开源”。随即表示 AWS 过去非常重视 .net 生态,未来也将继续大力支持 .NET 的开源发展。

.NET 开源资金不足的说法令人吃惊,微软成立了 .NET 基金会,该基金会的介绍是 “一个独立的非营利组织,旨在支持一个创新的、商业友好的开源生态系统 .NET 平台。” ,而 AWS 是该基金会仅有的 10 家企业赞助商之一。

另一方面,微软的 .NET 团队固然投入了大量精力,但在技术层面上,.NET 开源之后的跨平台进程包含大量外部贡献者的努力。比如 AWS 对 .NET 的开源工作非常上心,不仅给 .NET 基金会捐款支持、对社区中的出色的 .NET 项目进行现金和积分奖励,还积极参与 .NET 跨平台的代码开发工作,努力致力于 .NET 去 Windows / 跨平台化。

cf8f01f2ac145ee485ca92424246d023.jpeg

根据 Banerjee 的说法,AWS 正试图 “改进 WCF(Windows 通讯开发平台),不让它保留原有的局限性”。这项工作包括对 HTTP 绑定的联合身份支持,以及扩展 WFC 消息队列支持,支持除了 Microsoft 消息队列 (MSMQ) 以外的其他消息代理 ,例如 RabbitMQ 和 Amazon SQS。

另一个关键领域是 Active Directory (AD),在 Windows AD 中,组托管服务帐户 (gMSA) 通常用作应用程序服务的帐户。AWS 将该组件移植到了 Linux ,开发了一个名为 credentials fetcher 的组件,这是一个位于 Linux 实例上的守护进程,允许在 Linux 容器中使用 gMSA。

此外,使用 .NET 启动 Lambdas 时一直存在冷启动问题。函数运行时都需要加载 .NET 运行时,且 JIT 编译器每次都会将 .NET 中间代码编译为本机代码,这也需要很长时间。.NET 7 版本中的解决方案是本机 AOT 编译, 而 AWS 开发了适用于 .NET 的 Lambda tools ,可将本机 AOT 编译添加到 Lambda 函数中。

AWS 为啥对 .NET 跨平台工作这么上心?这就要追溯到 .NET Core 的前身 .NET Framework ,.NET Framework 出自 Windows 平台,导致调用 COM 或其他本机 Windows API 的 .NET Core 应用程序无法在 Linux 上运行。另一方面, .NET Framework 的某些部分(如 ASP.NET Web Forms 和 WCF 的大部分内容)不属于 .NET Core,使得大多数 .NET 应用程序更适合 Windows 或 Azure 云环境,移植到其他云上相当困难。

大厂当然不会为爱发电搞开源, .NET 是 AWS 应用程序开发中仅次于 Python 和 Java 的第三大受欢迎的平台,AWS 对.NET 开源工作的投资大多是为了让 .NET 摆脱对 Windows 的依赖,更易于使用其 Linux VM 和云原生技术, 以此摆脱 Windows 和 SQL Server 的许可,并获取更多云服务客户。当然,同样的优化当然也适用于微软的 Azure 和其他云环境,你好我好大家好,亦不失为一桩美事。

另,与其说 .NET 开源的 “资金” 不足,不如说 “资源不足 “。微软内部对 .NET 开源的意见恐怕并不统一,对开源业务倾斜的资源也一直在博弈。比如去年微软在即将发布的 .NET 6 中悄悄删除热重载的功能代码,宣称仅在 Visual Studio 中支持该功能,,强制用户改用昂贵的 Visual Studio 2022  。该举动随即引起微软内部 .NET 开发者和外部 .NET 社区的强烈反对和抨击,随后微软高层道歉,并在 .NET 6 中恢复了热重载功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/280334.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

攻防 logmein_如何使用LogMeIn Hamachi在任何地方访问文件

攻防 logmeinWhether you’re at work and forgot some file on your home computer, want to play some music on a train, or just want to move some files between your computers, accessing your files from anywhere is a life saver. 无论您是在工作时忘记了家用计算机…

在FC中如何获取fcdot文件

在FlexiCapture中一些客户在问如何获取.fcdot文件(在测试序列号下或者没有测试模板的情况下) 第一步: 1、查看License Manager查看是否找到序列号 首先我们在开始菜单里面打开ABByyFlexiCapTure11——》选择"工具"下的License Manager 第二步 1、选择管理…

Blazor学习之旅 (9) 用MudBlazor重构Todo

【Blazor】| 总结/Edison Zhou大家好,我是Edison。在之前的学习之旅(3)开发一个Todo应用中,我们开发了一个简单版的Todo,这次我们基于MudBlazor来重构这个Todo应用。Todo V1回顾在Blazor入门学习(3&#xf…

50多种在Photoshop中删除图像背景的工具和技术,第3页

We’re completing the 50 Tools and Techniques today with this final installment. Read about advanced selection and masking tools, as well as some stupid graphics geek tricks, and ways to fake removing a background in seconds. 我们今天最后一部分将完成50多种…

开源的 .NET 数据库迁移框架

你好,这里是 Dotnet 工具箱,定期分享 Dotnet 有趣,实用的工具和组件,希望对您有用!简介FluentMigrator 是一个开源的数据库迁移框架,可以帮助用户在开发过程中保持数据库的一致性。它提供了一个简洁的 Flue…

2015年IT领域里Docker和其它颠覆性的趋势

本文讲的是2015年IT领域里Docker和其它颠覆性的趋势,【编者的话】文中作者介绍了2015年IT领域的一些颠覆性的趋势,比如Docker将如何革新PaaS、IaaS等,Docker将如何颠覆虚拟化、私有云、配置管理。 2014年真是令人兴奋的一年,这一年…

进化:从孤胆极客到高效团队_极客狂:为什么这么多的网站无法使用打印样式表?...

进化:从孤胆极客到高效团队It never ceases to amaze me that people have to look for a link or a button that says “Print” on a web page, especially considering there’s a miracle technology that makes that step unnecessary. Sadly almost nobody uses it, even…

apple tv 开发_如何跨多台Apple TV同步Apple TV的主屏幕

apple tv 开发If you have more than one Apple TV in your household, you probably know how annoying it is when you have to install Apple TV apps multiple times on each device. However, with the release of tvOS 11, that’s no longer the case. 如果您的家庭中有…

这些故事说的都是你——译者带你读《硅谷革命》

作者 | 薛命灯 作为《硅谷革命》的译者之一,同时也是一个拥有十余年软件开发和架构经验的工程师,当时我在决定是否接受重译这本书的时候,几乎是不假思索地答应了郭蕾(本书重启版发起人之一)的提议,只因他的…

runc容器逃逸漏洞最强后续:应对之策汇总与热点疑问解答

美国时间2019年2月11日晚,runc通过oss-security邮件列表披露了runc容器逃逸漏洞CVE-2019-5736的详情。runc是Docker、CRI-O、Containerd、Kubernetes等底层的容器运行时,此次安全漏洞无可避免地会影响大多数Docker与Kubernetes用户,也因此为整…

com surrogate_什么是“ COM Surrogate”(dllhost.exe),为什么它在我的PC上运行?

com surrogateIf you poke around in your Task Manager, there’s a good chance you’ll see one or more “COM Surrogate” processes running on a Windows PC. These processes have the file name “dllhost.exe”, and are part of the Windows operating system. You’…

facebook 邀请好友_如何查看紧急情况下您的Facebook朋友是否安全

facebook 邀请好友Facebook’s Safety Check feature lets you check in during an emergency to confirm you’re safe. If you have friends or family in an area that you haven’t heard from, though, you may want to ask them directly. Here’s how to ask someone to…

【您有一封来自阿里云的邀请函】阿里云成都客户服务中心20+职位虚席以待,来吧,成就最好的自己!...

如果你不想辜负这个科技的时代,相信它会因你而不同。如果你不想仅做年度大戏的观众,相信自己会成为主角。如果你不想淹没在枯燥与苟且中,相信工作有诗和远方。那么,不要犹豫,加入我们!在这,你已…

.NET 代码优化 聊聊逻辑圈复杂度

本文属于 dotnet 代码优化系列博客。相信大家都对圈复杂度这个概念很是熟悉,本文来和大家聊聊逻辑的圈复杂度。代码优化里面,一个关注的重点在于代码的逻辑复杂度。一段代码的逻辑复杂度越高,那么维护起来的难度也就越大。衡量代码的逻辑复杂…

GO语言基础条件、跳转、Array和Slice

1. 判断语句if 1. 条件表达式没有括号(这点其他语言转过来的需要注意) 2. 支持一个初始化表达式(可以是并行方式,即:a, b, c : 1, 2, 3) 3. 左大括号必须和条件语句或 else 在同一行 4. 支持单行模式 5. 初始化语句中的…

干式真空泵原理_如何安装干式墙锚在墙壁上悬挂重物

干式真空泵原理If you ever plan to mount something to the wall that’s even remotely heavy, you’ll need to use drywall anchors if a stud isn’t available. Here are the different types of drywall anchors, and how to use each one. 如果您打算将甚至更重的东西安…

sharding-jdbc学习

sharding-jdbc的全局id生成策略是通过雪花算法来实现的。 sharding-jdbc也是一个数据的中间件,可实现读写分离和分库分表,比mycat要简单些。 nginx与ribbon实现负载均衡的区别:nginx是实现服务器端的负载均衡,ribbon是实现客户端即…

像go 一样 打造.NET 单文件应用程序的编译器项目bflat 发布 7.0版本

现代.NET和C#在低级/系统程序以及与C/C/Rust等互操作方面的能力完全令各位刮目相看了,有人用C#开发的64位操作系统: GitHub - nifanfa/MOOS: C# x64 operating system pro...,截图要介绍的是一个结合Roslyn和NativeAOT的实验性编译器bflat :h…

添加dubbo.xsd的方法

整合dubbo-spring的时候,配置文件会报错 因为 阿里关闭在线的域名了.需要本地下载xsd文件 所以,需要下载本地引入。 解决方式: 在dubbo的开源项目上找到xsd文件: https://github.com/alibaba/dubbo Idea使用本地xsd Setting…

Spring Cloud Feign注意点

2019独角兽企业重金招聘Python工程师标准>>> 1、只要在启动类中加入EnableFeignClients注解,才会扫描FeignClient注解 2、Feign主要是通过接口调用,底层其实也是HttpClient/OkHttp 1)提供一个Feign接口,加入对应的rest…