亚马逊云科技-GenAI炉边聊天现代化NET应用

亚马逊云科技-GenAI炉边聊天现代化NET应用

关键字: [yt, Amazon Lambda, .Net Core Lambda, Asp.Net Core Integration, Cognito User Authentication, Parameter Store Configuration, Data Protection Keys]

本文字数: 1800, 阅读完需: 9 分钟

导读

亚马逊云科技的 .NET 开发者代言人 Norm Johanson 在这次炉边聊天中发表了”现代化 .NET 应用程序”的演讲。在演讲中,他探讨了如何利用亚马逊云科技的开发工具来现代化 .NET 应用程序。具体而言,他阐释了开发人员现在可以在亚马逊云科技 Lambda 上使用自定义的 .NET Core 运行时,利用 Lambda 层来优化启动时间,并利用新的库轻松集成亚马逊云科技服务,如 Amazon Cognito、亚马逊云科技 Systems Manager Parameter Store 和亚马逊云科技 Lambda 到 ASP.NET Core 应用程序中。演讲重点介绍了这些新的亚马逊云科技工具和库如何为 .NET 应用程序实现更快的开发速度、更高的性能和无服务器架构。

演讲精华

以下是小编为您整理的本次演讲的精华,共1500字,阅读时间大约是8分钟。

在不断发展的云计算领域中,亚马逊云科技(亚马逊云科技)一直走在创新的前沿,不断努力为开发人员提供尖端的工具和服务。其中一个备受关注的领域是现代化.NET应用程序,这也是亚马逊云科技最近举办的一场炉边聊天会的重点主题。

讨论由亚马逊云科技技术传道者Steve Roberts主持,他欢迎观众并介绍了Norm Johanson,后者是亚马逊云科技SDK和工具团队的.NET开发者代言人。凭借在.NET技术领域的丰富专业知识,Norm致力于确保.NET与亚马逊云科技服务无缝集成,因此他是这次富有洞见的对话的理想嘉宾。Norm透露,他已在亚马逊云科技工作多年,一直专注于.NET技术,确保.NET与亚马逊云科技无缝协作。这种承诺使他大量关注亚马逊云科技的SDK for .NET、Visual Studio工具包、PowerShell,以及最近定义的Lambda .NET体验。

随着对话的深入,Norm探讨了亚马逊云科技生态系统中”现代.NET应用程序”的概念。他强调了.NET Core作为主要开发平台的关键转变,亚马逊云科技从.NET Core的测试版开始就拥抱了这一转变。亚马逊云科技一直是推动这项技术发展的驱动力,尤其是在无服务器计算领域,如亚马逊云科技Lambda。Norm强调,团队致力于为.NET开发人员提供无缝的无服务器体验,使他们能够利用亚马逊云科技服务的强大功能,如S3、Cognito和DynamoDB,而无需管理资源。他阐明,所谓无服务器,目标不仅仅是Lambda,而是一种更广泛的方法,开发人员无需管理资源,可利用诸如S3用于数据存储、Cognito用于用户管理、DynamoDB用于数据库等服务。

在此次交流中,首先探讨的主要主题集中于扩展Lambda支持。诺姆(Norm)揭示了一项创新的功能,使开发人员能够在亚马逊云科技(亚马逊云科技) Lambda上利用自定义.NET运行时。这种能力允许开发人员针对更新版本的.NET Core(如3.0版本)进行开发,即使在官方亚马逊云科技支持之前。诺姆演示了如何通过在部署包中包含开源Lambda运行时来实现这一点,这个过程与现有的.NET Core应用程序无缝集成。他展示了一个针对.NET Core 3.0的项目,该版本目前尚未被Amazon Lambda提供的运行时支持。

诺姆的演示证明了团队致力于为开发人员提供最新的工具。通过利用自定义运行时,开发人员可以走在曲线的前面,尝试新技术,并推动.NET应用程序在Amazon Lambda上的可能性。该演示涉及包含Amazon.Lambda.RuntimeSupport NuGet包、创建主方法作为入口点,以及将应用程序作为包含所有必需的.NET Core代码的自包含包进行部署。

