在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

As-a-service 正在重新定义开发人员

  • 2019-10-30
  • 本文字数:2554 字

    阅读完需:约 8 分钟

As-a-service 正在重新定义开发人员

在我看来,目前的发展趋势可能会彻底消灭编写代码这一技能需求。


我还清楚得记得那一天,我们把公司的解决方案从一组广泛分布的数据中心处迁移到了云端。那天是 8 月 15 号,意大利的法定假日。我们本来应该放松一下,但却经历了人生中最艰难的 24 个小时。虽然已经进行了长达几个月的准备,并计划在当年年底之间完成云迁移,但那一天,某座数据中心的故障让我们不得不临时调整规划。实际上,驱使我们选择提前迁移的理由已经相当充分:多年来,我们已经无数次经历过这类与“系统”相关的故障状况,但我们的软件却一直非常可靠。这种不匹配性,让我们下决心尽快摆脱折磨。


那时候的 AWS 服务要比现在简单得多,但它已经能够利用分布式架构帮助用户摆脱托管带来的运营困扰,这也是最吸引我们的一点。对我们来说,这意味着技术人员可以专注于建立品牌文化、忽略大部分硬件与系统问题,同时充分发挥我们在软件开发方面的强大优势。换言之,什么交换机、路由器、刀片服务器、冗余光纤链路等等,从此以后一切与我无关!


我又找到了那种久违的放松感觉,上一次有这种感觉,还是在使用 C 语言代替 x86 ASM 的时候。当时我突然发现自己不用专注于系统的硬件实现,而可以专注于算法本身,这可真是太妙啦。


如果从我的个人角度出发,那么我认为 AWS 的发展转折点在于 AWS S3 的上线。是的,它确实拥有极高的可用性,也能实现无限扩展,同时提供高级接口(通过 HTTP);但对我来说,S3 最重要的优势在于它不属于传统存储方案。



云块存储魔法:需要什么拿什么,怎么来的不用管。


这是一种范式的转变,让我们从系统领域真正转移到了应用领域。我们开始忽略系统的架构或者工作方式,也不需要面对可靠性或者优化问题;现在,我们只需要使用稳定的接口与 SLA,即可有效支持自己的软件方案。虽然云迁移需要一点信念来支撑(我们也曾怀疑云服务在压力下的表现如何?真的能够无缝扩展吗?我们该如何降低延迟?),但在体验到“足够令人满意”的结果后,我们承认自己再也离不开云服务了。而无数成功案例表明,我们绝不是唯一有这种感受的用户。


多年以来,随着产品的不断发展,云服务供应商也早已超越了最初的计算、存储以及数据库等基础服务。以 AWS 为例,他们引入了 SQS(可扩展队列)、数据流水线(在组件之间提供可视化管理通信流),并开始提供能够满足开发人员需求的更多补充性服务。这意味着云服务已经不再是简单对硬件或者软件组件进行“虚拟化”,而是越来越以客户为中心——这彻底颠覆了以往以产品为中心的基本思路。AWS Lambda(无服务器计算)甚至更进一步,强迫用户忘记与系统相关的一切细节,就连容器一类虚拟系统都不用在意。此外,AWS Athena(我们要感谢 Facebook 开发的 Presto,这正是 Athena 的设计前身)也让用户摆脱了规模伸缩与数据模式等难题,直接享受查询服务带来的便利。


通过云迁移,我们的生产力得到了显著提升,唯一的代价就是我们失去了对底层系统的控制权。具体来说,我们需要学习如何在无法染指底层硬件与软件堆栈的前提下充分发挥资源潜力以实现必需的性能与可靠性指标——毕竟所有组件均以完全托管的方式提供,我们在架构层面也因此受到严格限制。失去底层优化能力,换来的是可观的管理成本节约:当然,这对我们这样的企业与产品形式来说,其实是件好事。


最近,我在一段介绍公司业务架构的视频当中提到我们的架构选择,包括如何实时收集数据并分析事件中的信息。我们有一款名叫智能数字化资产管理的产品,其中的推荐、分析以及其他各种组件都属于数据密集型系统。其架构非常复杂,因为这套系统需要管理数据与模型变更(包括对新事件处理与事件分类),需要保证服务的持续可用性(即使在数据与模型更新期间,也必须能够提供查询建议),同时确保系统能够处理大规模数据。


这里顺带一提:我们采用了 Lambda 架构以及配合蓝绿部署的 ElasticSearch 集群。


这种设计选项在传统硬件或软件堆栈当中无疑将是一场噩梦,但现在我们可以利用高级组件管理事件流程,因此轻松构建起一套完整的、能够在短短七个工作日内上线的业务架构。


我们的工程师绝对是世界上最出色的技术人才(不开玩笑),但如果不依赖于 Lambda、Data Pipeline 以及 EMR 等构建单元,那么公司绝对不可能以同样的成本与开发周期实现这一成果。


