博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kief Morris:实现基础设施即代码
阅读量:6706 次
发布时间:2019-06-25

本文共 1116 字,大约阅读时间需要 3 分钟。

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

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

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

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

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

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

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

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

快速发展和准备 毫不费力地修复错误 保持服务器一致性 专注于创造的价值

请注意,很多QCon大会的演说会在会后几周内在InfoQ网站上免费提供。
本文转自d1net(转载)

你可能感兴趣的文章
hdu 5400 Arithmetic Sequence(模拟)
查看>>
求职(2015南京站获得百度、美的集团、趋势科技、华为offer)
查看>>
压测 apache ab 初探
查看>>
设计数据结构O1 insert delete和getRandom
查看>>
视图(View)与部分视图(Partial View)之间数据传递
查看>>
漫谈程序猿系列:群星闪耀的黄金时代
查看>>
使用Spring Session做分布式会话管理
查看>>
mongodb的NUMA问题
查看>>
js进阶 12-14 jquery的事件触发函数是哪两个
查看>>
艾伟也谈项目管理,产品版本改造中的项目管理
查看>>
HP官方提供的LR在线基础视频教程
查看>>
yii 隐藏index.php
查看>>
OEA框架学习:使用动软代码生成器
查看>>
[置顶] LLVM每日谈之十五 LLVM自带的examples
查看>>
网速4M等于多少KB/S,等于多少kbps
查看>>
MySQL MERGE存储引擎 简介
查看>>
asp.net mvc3 数据验证(二)——错误信息的自定义及其本地化
查看>>
atitit。自己定义uml MOF EMF体系eclipse emf 教程o7t
查看>>
atitit.taskService 任务管理器的设计 v1
查看>>
编写jquery插件的分享
查看>>