公司Squarespace 位置纽约,纽约 行业软件即服务,网站建设平台

挑战

2014年从一个庞然大物microservices“解决一个问题在发展方面,但它推动这个问题的基础设施团队,”凯文·林奇说,现场主管工程师团队在Squarespace可靠性。“基础设施部署过程我们5000年VM主机上大家正在放缓下来。”

解决方案

团队尝试了容器编制平台,并发现Kubernetes“我们已经回答了所有的问题,”林奇说。该公司于2016年开始在自己的数据中心运行Kubernetes。

影响

Squarespace搬到Kubernetes以来,结合现代化网络堆栈,部署时间已经减少了近85%。之前,他们的VM部署需要半个小时;现在,林奇说,“有人可以生成一个模板化的应用程序,将其部署在五分钟内,集装箱实际实例,运行在我们的登台环境。”Because of that, "productivity time is the big cost saver," he adds. "When we started the Kubernetes project, we had probably a dozen microservices. Today there are twice that in the pipeline being actively worked on." Resilience has also been improved with Kubernetes: "If a node goes down, it's rescheduled immediately and there's no performance impact."

自2003年开始在一个宿舍,Squarespace使得数以百万计的人可以简单的创建自己的网站。

在幕后,不过,该公司的整体Java应用程序是使事情没有这么简单的开发人员不断完善平台。所以在2014年,公司决定“microservices路径,”凯文·林奇说,主管工程师Squarespace网站可靠性的团队。“但是我们总是在vCenter VMware虚拟机部署我们的应用程序(在我们自己的数据中心)。Microservices解决一个问题在发展方面,而是团队推动这个问题的基础设施。我们5000年VM主机上的基础设施部署过程大家正在放缓下来。”

尝试另一个容器后编制平台和“以非常痛苦的方式打破它,”林奇说,研究小组在2016年中期开始尝试Kubernetes,发现它“回答了所有的问题。”Deploying it in the data center rather than the public cloud was their biggest challenge, and at the time, not a lot of other companies were doing that. "We had to figure out how to deploy this in our infrastructure for ourselves, and we had to integrate it with our other applications," says Lynch.

同时,Squarespace网络工程团队的现代化网络堆栈,从传统的网络层切换到第三层spine-and-leaf网络。“映射美丽与Kubernetes我们想做的事情,”林奇说。“它能让我们有我们的服务器与top-of-rack开关直接沟通。我们用棉布来为Kubernetes有限公司网络,所以我们可以宣布所有这些个人Kubernetes pod IP地址,让他们与我们的其他服务无缝集成在一起,仍在vm配置。”

几个月之内,他们有一个稳定的集群内部使用,并开始推出Kubernetes生产。他们还添加了Zipkin CNCF项目普罗米修斯fluentd他们的云本地堆栈。“我们改用Kubernetes,一个新的世界,我们修改了所有其他工具,”林奇说。“它允许我们简化我们的过程,所以我们现在可以轻松地创建一个整个microservice项目模板,生成代码和部署管道,生成Dockerfile,然后立即船一个可行的、可部署的项目Kubernetes。”Deployments across Dev/QA/Stage/Prod were also "simplified drastically," Lynch adds. "Now there is little configuration variation."

,整个过程只需要5分钟,几乎时间减少85%相比,他们的VM部署。“从头到尾地,大概花了半个小时,这不是占这一事实基础设施工程师将负责做,所以有一些业务延迟。”

用更快的部署,“生产力节省时间是最大的成本,”林奇说。“我们有一个团队,是实现一个新的文件存储服务,他们刚刚开始整合,与我们的存储后端没有我们的参与”——Kubernetes之前就不可能有。他补充说:“当我们开始Kubernetes项目时,我们有可能打microservices。今天有两倍的管道被积极参与。”

也有积极的影响应用程序的能力。“当我们部署vm时,我们必须构建工具来确保服务跨越架适当,可以承受失败,”他说。“Kubernetes只是它。如果一个节点出现故障,立即重新安排并没有性能影响。”

另一个很大的好处是自动定量。“可能并不是真的与我们已经使用VMware的方式,”林奇说,“但是现在我们可以通过Kubernetes直接添加适当的自动定量特性,和繁荣,这是扩大需求增加。和它的工作。”

为他人开始Kubernetes,林奇说他的最好的建议是“快速失败”:“一旦你计划的事情,只是执行。Kubernetes已经真正伟大的尝试很快,看它是否有效。”

(merrill Lynch)和他的团队正在计划他们已经开发了开源的工具来扩展Kubernetes并使用它作为API本身。第一个工具,就象一个豆荚里的容器注入依赖应用程序。“当你船应用程序,通常还有一大堆依赖需要附带的应用程序,例如,fluentd日志记录,”他解释说。有了这个工具,开发人员不需要担心配置。

展望未来,所有新服务进入Kubernetes Squarespace,最终目标是把一切都可以。大约四分之一的现有服务迁移。“我们的整体应用程序将会是最后一个,因为它太大而复杂,”林奇说。“但现在我看到其他服务得到感动,像文件存储服务。有人刚刚worked-painlessly。所以我认为如果我们解决它,它可能会更容易比我们的恐惧。也许我应该把我自己的建议,快速失败!”

Baidu