写点什么

软件技术栈商品化:应用优先的云服务如何改变游戏规则

  • 2023-04-29
    北京
  • 本文字数:1574 字

    阅读完需:约 5 分钟

软件技术栈商品化:应用优先的云服务如何改变游戏规则

云服务的发展影响了开发人员构建分布式应用程序的方式。在 QCon 伦敦大会上,Diagrid公司的产品经理Bilgin Ibryam谈到了原生云技术(如 Dapr)与以开发者为中心的云服务之间的重叠。

 

Ibryam 从如何看待从单体到微服务的转变以及接下来会发生什么开始。此外,他还讨论了基础设施将如何以云服务的形式发生演变,以及它将如何改变架构。

 


在演讲中,他从基础设施和应用程序趋势的角度讨论了在云计算时代之前或云计算早期、计算优先的云和应用优先的云时代构建应用程序的不同阶段(时间线)。

 

Ibryam 先是讨论云计算早期或云计算之前的时代,也就是单体应用程序时代。在那个时代,云计算还没有成为主流,微服务还没有出现。开发人员必须使用任何可以实现业务逻辑的一切东西,如异步交互(消息传递)、打包程序和缓存。此外,Dev 团队负责的应用程序层和由 Ops 团队管理的基础设施之间也存在区别。

 


接下来,Ilryam 讨论了早期云计算时代之后的内部架构。2010 年之后,人们对应用程序开发重新产生了兴趣,随后出现了一些主要的软件开发趋势,直到今天仍然具有影响力。人们可以使用C4模型4+1架构模型视图来可视化和描述架构,这为他们提供了不同的方法来观察架构。Ibryam 采用了更直接的方法,将架构分为两个层次:内部架构和外部架构。内部应用程序架构由开发人员构建,他们可以完全控制所有的东西,包括应用程序不同的层,或者如他所说的——容器镜像中的所有内容。从 Ops 角度来看,它就是一个黑盒。外部应用程序架构是与应用程序交互的所有内容的集合,包括消息代理、数据库,甚至是云服务。Ops 让它变得可靠、可观察,等等。他讨论了一些影响单体应用程序开发的架构设计方法,例如领域驱动设计、六边形架构、洋葱架构和干净架构(Clean Architecture)。随后出现的 12 因素(12-Factor)应用和微服务原则让单体应用架构变成了一种反模式。

 

在早期的云时代之后是计算优先云,在这个时代,单体应用程序开始向微服务转变。内部应用程序架构的变化和云的出现导致了应用程序及其基础设施之间的分离集成。

 


在讨论“计算优先”时,Ilbryam 详细介绍了应用程序内部架构和云提供的计算。它是应用程序和计算机之间的契约(集成绑定),无论是容器、函数还是无服务器应用程序。它发生在双方的 API(操作调用,如资源需求、部署、配置和度量)之间。通常由 Ops 团队负责。

 

接下来,Ilbryam 再次讨论了随着云计算的出现,应用程序外部架构如何随着时间的推移而发生变化。然后再次提到了应用程序绑定的概念,只是这次说的是位于应用程序之上的云服务(由开发人员负责),而不是底层的基础设施。

 


面向云服务的集成绑定可以移动到另一层,比如分布式应用程序运行时(Dapr)。作为对比,Ibryam 提到了 Google Cloud Event Arc、AWS EventBridge 和 Azure Event Grid,它们都是特定于云的,而 Camel 是语言无关的,Dapr 则是两者兼而有之。

 

最后,Ibryam 谈到了应用优先的云,网络服务正变得越来越以应用为中心,并诞生了集成云:为开发人员构建的托管服务的集合。

 


应用优先的生态系统将提供与事件处理服务(如 Azure Eventgrid)的异步绑定、与服务(如 AWS Step Functions)的有状态绑定、与服务(如 Vercel Edge Middleware)的同步绑定,以及与计算服务(如 AWS ECS、Azure Container Apps 和 Google Cloud Run)的计算绑定。通信将采用遵循 OpenAPI 规范的 API 进行。

 

