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

云服务的演变及其对分布式应用开发的影响

在QCon London大会上,Diagrid产品经理Bilgin Ibryam讨论了云原生技术(如Dapr)与面向开发者的云服务的交汇点。他探讨了从单体应用到微服务的转变,以及云服务的演变如何塑造应用架构。

早期或云前时代

在云成为主流之前,应用通常是单体架构。开发者需要处理从业务逻辑到异步交互、消息传递、打包和缓存等所有事务。应用层和基础设施由开发团队和运维团队分别管理。

内部架构的演变

2010年后,应用开发重新受到关注。Ibryam采用了两层架构来描述应用:内部架构和外部架构。内部架构是开发者完全控制的部分,如应用的不同层;外部架构是应用与外部系统的交互,如消息代理、数据库和云服务。他提到了一些影响单体应用开发的架构设计方法,如领域驱动设计、六边形架构、洋葱架构和清洁架构。随后,12因子应用和微服务原则的兴起使单体应用几乎成为反模式。

计算优先云时代

随着云计算的兴起,应用从单体架构向微服务架构转变。内部架构的变化和云的出现导致了应用与基础设施之间的分离。应用与计算资源(如容器、函数或无服务器应用)之间的集成通过API实现,通常由运维团队负责。

应用优先云时代

在应用优先云时代,网络服务更加关注应用,出现了集成云:一组为开发者设计的托管服务。应用优先生态系统将与事件处理服务(如Azure Eventgrid)、有状态服务(如AWS Step Functions)、同步服务(如Vercel Edge Middleware)和计算服务(如AWS ECS、Azure Container Apps和Google Cloud Run)进行异步绑定。通信将通过符合OpenAPI规范的API进行。

关键要点

  • 专注于区分业务逻辑并重用未区分的通用能力。
  • 使用基于事实标准的开放计算和开放集成绑定,以实现可移植性。
  • 可移植性不仅关乎应用,还关乎模式、实践、工具和人员。
阅读 23
0 条评论