公司城市蒙特利尔 位置蒙特利尔,魁北克,加拿大 行业政府

挑战

像许多政府,蒙特利尔有很多遗留系统,和“我们的系统比一些开发人员工作在这里,”说,城市的首席技术官,让•马丁•蒂博。“我们有主机,所有口味的窗户,各种风格的Linux,新旧Oracle系统中,Sun服务器、各种各样的数据库。像所有的大公司,一些最重要的系统,如预算和人力资源,开发主机内部在过去30年里。”There are over 1,000 applications in all, and most of them were running on different ecosystems. In 2015, a new management team decided to break down those silos, and invest in IT in order to move toward a more integrated governance for the city. They needed to figure out how to modernize the architecture.

解决方案

第一步是集装箱化。团队开始一个小码头工人与四个或五个服务器农场,农场主提供访问集装箱码头工人和他们的日志和詹金斯部署。“我们我们的努力基于新趋势;我们理解的不变性和部署的好处没有停机时间和这样的事情,”解决方案架构师马克Khouzam说。他们很快意识到他们需要编排,选择了Kubernetes。企业架构师摩根严肃的说:“Kubernetes提供概念如何描述为任何类型的应用程序架构,并基于这些概念、部署所需的运行基础设施。这是成为一个事实上的标准。”

影响

上市时间已大大改善,从几个月到几个星期。部署从几个月到小时。“在过去,你将不得不要求虚拟机,这就可能需要几周,容易,“蒂博说。“现在你甚至没有要求任何东西。您只需创建您的项目和部署。”Kubernetes has also improved the efficiency of how the city uses its compute resources: "Before, the 200 application components we currently run on Kubernetes would have required hundreds of virtual machines, and now, if we're talking about a single environment of production, we are able to run them on 8 machines, counting the masters of Kubernetes," says Martinet. And it's all done with a small team of just 5 people operating the Kubernetes clusters.

第二大直辖市在加拿大,蒙特利尔政府大量的遗留系统保持运行。他们不可以追溯到1642年成立的,“我们的系统比一些开发人员,“笑话的首席技术官,让•马丁•蒂博。

“我们有主机,所有口味的窗户,各种风格的Linux,新旧Oracle系统中,Sun服务器、各种各样的数据库。一些最重要的系统,如预算和人力资源,开发主机内部在过去30年里。”

近年来,这一事实成为一大难点。有超过1000个应用程序,运行在几乎与许多不同的生态系统。2015年,一个新的城市管理团队决定打破这些筒仓,并投资于秩序朝着更加综合治理。“组织是孤立的,所以架构是孤立的,“蒂博说。“一旦我们得到综合成一个团队,我们决定重做整个企业架构。”

现代化建筑是集装箱化的第一步。“我们我们的努力基于新趋势;我们理解的不变性和部署的好处没有停机时间和这样的事情,”解决方案架构师马克Khouzam说。团队开始一个小码头工人与四个或五个服务器农场,为农场主提供的集装箱码头工人和他们的日志和詹金斯部署。

但这码头工人农场设置了一些限制,包括缺乏自我修复和基于流量的动态扩展,和所需的努力优化服务器资源和规模的多个实例相同的容器中。团队很快意识到他们需要编排。“Kubernetes过来解围,“蒂博说,“将在所有这些特性,使它更容易管理,给用户更多的好处。”

团队评估了编制解决方案,但是Kubernetes脱颖而出,因为它解决所有的痛点。(他们也受到雅虎!日本的用例,团队成员感到接近他们的视力。)“Kubernetes概念如何描述为任何类型的应用程序架构,并基于这些概念、部署所需的运行基础设施,“企业架构师摩根说严格。“这是成为事实上的标准。它还承诺跨云提供商可移植性。Kubernetes现在给了我们许多的选择选项,例如运行集群内部或任何IaaS供应商,甚至在任何主要的云提供商使用Kubernetes-as-a-service。”

另一个重要的因素在决定是厂商中立。“作为一个政府机构,对我们来说是至关重要的是我们选择中性的产品和供应商,“蒂博说。“原生云计算基础的独立性从任何公司提供了这个。”

Kubernetes实现开始部署小型集群使用一个内部Ansible剧本,很快取代了Kismatic分布。鉴于Kubernetes平台操作复杂性他们看到,他们决定为开发团队提供一个自动根据舵CI / CD的解决方案。“一个集成的CI / CD方案Kubernetes标准化的各种开发团队如何设计和部署解决方案,但允许他们保持独立,“Khouzam说。

在重构过程中,团队为监控和报警,还添加了普罗米修斯Fluentd日志,Grafana可视化。“我们有增强可视性的部署,“严肃的说。Khouzam补充说:“最大的好处是我们可以跟踪任何东西,甚至那些不运行在Kubernetes集群。这是我们的方式统一我们的监测工作。”

一起,原生云解决方案产生了积极的影响速度以及管理开销。与标准化、代码生成、自动部署到Kubernetes,通过普罗米修斯和标准化监测,上市时间已大大改善,从几个月到几个星期。部署从月和周的计划时间。“在过去,你将不得不要求虚拟机,独自一人可能要花上几周才能正确地规定,“蒂博说。另外,专用系统,专家们往往将安装他们自己的食谱,这可能要花上几周和几个月。

现在,Khouzam说,“我们可以几乎任何应用程序部署的Dockerized没有任何人的帮助。在Kubernetes项目运行是完全依赖多久你需要实际的软件程序。它不再是依赖部署。部署是如此之快,这是微不足道的。”

Kubernetes也提高了效率的城市利用其计算资源:“之前,200年的应用程序组件我们目前运行在Kubernetes需要数以百计的虚拟机,而现在,如果我们讨论的是一个生产环境,我们能够运行机器,8日计算Kubernetes的大师,“严肃的说。都是完成了5人的小团队操作Kubernetes集群。严肃:“这是一个戏剧性的改善无论你怎么衡量。”

所以应该不足为奇,团队的策略是针对Kubernetes一样。Kubernetes内“如果不能运行,我们将等待它,“蒂博说。这意味着他们没有移动任何城市的Windows系统上Kubernetes,尽管这是他们想做的事情。“我们正在与市场在可能的情况下,向我们的供应商支持Kubernetes施压,因为它是一个更加容易的解决方案来管理,“严肃的说。

蒂博看到不久的将来,60%的城市工作负载运行在Kubernetes platform-basically任何和所有的用例,他们可以在那里工作。“这比我们使用的方式更有效,”他说。“没有回头。”

Baidu