最后,Ibryam 总结他演讲的关键要点:

  • 专注于区分业务逻辑,重用无区别的商品化功能。

  • 使用支持标准可移植性的开放计算和开放集成绑定。

  • 可移植性与应用程序无关,它是关于模式、实践、工具和人。

 

原文链接

https://www.infoq.com/news/2023/03/application-first-cloud-services/


相关阅读:

不只是黑盒测试:测试工程师如何识别和消除代码坏气味?

ThoughtWorks CTO:2025 年之前,我们会看到架构的演进,但不会看到革命

有状态自动扩展系统的设计模式提议


2023-04-29 08:007126

评论

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

理解 K8s 多集群(上):构建成熟可扩展云平台的核心要素

张旭海

k8s 多云 K8s 多集群管理

绝~ 阿里内部“Java进阶必备宝典”,理论到实战,一键通关

程序知音

Java java架构 Java进阶 后端技术

我通过 tensorflow 预测了博客的粉丝数

北桥苏

人工智能 深度学习 tensorflow

工赋开发者社区 | 何谓智能工厂?国内外智能工厂建设的现状分析

工赋开发者社区

CleanMyMac X专业的Mac清理工具,一次激活,永久使用

Rose

CleanMyMac下载 CleanMyMac v4.13.4 Mac清理优化工具 苹果电脑系统清理软件

如何在OpenJ9场景下使用Arthas

骑牛上青山

Java JVM Arthas openj9

SecureCRT v9.3.2最新版 激活安装教程

Rose

SSH工具 SecureCRT下载 SecureCRT激活版 SecureCRT许可证

Django笔记二十七之数据库函数之文本函数

Hunter熊

Python django 文本函数 concat substr

C语言编程-环境设置

芯动大师

C语言 环境搭建 三周年连更

如何使用Go语言实现软件设计中的‘对扩展开放、修改关闭’原则

Jack

C++中的可移植性和跨平台开发

小万哥

PS 2023中文一键安装版 Photoshop永久使用

Rose

Photoshop 2023中文版 photoshop下载 PS2023下载 PS 2023破解

Python潮流周刊#1:如何系统地自学Python?

Python猫

Python

Prompt learning 教学[技巧篇]:通过增加示例、引导词、特殊符号指令等方式让chatgpt输出更好的答案

汀丶人工智能

人工智能 自然语言处理 ChatGPT prompt learning

香港影视集团星光文化旗下 NFT 发售平台——StarNFT 上线

BlockChain先知

OPPO关停自研芯片公司哲库,这对行业将产生什么影响?

福大大架构师每日一题

芯片 福大大

理解 K8s 多集群(下):解决方案对比与演进趋势

张旭海

k8s 多云 K8s 多集群管理

测试写代码的好处

FunTester

Charles(HTTP代理服务器)注册安装教程

Rose

Charles注册码 Charles下载 HTTP代理服务器

XMind思维导图安装教程XMind 2023最新版下载

Rose

XMind教程 XMind思维导图 XMind2023下载 XMind2023新功能 XMind如何使用

软件测试/测试开发丨学习笔记之Allure2测试报告

测试人

Python 软件测试 自动化测试 测试开发 Allure

如何获得高并发经验?看这篇文章就够了

Java永远的神

程序员 系统设计 高并发 架构师 java面试

iOS MachineLearning 系列(16)—— 几个常用的图片分类CoreML模型

珲少

ElasticSearch中文分词和模糊查询

北桥苏

php elasticsearch

超级独角兽 Databricks 的崛起之路

CnosDB

时序数据库 开源社区 CnosDB Databricks

MySQL中使用group_concat()函数进行分组排序

源字节1号

开源 软件开发 小程序开发

背靠香港影视集团星光文化,StarNFT问世了

股市老人

我的网站中了马!

北桥苏

php thinkphp 网站开发

华为许超:伙伴成功,才有华为企业业务成功

脑极体

华为

软件技术栈商品化:应用优先的云服务如何改变游戏规则_服务革新_Steef-Jan Wiggers_InfoQ精选文章