Lambda支持领域的另一个重大更新是Lambda Layers的引入。Layers提供了一种强大的机制,可以将常见的代码依赖项捆绑到一个单独的层中,该层可以在多个Lambda函数之间共享。诺姆引导观众完成在Amazon Linux环境中创建优化层的过程,展示了这一功能如何通过预先JIT编译所包含的程序集来显著改善冷启动时间。他演示了,通过在创建层时启用包优化,使用该层的函数的冷启动时间减少了约一半,从大约1秒降至500毫秒。

能够在多个函数之间共享常见依赖项不仅可以简化开发过程,还可以减小整体部署包的大小,从而提高性能和成本效率。诺姆的演示突出了团队致力于解决开发人员面临的现实挑战,为他们提供可以提高生产力和优化资源利用的工具。

过渡到第二个主要主题,诺姆阐明了团队为使ASP.NET Core开发人员能够无缝利用亚马逊云科技服务所做的努力。他确定了三个关键领域取得了重大进展:身份验证和身份识别、配置管理和数据保护。

在身份验证和身份识别领域,诺姆介绍了一个新的库,旨在将亚马逊云科技Cognito用户池与最少的努力集成到ASP.NET Core应用程序中。该库简化了实现健壮身份验证机制的过程,消除了开发人员管理复杂SQL服务器实例或处理复杂密码管理系统的需求。通过利用Cognito的密码管理和用户身份验证最佳实践,开发人员可以专注于交付核心应用程序功能,同时确保安全无缝的用户体验。诺姆演示了如何配置Cognito用户池和应用程序客户端、检索必要的设置,并通过在启动类中添加几行代码将它们集成到ASP.NET Core应用程序中。

配置管理是应用程序开发的另一个关键方面,通过引入一个库,允许开发人员从亚马逊云科技Systems Manager Parameter Store获取配置设置。这种方法消除了将配置设置捆绑在应用程序本身中的需求,促进了更加安全和灵活的部署模型。诺姆演示了如何通过添加Amazon.Extensions.Configuration.SystemsManager NuGet包并修改程序文件从Parameter Store层次获取参数,将该库集成到现有的ASP.NET Core应用程序中。

第三个重点领域是数据保护,这是任何现代应用程序的关键方面。诺姆介绍了一个旨在确保用于防伪令牌的加密密钥在 Lambda 计算环境中共享的库。该功能解决了开发人员在部署无服务器应用程序时面临的一个常见挑战,即函数重启可能导致加密密钥丢失,从而可能危及应用程序安全性。诺姆展示了加密密钥丢失如何导致 ASP.NET Core 表单使用的防伪令牌出现问题,从而在函数重启后导致登录失败。随后,他演示了如何简单地将 Amazon.Extensions.DataProtection.SystemsManager 库集成到现有的 ASP.NET Core 应用程序中,只需在启动文件中更改几行代码,以指定用于在参数存储中存储加密密钥的密钥前缀。

在整个炉边聊天中,诺姆强调了团队致力于为使用亚马逊云科技服务的 .NET 开发人员提供无缝的开发体验。他展示了如何将现有的 ASP.NET Core 应用程序部署为在亚马逊云科技 Lambda 上运行的无服务器应用程序,可以通过 Visual Studio 或命令行工具进行部署。这种灵活性使开发人员能够选择最适合其工作流程和偏好的开发环境,同时仍能受益于亚马逊云科技 Lambda 的强大功能和可扩展性。诺姆演示了 Visual Studio 中可用的各种部署选项,包括 Elastic Beanstalk、Docker 容器和亚马逊云科技 Lambda。对于 Lambda 部署,他逐步介绍了必要的项目文件更改,例如将项目类型设置为 Lambda 项目,并包含所需的 Lambda 入口点和配置文件。

