“ 10 月 18 日,微软 Azure 孵化团队正式发布开源应用平台
Radius,该平台将应用程序置于每个开发阶段的中心,重新定义应用程序的构建、管理与理解方式。”
简单的概括就是,它和Kubernetes不一样,Radius将应用程序放在每个开发阶段的中心——重新定义了应用程序是如何构建、管理和理解的。并且提供了标准化部署和自动化资源配置工具,为开发者和运维团队提供了一个集中化的协作平台。另外,Radius通过其“应用程序图数据”使大家能够全面地查看构建架构。另外,Radius从一开始就是开源和多云的,允许应用程序只写一次,并使用相同的工具集和工作流程部署到任何云或本地基础设施上。
01 是一个基于Kubernetes的协作平台
云计算的发展使得许多公司能够快速创新,但也带来了应用程序的复杂性和管理难度。为了构建和运行可以在任何地方运行的应用程序,许多公司采用了云原生技术,如容器、微服务和Kubernetes等。
Kubernetes作为一个开源的容器编排系统,它可以自动化部署、扩缩和管理容器化应用程序,实现应用程序的可靠性和高效性。然而,这些技术也带来了新的挑战。Kubernetes是一个非常复杂的系统,它需要学习和掌握许多概念、组件和配置。Kubernetes没有对应用程序的正式定义,它混合了基础设施和应用程序概念。Kubernetes也不是一个完整的解决方案,它只提供了计算层面的功能,而应用程序还需要依赖其他的服务和工具,如API、存储、缓存、网络、安全、监控等。
此外,在云中管理应用程序也变得越来越困难。许多公司需要将他们的应用程序部署到多个公共云和私有基础设施上,以满足不同的业务需求和客户偏好。这就需要处理不同云平台之间的兼容性、一致性和成本问题。同时,企业IT也需要执行一系列的标准、合规性和安全性要求。
为了解决这些在开发和运维中出现的不同但相关的挑战,微软推出了这个基于Kubernetes的协作平台,它可以让开发者在任何地方使用任何设备快速地创建、共享和运行基于容器的应用程序。Radius利用了Kubernetes的强大功能,同时隐藏了它的复杂细节,提供了一个简单而友好的用户界面和命令行工具。Radius还集成了一些其他的开源工具,如Helm、Istio、Tekton等,为开发者提供了一站式的服务。
02 Radius平台的主要特点
Radius平台有以下几个主要特点:
简化和一致的应用程序开发体验 :使用相同的应用程序定义,部署到任何云提供商或本地,都有一致的工具集和体验。这些包括自动化资源访问和配置的能力,以及根据每个开发阶段的需求配置环境的能力。
配方(Recipes)和环境(Environments) :通过在开发者和运维人员之间清晰地分离关注点,标准化和扩展部署。Radius配方是可以预先定义的模板,它可以自动化基础设施资源和环境配置的配置,可以设计成符合成本、安全和合规性标准。Radius环境是应用程序的运行时上下文,它可以包含不同的资源组(Resource Groups)和连接(Connections)。
资源组(Resource Groups)和连接(Connections) :管理应用程序的组成部分和依赖关系。Radius资源组是一组相关的资源,如容器、服务、存储等,它们可以使用任何语言或框架编写,只要它们可以运行在容器中。Radius连接是一种抽象的方式,它可以让开发者使用一致的API来绑定到不同的后端资源或基础设施,如Redis、Mongo、Dapr等。
应用程序图(Application Graph):获得对应用程序组成资源和关系的可视化。Radius在开发活动中捕获了应用程序中资源之间的关系,这些关系可以反过来被查询和理解。它还提供了一个图形界面,它可以显示应用程序的结构和状态,并支持对资源进行操作和监控。
跨平台、云提供商和本地的一致体验 :满足多云架构的需求,使用相同的工具集在任何云上部署和运行应用程序。无论应用程序是部署到Azure、AWS还是本地,编写、部署和管理体验都保持不变。Radius还支持与其他云服务集成,如Azure CosmosDB、AWS DocumentDB等。
03 如何使用Radius
下面简单说下使用Radius平台的基本流程:
1、注册一个Microsoft账户,并登录Radius网站。
2、创建一个新的项目,并选择一个预定义的配方或自定义配置。
3、下载并安装Radius客户端工具,并在命令行中输入radius login,然后按照提示输入你的Microsoft账户信息。
4、在命令行中输入radius clone ,将你在网站上创建的项目克隆到本地。
5、使用你喜欢的代码编辑器打开项目文件夹,并修改或添加代码。你可以使用任何语言或框架来编写你的应用程序,只要它可以运行在容器中。
6、在命令行中输入radius push,将你的代码推送到Radius服务,并自动部署到你的Kubernetes集群中。
7、在浏览器中访问你的应用程序的URL,查看运行结果和性能指标。
8、在Radius网站上查看你的应用程序图,了解你的应用程序的结构和状态,并进行管理和监控。
04 Radius项目的未来计划
Radius项目目前还处于早期阶段,它还有很多功能和特性需要完善和增加。社区会计划在未来实现以下一些目标:
1、支持更多的云服务商和云服务,如Google Cloud Platform、Azure CosmosDB、AWS DocumentDB等。
2、支持更多的开源工具和框架,如Dapr、Mongo、Redis等。
3、支持更多的应用程序类型和场景,如Web应用、移动应用、微服务应用、机器学习应用等。
4、支持更多的开发语言和环境,如Python、Java、Node.js等。
5、支持更多的配方模板和示例项目,以帮助用户快速入门和学习。
6、支持更多的协作功能和社区活动,以促进用户之间的交流和分享。
参考:
https://radapp.io/
https://github.com/radius-project/radiushttps://cloudblogs.microsoft.com/opensource/2023/10/18/enabling-developer-collaboration-with-radius/