HashiCorp推进基础设施即程序代码的发展,发布全新的Waypoint开源项目,让开发人员能以一致的工作流程,跨任何平台构建、部署和发布应用程序,用户只要在一个文件中配置,并使用单一举令进行部署,就能将应用程序带到生产环境。
官方提到,开发人员的开发模式,通常需要面对高度的复杂性,尤其是在中大型的组织,必需要理解容器、调度程序、YAML文件以及无服务器等技术,虽然这些技术有助于提升应用程序的功能与性能,但同时也提高了部署应用程序,所需要克服的学习曲线。
而且应用程序部署的位置,又是另一个挑战,根据部署的位置不同,所使用的工具也不一样,像是用于Kubernetes的Docker和kubectl,而虚拟机则可以使用HashiCorp Packer和Terraform,其他无服务器平台则需使用厂商提供的CLI,官方表示,对个人来说,需要大量学习破碎的技能,而对于团队,则会面临一致性和复杂性的挑战。
HashiCorp Waypoint目的在于解决这两个问题,让开发者能够简单地部署应用程序,Waypoint用户只需要使用单一举令waypoint up,就能够将任何应用程序,部署到包括在Kubernetes、Nomad、EC2、Google Cloud Run等平台,而且用户还可以使用扩展组件,扩展构建、部署和发布逻辑。
Waypoint是一个自我托管的软件,用来管理用户基础设施以及平台上的应用程序部署,Waypoint不需要使用HashiCorp提供的任何服务就能够运行。Waypoint可用来部署应用程序,并且对部署进行验证和调试,用户除了可以只用waypoint up指令部署应用程序之外,还可快速共享部署成果,以Waypoint部署的应用程序拥有公开的URL,该URL使用Let’s Encrypt自动生成TLS凭证,让用户可以通过该URL查看部署的应用程序,也能够与团队其他人共享。
用户可以执行命令,控制已部署的应用程序,进行调试或是搬迁数据库等工作,在需要对应用程序进行调试时,也能够通过Waypoint访问应用程序日志,虽然无法代替现有的日志记录解决方案,但是Waypoint能汇总日志资料,供用户从CLI或是网页接口查询。
除了CLI工具之外,Waypoint还提供网页用户接口,供用户查看应用程序的构建、部署和发布情况,目前网页接口只提供只读功能,但之后将会支持更多功能。Waypoint能够使用扩展组件扩展功能,用户可以使用内置的扩展组件,或是自己编写扩展组件,来扩展操作逻辑。