Kief Morris:实现基础设施即代码

简介:

将应用程序迁移至云端在不知不觉中已经走向普及化、商品化,不仅仅是大企业可以实现,对于注重应用程序灵活性和资源应用的小企业,这也是一项很好的选择。在QCon New York 2016大会上,ThoughWorks公司云实践领导人Kief Morris给出了题为“实现基础设施即代码”的演说,他分享了如何充分利用基于云端的基础设施的一些关键原则和建议。

为了引出后面的讨论,Morris首先阐述了使用云基础设施的动机和挑战。通常情况下,公司会着重于速度——用最快速度获得一个最小化可行的产品投放于市场,之后再慢慢改进它。云技术为这种做法扫除了很多障碍,但与此同时仍然存在一些风险,比如在安全性、性能或是稳定性方面的风险值得大家注意。

总体目标必须在提高速度的同时,仍有所保留。需要快速修复一切会影响产品质量的东西,而不是在故障发生之后再进行修复,并且在最后拿出的是总体质量很高的产品。

Morris接着提出了,仅仅用鼠标点击搭建服务器还是远远不够的。这往往会导致产生大量服务器,并造成配置漂移。由于不一致的服务器很难自动化维护,要维护这些服务器需要手动完成,这就会造成更多的不一致。

基础设施即代码就是在这种环境下引入的,它可以解决这些问题,并搭建严格定义的服务器:使用类似Puppet或者Chef工具的“无人自动化”模式。这些工具可以按进度自己运行,而不需要人工介入做出修改。在底层模板和配置,即使是很小的问题也需要得到妥善修复,最后才能产生不变的或是高度集成化的服务器,而不需要手动维护。在不同环境下搭建服务器的时候也必须借鉴这个方法。尽可能多地在不同阶段重复使用模板和配置。

自动化操作节约了大量人力劳动,Morris还提到了使用持续交付对于软件质量保证起到很大的作用。通过自动化交付,引入管道化步骤检验服务器配置的正确性,保证每一个安全要求都得到满足,所以在最终产生产品之前,每一个变化都会在不同阶段进行测试。通过使用自动化手段,可以有效地管理过程。

Morris讲述了更多的优势,但是它还是有一些缺点缺陷的。正如在其他被多个团队开发和维护的系统一样,你必须关注到其中的整合点、瓶颈以及相互之间的依赖。比如说,你需要提供为服务测试实例并利用消费者或是合同来促进测试,这可以确保所有服务按照计划合作工作。如果部分的模板或是配置像共享库一样使用,在交给其他团队之前还需要进行彻底测试。

Morris在最后还是强调了人们从自动化开发系统中可以获得的根本利益:

快速发展和准备 毫不费力地修复错误 保持服务器一致性 专注于创造的价值
请注意,很多QCon大会的演说会在会后几周内在InfoQ网站上免费提供。
本文转自d1net(转载)

相关文章
|
1月前
|
运维 持续交付 云计算
云计算中的基础设施自动化:IaC(基础设施即代码)的崛起与实践
云计算中的基础设施自动化:IaC(基础设施即代码)的崛起与实践
44 0
|
存储 运维 监控
容器云PaaS平台建设中应关注的重点和难点
对于企业级容器云PaaS平台,在多集群管理的模式下,每一个功能都会变得非常复杂。对于建设中的重点和难点,从以下多个方面进行了详细的方案分析和设计实现。
|
搜索推荐 应用服务中间件 API
如何从0到1构建一个极简的基础架构设施
分享如何从0到1构建一个适合个人和小团队的基础架构设施
167 0
|
弹性计算 运维 Kubernetes
【云计算】历史的选择-基础设施即代码IaC
历史必然的选择,基础设施即代码
【云计算】历史的选择-基础设施即代码IaC
|
数据中心
数据中心模块化和标准化(5-2)
本文引用图片为网络公开材料的图片或笔者自行创作图,尽量从个人专业角度解释一些人们本该了解并一直没弄清楚技术本质,不代表本人所在公司的任何观点和看法;论述针对技术和科学本身,不针对任何公司的技术或产品;
716 0
|
数据中心 Perl
数据中心模块化和标准化(5-4)
本文不代表本人所在公司的任何观点和看法;论述针对技术和科学本身,不针对任何公司的技术或产品;更多是提出问题并给出思考推导过程。
970 0
|
数据中心
数据中心模块化和标准化(5-1)
近几年,数据中心发展如火如荼。伴随云计算、大数据、物联网等从概念到实践,作为支撑这些业务发展的数据中心基础设施行业面临巨大的机遇和挑战。
1055 0
|
数据中心
数据中心模块化和标准化(5-5)
本文不代表本人所在公司的任何观点和看法;论述针对技术和科学本身,不针对任何公司的技术或产品;更多是提出问题并给出思考推导过程。
1032 0