QCon 全球软件开发大会(北京站)门票 9 折倒计时 4 天,点击立减 ¥880 了解详情
写点什么

干研发更喜欢无服务器,搞 DevOps 偏爱容器?

2019 年 1 月 10 日

干研发更喜欢无服务器,搞DevOps偏爱容器?

根据 DevOps Pulse 调查,2018 年无服务器采用率从 30.55%上升到 42.58%。在采用者中,28.54%从事研发工作,44.26%从事 DevOps、DevSecOps、SysAdmin 或 SRE 工作。


无服务器计算是当前的热门话题,甚至热度超过 Docker 容器。当然,技术圈内的口水战从来不会因为技术发展而停止。过去一年,关于无服务器计算可能取代容器的言论甚嚣尘上。搞好了,无服务计算可以和容器相辅相成;搞不好,不仅面临绑定风险还可能耗费高昂成本。


无服务器与容器现状

自 Docker 出现开始计算,容器已经走过漫长的一段路。目前,不少企业在容器上运行越来越复杂的应用,生态系统也越来越完善。大型互联网公司,比如阿里巴巴,在容器层面进行了不少自研工作。通过解决基础架构层的问题,目前容器已经可以提供与语言和运行时无关的解决方案,这非常适合现代 IT 架构,即使用不同的语言构建微服务。


围绕无服务器的炒作显然没有容器那么长,除了托管服务外,一些解决方案可让用户在自己的 Kubernetes 集群上运行无服务器,比如谷歌与其合作伙伴所做的工作。虽然这些解决方案试图满足开发人员的所有需求,但不免让人感觉已经开始放弃无服务器的最大优势——不必担心服务器!


适用场景

虽然无服务器计算可以和容器一起使用,但研发人员还是需要清楚各自的使用场景。


无服务器计算更倾向于处理网站或移动应用程序的后端任务,该任务相对快速且简单,可以根据需要执行,不会占用太多前端时间或资源;负责高容量的后台进程,比如将数据移动到长期存储设备上,或者转换、处理和分析数据,无服务器可以协调各个数据库,这一点也很关键;实时数据流处理和上传,无服务器可以解析、过滤传入数据流;将资源密集型实时进程挪出主应用,避免占用过多资源。


相比较而言,容器更适合需要长期运行、性能可掌握的大规模应用程序。由于二者的不同特点,容器比无服务器更容易实现弹性,并且更容易接触底层架构以调整性能、可用性和易用性等之间的关系。


优劣对比

众所周知,无服务器计算并不是没有服务器,这只是相对用户体验而言,服务器由云供应商统一管理、配置,开发人员只需专注代码层面即可,无需操心底层细节,这可能就是技术研发人员更喜欢无服务期计算的原因。


对企业而言,这种方式很容易被供应商锁定,而且很可能与单一云供应商的绑定越来越紧密,企业试图找到解决方案但往往会陷入另一种形式的绑定中,比如私有云。此外,不少企业在运行应用程度时其实希望了解底层基础设施的状况,以此调整一些性能指标。但是,无服务器计算无法让企业掌握这些信息,这既是它的优势也是它的劣势。当然,不少云供应商在积极尝试解决这些问题,只是还都处于早期阶段。


容器在很多方面都可以做得比无服务器计算更优,比如更适合运行大规模复杂应用程序,容器可以将其拆分为微服务;可以很容易掌握整个虚拟化基础架构,这可能也是 DevOps 人员偏爱容器的原因之一;在了解架构的基础上,技术人员可以进行适当的测试和调整。


投入成本

风险总是与回报并存,无服务期计算虽然有不足,但可以节省不小一笔开支,比如基础设施成本、人力成本等,同时免于承担设置基础设施的责任。


但是,构建基于容器的通用计算平台需要大量具备专业知识的人才和一笔不小的投资,该平台与 AWS Lambda 等无服务器产品一样高效,可扩展且具有弹性。大多数企业根本没有能力解决过程中的问题。往往是投入了大量时间和金钱,最终还是竹篮打水一场空。


