Kubernetes 落地案例|WePay: Kubernetes 改变了我们的业务

我们听说了很多关于容器编排执行得好,就能够流水化 IT 和业务流程的信息。3 月,在谷歌云平台会议上,我们在电子支付提供商 WePay 的实践中看到了成功。WePay 打破了单个程序到一套通过谷歌开源平台 Kubernetes 容器编排引擎来合作的模式。

“它真的改变了我们的业务,”,Richard Steenburg(WePay 的首席工程师)在后续的采访中说道。“Kubernetes 不会让你觉得做什么都束手束脚,相反,它为你要做的事情提供了基础。”

这周,谷歌发布了 Kubernetes 的最新版本,1.3 版本是一个“企业友好型”平台,比如说它支持有状态应用程序。

WePay 创建了 PCI 认证系统,用来处理信用卡支付,作为业务和用户之间的中间商。一开始是这样的,公司创建服务来作为单个应用程序,并且用 PHP 来处理主要部分。之后公司遭遇了令人苦恼的性能问题,妨碍了整体的系统的运行。比如,API 日志服务只用来进行内部找 bug,频繁地查询数据库,以至于拖慢了性能。

公司正处于把这个服务分解成更小的服务阶段。把单应用分解成粒度更小的服务同时,冻结了新功能的开发。

从目前看,Kubernetes 恰好会为 WePay 提供公司所需的灵活性来扩展到新的方向。“我们在路标上就可以看到能够帮助我们的功能,”Steenburg 说道。

183137_hehx_2668812.jpeg

WePay 转型到基于服务的解决方案,几个步骤就到它展开的架构。首先,开发团队剥去一些功能,将他们添加到 Docker 容器。开发过程仍然涉及到创建单个容器,所以 WePay 会继续使用 Ansible,每个虚拟机安装一个容器。

使用 SCM(软件配置管理)产品,比如 Ansible 就有它自己面临的挑战。换句话说,WePay 无法将服务进行自动伸缩。

“对于每次部署,如果你想要添加更多,你需要回滚,并且修改配置脚本,所以伸缩非常手工化,而且每次回滚的时候,都会有故障停机的风险,因为你实际上修改了部署它的东西,以此来处理更多节点。” Steenburg 说道。

Steenburgh 认为,Ansible 确实有滚动更新的能力,这点可以节约时间。这是 Kubernetes 提供的一个打开即用的方便功能。所以,对于公司来说,首先要迁移到 Kubernetes。

首先,Kubernetes 在重新思考架构的时候,确实提出了一个问题。特定的 jobs 将不再跟特定的一套机器绑定。公司不得不用把 job 的操作当成纯状态机,由一整套完全独立于硬件的关联进程组成,并且没有任何特殊的硬件需求。“我觉得这很不错,因为你的模型很纯粹,你不会想脱离它。” Steenburg 说道。

另一个使用 Kubernetes 的初始的挑战就是,开源编排引擎并没有加密信息流的方法,这也就意味着公司为了维护支付卡行业数据安全标准(PCI)需要自己去加密。当 Kubernetes 将 pods 实例化的时候,给了他们本地主机名,这样的话 pods 就无法在外网通过第三方证书授权来进行验证。

所以说,公司在 Nginx 和 Kube DNS 的基础上创建了一个 Kubernetes 方面的 pod 来提供内部证书授权(CA)服务,可以用来签署加密消息。

“实现支付很困难。跟银行一起合作处理很困难,跟协调者一起处理也很困难,其实最大的困难在于欺诈和识别欺诈,这是我们很长时间里都会遇到的情况,要做好跟它打长期战的准备,因为这是我们进行我们的业务的时候必然会遇见的。” Steenburg 说道。

现目前的情况看起来,不久之后,WePay 就会有一个足够灵活的架构来攻克这些面临的难题。

 

原文链接:

http://thenewstack.io/wepay-kubernetes-changed-business/?sukey=3997c0719f151520dd1f40fbce22d2d39d64933c7b17206312ddf726e115e875bc430100fff9cb24611fa704c61e8f23

转载于:https://my.oschina.net/caicloud/blog/727442

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值