技术雷达:Docker能用于生产环境了,机器学习还远着呢!

简介:

IT圈从来都是热闹的,各种新技术总是层出不穷。但是,不管这些技术如何热,作为企业或者开发者都要审慎地看待他们,这些技术的发展目前到底处于什么阶段?能否能够应用于生产环境?

在最近一期的ThoughtWorks技术雷达的看点中:开源软件已经进入良性循环;Docker可以应用于生产环境;PaaS的定义仍然模糊不清,很多PaaS方法仍然不完整或者受到不成熟的框架和工具的影响;而机器学习还远着呢!

据了解,ThoughtWorks技术雷达是一份不限制行业,技术中立的前瞻性技术报告,小到一个工具和类库,大到平台或者架构,技术雷达都会关注其技术发展趋势。

技术雷达通过图形化方式将各种技术归类为技术、工具、平台、语言和框架四个象限,并按照采用、试验、评估以及暂缓四项指标对这些技术的发展阶段进行划分。其中,采用阶段,雷达强烈主张采用这个阶段的技术;对于试验阶段的技术,雷达认为这个阶段的技术值得追求,并且主张企业重要的是理解如何建立这种能力,企业可以在那些风险可控的项目中尝试该项技术;评估阶段的技术,雷达建议企业只需要对其如何影响企业做一番探究;暂缓阶段的技术,雷达建议要谨慎推行。

开源软件进入良性循环

在技术雷达中,有些最具影响力的软件来自哪些并不以创建软件工具为初衷的公司,比如facebook,它并不是传统的软件开发工具创造者,却贡献了很多雷达条目。与以往不同,如今越来越多的公司将其重要的软件资源开源,以吸引应聘者和实现自身价值。这就创建了一个良性的反馈环:创新的开源产品吸引了优秀的开发者,这些开发者反过来贡献了更多的创新理念。而作为副产品,这些公司的框架和库成为业务最流行的产物。这表明,软件开发生态系统正在发生巨变,并且进一步证明了开源软件的力量。

另一方面,ThoughtWorks CTO徐昊表示,开源已经成为很多企业的特殊选项变成默认选项,企业在选择软件交付技术时会优先考虑开源技术,而企业唯一需要关注的是开源的协议是否与企业自身兼容,从这方面看,已经证明开源软件比绝大部分商用软件更高效。

PaaS的定义仍然模糊不清

“技术雷达是从实践者的角度观察一项技术的成熟度和实用性。例如,Cloudfoudry已经推出了很长时间,但是它的部署还是比较麻烦的,另外,Cloudfoudry和其他PaaS一样,如果将它跟研发流程对接的话,还是会出现很多问题解决起来很麻烦,因此,我们依然认为Cloudfoudry属于试验阶段。”徐昊介绍道。

事实上,按照技术雷达给出的评定,PaaS的定义仍然模糊不清,很多PaaS方法仍然不完整或者受到不成熟的框架和工具的影响,例如使用自定义的服务定位器(Service Locator)或复杂的网络拓扑,让原本在IaaS上很容易的事情变得复杂,并且大家也还在讨论容易能否在拥有更多灵活性的前提下提供类似的服务。

徐昊认为,PaaS带来最大的好处是业务,即在软件开发过程中,有大量的周围环境是确定的,可以以平台化的方式封装在一个云平台内,这时诸如环境部署、扩展性等精力都释放出来,开发人员只需要和核心业务逻辑相关的,将更多的精力用于解决业务问题,最大限度提升软件交付中的直接业务价值,这也是精益开发、敏捷开发所提倡的,对于企业投资者来说,所需要获取的也是更高的开发效率和交付速度。

企业向PaaS迁移会带来很多好处,但是同样也面临许多困难和挑战,特别是在整体流水线设计和工具使用方面。技术使用者要避免在实施具体PaaS时的耦合问题。

Docker可用于生产环境

容器技术,特别是Docker,已经被证实是一种有效的应用管理技术,它方便了不同环境的应用程序部署,解决了“在这里正常工作,但在别的环境下不行”的问题。目前,Docker的应用已经从开发/测试环境进入到生产环境,并且被许多PaaS平台作为其”伸缩单元“和”数据中心OS“平台。