在我看来,最近关于 AI 的炒作与云转型有着同样的根源:我认为神经网络(以及胶囊网络等其他变体)都源自这样一个事实——从“描述如何解决问题”转变为“描述我们想要的结果”。在使用神经网络时,我们不需要告诉机器具体该做什么,而是在馈送输入信息时向机器提供符合期望的数据……在大量示例的引导下,模型自己就会掌握其中的诀窍。


AutoML 系统就是个非常典型的示例:我们甚至不需要了解到底该使用哪种神经网络架构,只需要将数据放进系统并描述想要得到的结果,其他一切都将“魔术般地”变成现实。


神经网络的意义并不在于很多人幻想出来的所谓“超级智能”;它之所以有趣,是因为它为我们带来了一种能够让机器计算结果、无需告诉机器具体该如何操作,同时实现成本又比较低廉的全新技术方法。


近年来,随着基础设施在资源与规模方面的快速提升,神经网络的可行性得到有力保障,因此我相信第四代乃至第五代编程语言也将像云计算一样呈现出“即服务(As-a-service)”的新面貌:我们只需要向其描述想要的结果,而无需描述如何实现。



神经网络是一种新语言,可用于描述我们需要的结果——而非具体实现方法。


想想看,我们使用第四代语言已经有数十年之久,而现在我们拥有的 graphQL 等工具已经能够完成数据关系设计、Step Functions 无服务器代码执行编排等一系列任务……换言之,基础工具集已经准备就绪。


我们等待的,就是第四代编程语言(或者说接下来的第五代)能够迎来自己的“云迁移”:描述想要实现的结果、约束条件,基础设施与代码都将由“编译器”自主解决,包括选定最适合的架构规模。此外,所有变更都随时间动态进行以匹配用户的具体需求。


我坚信十年之后的编程体验将大不相同,那时候的编程只需要涉及目标设定、要求描述与约束设置几项,而机器管理之类的破事都将由自主系统独力完成。我期待着各大云服务供应商能够在未来几年内拿出令人惊喜的相关解决方案。


我是非常期待啦,不知道各位朋友赞不赞成我的想法?


原文链接:


As-a-service offering is changing what a developer is


2019-10-30 15:381867

评论

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

数据库周刊31丨openGauss 正式开源;7月数据库排行榜发布;oracle ADG跨版本搭建;PG解决社保问题;mysqlbinlog解析……

墨天轮

MySQL 数据库 oracle 性能优化 opengauss

一致性hash算法的实现和平衡性测试

周冬辉

计算机中短期学习路线

zack

架构师训练营第五周作业

talen

kafka监听mysql实时数据变更

爱java爱自己

MySQL mysql事务

05周作业—技术选型

dao

极客大学架构师训练营 作业 一致性Hash算法

新增的两个区块链职业到底是做什么的?

CECBC

技术人才 系统操作 需求落地 框架搭建

啃碎并发(四):Java线程Dump分析

猿灯塔

一口气说出 OAuth2.0 的四种授权方式

程序员小富

Java oauth2.0

架构师训练营 W5 作业

Kun

极客大学架构师训练营

你可能还不知道自己无知

小天同学

读书 智能时代 信息噪声 高考

分布式缓存总结

罗亮

话题讨论|作为一名程序员,你下班之后都会做些什么?

InfoQ写作社区官方

写作平台 话题讨论 话题 热门活动

让Go“恐慌”的十种方法

博文视点Broadview

Go 语言

架构师训练营第五周作业

架构师 极客大学架构师训练营

架构师训练营 - 第五周 - 学习总结

stardust20

架构师训练营--第五周学习总结

花花大脸猫

极客大学架构师训练营

朱嘉明教授获2020杭州区块链国际周“特别致敬奖”

CECBC

CECBC 朱嘉明 区块链国际周 特别致敬

第5周结构师训练营——作业

jiangnanage

Redis-进阶篇一

多选参数

数据库 redis redis高可用 redis6.0.0 Redis项目

分布式缓存一致性hash算法实现

考尔菲德

Spring核心原理解析

Java spring

一致性Hash算法

技术小生

极客大学架构师训练营

Spring Boot读取配置文件的几种方式

Java旅途

Spring Boot properties yaml

“区块链+” 医疗行业场景应用迎来大发展

CECBC

医疗方案 区块链+ 场景应用落地 多元场景应用

架构师训练营 -- 第五周作业

stardust20

第五周总结

考尔菲德

国内首本CTF赛事技术解析书籍,五年之约,兑现了!

华章IT

网络安全 Web CTF Reverse PWN

Scrum Master与Project Manager的区别

Mew151

Scrum

作业

chenzt

架构师训练营——第5周学习总结

jiangnanage

As-a-service 正在重新定义开发人员_服务革新_Dario De Agostini_InfoQ精选文章