写点什么

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:381779

评论

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

SOL项目开发代币DApp的基本要求、模式创建与海外宣发策略

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

碳课堂|数字技术如何助力碳中和目标实现?

AMT企源

数字化转型 碳中和 碳达峰 碳管理

如何选择合适的代理IP?

IPIDEA全球HTTP

解析淘宝商品评论API返回值中的用户信息与行为

技术冰糖葫芦

API Explorer API 接口 API 测试 API 策略 pinduoduo API

AI制作PPT软件有哪些?这款中文版Gamma值得推荐!

职场工具箱

效率工具 职场 PPT 办公软件 AI生成PPT

pgbench测试postgresql存储过程高并发锁表情况

俞立夫

postgresql pgbench

什么是BPM,如何构建一个BPM App?

NocoBase

低代码 BPM 无代码

加密市场的挑战与机遇:周期性变化与未来叙事趋势

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

ByteHouse案例实践:某平台如何基于OLAP大幅提升复杂查询效率?

字节跳动数据平台

数据库 大数据 云原生 Clickhouse 数仓

1场Keynote,7场技术演讲 | Karmada云原生多云容器编排引擎闪耀亮相 KubeCon China 2024

华为云原生团队

云计算 容器 云原生 KubeCON

StarRocks 存算分离 Compaction 原理

Ding_Kai

数据仓库 StarRocks

QPS提升10倍的sql优化

京东科技开发者

云解析的宕机切换是什么意思?有什么用?

国科云

YRCloudFile V6.13.0 发布| 新增弹性数据网络(Elastic Data Network)功能

焱融科技

【原创】【深入浅出系列】之代码可读性

京东科技开发者

上海锐起科技桌面虚拟化方案与中国芯的不解情缘

上海锐起科技

独家揭秘丨GreatSQL 的MDL锁策略升级对执行的影响

GreatSQL

亚马逊云科技服务之安全巡检及优化

伊克罗德信息科技

岳阳东宇第六家高端网咖开业,这位老板笃定14900K的原因是?

E科讯

小度联合新华网客户端,举办“AI技术对中小学教育的深度赋能”主题活动

科技热闻

沪港数据竞赛圆满落幕,启信宝独揽双重大奖

合合技术团队

科技 合合信息 启信宝

一直没找到合适的开源富文本?何不尝试下Fluent Editor,一个基于Quill 2.0的富文本编辑器,功能强大、开箱即用!

OpenTiny社区

前端 OpenTiny TinyVue 开源组件库

短视频生成与AI的结合应用,Web/App RPA 智能化应用

测吧(北京)科技有限公司

测试

Java日常反常识踩坑

阿里技术

Java 踩坑 经验 防踩坑

StarRocks 存算分离数据回收原理

Ding_Kai

数据仓库 LakeHouse StarRocks

一站式统一返回值封装、异常处理、异常错误码解决方案—最强的Sping Boot接口优雅响应处理器

京东科技开发者

极客天成和ScaleFlux完成产品相互兼容认证

ScaleFlux

分布式存储 企业级SSD

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