未来是无服务器还是容器?

无服务器可大幅提升生产力,但却以控制基础架构为代价。开发人员纠结得往往是选择哪种方式运行应用程序。最终,无服务期计算和容器大概率会趋向协同,无服务器计算可能会更加开放,允许用户自己选择容器。高级用户甚至可通过提供符合 API 的子组件进行日志记录等保留对基础架构的控制。


2019 年 1 月 10 日 16:597051
用户头像
赵钰莹 InfoQ高级编辑

发布了 695 篇内容, 共 408.8 次阅读, 收获喜欢 2271 次。

关注

评论

发布
暂无评论
发现更多内容

盘点2020 | 寒门难出贵子,我当程序员让爸妈在老家长脸了

爱笑的架构师

Java 程序员 程序人生 编程之路 盘点2020

智能合约Dapp系统开发,区块链智能合约技术

薇電13242772558

区块链 智能合约

光知道SpringBoot,不用thymeleaf就太不对了

小Q

Java 学习 编程 面试 Spring Boot

Swift函数调用逆向分析

ios swift

区块链落地应用开发- 珠宝溯源,不当“冤大头”

13828808769

区块链技术 区块链落地开发 珠宝溯源

生产环境全链路压测建设历程13:淘宝网稳定性近十年发展历程 2009年-2019年

数列科技杨德华

全链路压测 七日更

Netty RPC Demo 实现

Java RPC Demo

Himly TCC Dubbo 程序示例

Java 分布式事务 dubbo TCC Himly

03-week4-homework

J

极客大学架构师训练营

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?

我们新四军不拿群众一针一线

阿里9年老开发终于总结出微服务架构设计模式PDF了

小Q

Java 学习 编程 架构 面试

六度空间系统APP开发|六度空间软件开发(现成)

开發I852946OIIO

系统开发

架构师训练营 -week13-总结

大刘

极客大学架构师训练营

DeFi流动性挖矿系统APP软件开发

开發I852946OIIO

系统开发

如何透彻理解 Redis 核心原理?怎样才能形成 Redis 系统观?

Java架构师迁哥

互联网架构总结

J

极客大学架构师训练营

字节首发Redis笔记,基础+原理+应用+源码+拓展五大核心模块

Java架构追梦

Java redis 编程 架构 面试

流动性挖矿DAPP软件系统开发

开發I852946OIIO

系统开发

测开之数据类型· 第4篇《迭代器、生成器》

清菡

测试开发

智慧平安社区平台建设app,公安大数据分析系统开发

WX13823153201

智慧平安社区平台建设

某程序员刷完这两份pdf轻松拿下了蚂蚁金服、头条、小米等大厂的offer。

Java成神之路

Java 程序员 架构 面试 编程语言

Week 13

黄立

第四周 系统架构 作业 「架构师训练营 3 期」

feiyun123

极客大学架构师训练营

世界之书:《人类简史》与想象中的共同体

lidaobing

28天写作

2020年文章合集

Rayjun

海量小文件存储系统HOS探索与实践

Galaxy数据平台

OSS 对象存储 HBase 大数据平台 GEEDGE NETWORKS

懒人神器——新手必备的图片后期处理软件

懒得勤快

图片后期 修图 滤镜 ps

字节三面远程,Java+Redis+网络+数据库+算法,轻松反杀面试官?

Java成神之路

Java 程序员 架构 面试 编程语言

冰河,能不能讲讲如何实现MySQL数据存储的无限扩容?

冰河

MySQL 分布式存储 海量数据 mycat 可扩展

架构师训练营 -week13-作业

大刘

极客大学架构师训练营

Java渣渣外包开发3年,4面终揽下美团面试官,含泪拿到22koffer

比伯

Java 编程 程序员 架构 面试

边缘计算隔离技术的挑战与实践

边缘计算隔离技术的挑战与实践

干研发更喜欢无服务器,搞DevOps偏爱容器?-InfoQ