诺姆还谈到了最近将亚马逊云科技 SDK for .NET 的目标设置为 .NET Standard 2.0 的决定,与 Microsoft 的指导方针保持一致,并促进了跨各种 .NET 平台(包括 Xamarin 和 Unity)的更加统一和精简的开发体验。他解释说,虽然 SDK 当前支持与 .NET Core 1.0 兼容的 .NET Standard 1.3,但 Microsoft 鼓励库开发人员将其支持重新定位到 .NET Standard 2.0,以解决依赖关系解析问题。目标是将 SDK 针对不同平台的单独分支合并为一个强大的 .NET Standard 2.0 版本。

在讨论临近尾声时,Steve Roberts对Norm的见解以及团队持续增强亚马逊云科技开发工具为.NET所付出的努力表示感谢。在这次炉边聊天中所涉及的更新,从自定义运行时和层到与亚马逊云科技服务的无缝集成,凸显了亚马逊云科技致力于赋予.NET开发者权能并在云计算领域促进创新的决心。

总而言之,这次炉边聊天见证了亚马逊云科技与.NET社区之间的协作努力,开发者的需求和挑战都得到了仔细考虑,并精心制定创新解决方案来应对。通过提供新工具和服务,亚马逊云科技正为.NET应用程序在云端蓬勃发展铺平道路,利用无服务器计算的强大功能,并与众多亚马逊云科技服务无缝集成。随着云计算世界不断演进,可以预期亚马逊云科技将继续走在前沿,不断推进可能性的边界,赋予开发者创建真正现代化和创新的.NET应用程序的能力,重新定义可扩展性、性能和用户体验。

总结

在这场富有吸引力的炉边聊天中,Norm Johanson,一位来自亚马逊云科技的.NET开发者倡导者,分享了亚马逊云科技针对.NET开发工具的令人兴奋的进展。讨论主要围绕两个主题:扩展Lambda支持和让ASP.NET Core开发者更容易利用亚马逊云科技服务。

首先,Johanson演示了开发者现在可以在亚马逊云科技Lambda上使用自定义.NET Core运行时,使他们能够利用最新的.NET Core版本,包括预览版,而无需等待亚马逊云科技发布新的运行时。他还展示了新的Lambda Layers功能,允许开发者将依赖项打包到层中,从而减小部署包的大小,并通过包优化改善冷启动时间。

其次,Johanson介绍了新的库,简化了与亚马逊云科技服务的集成,如Amazon Cognito用于身份验证,亚马逊云科技Systems Manager Parameter Store用于配置管理,以及亚马逊云科技Data Protection用于防伪令牌。他通过实际示例演示了这些库如何简化将亚马逊云科技服务集成到ASP.NET Core应用程序的过程,只需最少的代码更改。

此外,Johanson强调了亚马逊云科技SDK for .NET最近将目标转移到.NET Standard 2.0的举措,与Microsoft的指导方针保持一致,并简化了SDK对各种平台(如Xamarin和Unity)的支持。他还提到了正在进行的工作,将SDK的不同分支合并为单一的.NET Standard 2.0版本。

总之,本次会议为.NET开发者提供了有关亚马逊云科技最新工具更新的宝贵见解,使他们能够现代化应用程序、利用无服务器架构,并无缝集成亚马逊云科技服务到项目中。

亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者。提供200多类广泛而深入的云服务,服务全球245个国家和地区的数百万客户。亚马逊云科技致力于成为企业构建和应用生成式AI的首选,通过生成式AI技术栈,提供用于模型训练和推理的基础设施服务、构建生成式AI应用的大模型等工具、以及开箱即用的生成式AI应用。深耕本地、链接全球 – 在中国,亚马逊云科技通过安全、稳定、可信赖的云服务,助力中国企业加速数字化转型和创新,并深度参与全球化市场。

你可能感兴趣的:(AWS)