而开发团队之所以喜爱Docker,是因为Docker的镜像格式更容易实现开发和生产环境之间的对等,让部署更加可靠;而作为自包含服务的打包机制,它与应用程序的微服务架构简直是天作之合。在运维方面,Docker对监控工具、编排工具以及kubernetes、Marathon等,以及自动化部署工具的支持反映了平时的日益成熟,做好了用于生产环境的准备。

而随着分布式集群环境下部署容器的需求场景越来越多,Kubernetes作为解决此类问题的容器集群管理框架也被技术雷达评定为试验阶段,这也为Docker提供了管理基础。当然,技术雷达同时也指出,虽然Docker被普遍认为是“轻量级的虚拟化”技术,但是并不推荐将其作为安全进程的隔离机制。

机器学习还太早了

除了以上几项分享,徐昊在接受记者采访时表示:“机器学习在传统企业应用场景中还太早了,现有的机器学习的应用都是个案,还不能满足某一类应用的需要,机器学习是否产生明确的价值还不清楚。因此,机器学习还不能进入到技术雷达的四个象限中。”

相对于机器学习的遥遥无期,徐昊认为VR已经拥有明确的应用场景。在美国澳大利亚等国家和地区,很多企业都接受员工一周有两天在家办公的,如果更多的公司接受员工在家办公,这种方式就会成为主流,那么VR在这方面场景中的应用就是VR视频会议,建立远程办公中体验的存在感。






原文发布时间为:2016年05月10日 
本文作者:作者:赵东
本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。
目录
相关文章
|
6天前
|
机器学习/深度学习 传感器 运维
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
本文探讨了时间序列分析中数据缺失的问题,并通过实际案例展示了如何利用机器学习技术进行缺失值补充。文章构建了一个模拟的能源生产数据集,采用线性回归和决策树回归两种方法进行缺失值补充,并从统计特征、自相关性、趋势和季节性等多个维度进行了详细评估。结果显示,决策树方法在处理复杂非线性模式和保持数据局部特征方面表现更佳,而线性回归方法则适用于简单的线性趋势数据。文章最后总结了两种方法的优劣,并给出了实际应用建议。
32 7
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
|
8天前
|
编解码 机器人 测试技术
技术实践 | 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型快速搭建专业领域知识问答机器人
Qwen2-VL是一款具备高级图像和视频理解能力的多模态模型,支持多种语言,适用于多模态应用开发。通过PAI和LLaMA Factory框架,用户可以轻松微调Qwen2-VL模型,快速构建文旅领域的知识问答机器人。本教程详细介绍了从模型部署、微调到对话测试的全过程,帮助开发者高效实现定制化多模态应用。
|
19天前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
46 4
|
19天前
|
负载均衡 网络协议 算法
Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式
本文探讨了Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式,以及软件负载均衡器、云服务负载均衡、容器编排工具等实现手段,强调两者结合的重要性及面临挑战的应对措施。
47 3
|
21天前
|
运维 Kubernetes Docker
深入理解容器化技术:Docker与Kubernetes的协同工作
深入理解容器化技术:Docker与Kubernetes的协同工作
43 1
|
22天前
|
安全 持续交付 Docker
深入理解并实践容器化技术——Docker 深度解析
深入理解并实践容器化技术——Docker 深度解析
43 2
|
23天前
|
持续交付 开发者 Docker
探索容器化技术Docker及其在现代软件开发中的应用
探索容器化技术Docker及其在现代软件开发中的应用
|
21天前
|
Kubernetes Linux 开发者
深入探索容器化技术——Docker 的实战应用
深入探索容器化技术——Docker 的实战应用
67 0
|
22天前
|
持续交付 开发者 Docker
深入理解并实践容器化技术——Docker篇
深入理解并实践容器化技术——Docker篇
37 0
|
22天前
|
存储 Cloud Native 开发者
深入探索容器化技术——Docker的实战应用
深入探索容器化技术——Docker的实战应用
35 0
下一篇
DataWorks