
类似 GitHub Pages 那样,把代码 push 到一个 Git 仓库之后,就可以部署到世界各地距离用户最近的数据中心。然后根据程序实际消耗的运算时间和网络流量计费,不需要选择可用区( Availability Zone ),不需要选择机器配置。
将来会有这样的一种服务么?或者现在已经有了?
相比 GAE 及 Heroku 的不同之处是:
1 finian 2018 年 7 月 10 日 Serverless infrastructure 这个比较接近 《世界是 container 的,也是 microservice 的,但最终还是 serverless 的》 http://liubin.org/blog/2018/05/04/the-world-is-full-managed/ |
3 est 2018 年 7 月 10 日 serverless 其实就是 GAE。其实我觉得 cloudflare 的 worker 符合 L 大想要的「离用户最近」的理念。 https://blog.cloudflare.com/serverless-performance-comparison-workers-lambda/ |
5 monsterxx03 2018 年 7 月 10 日 代码离用户近和前面套 CDN 好像没区别吧, 数据要落地的话, db 跨 region 实时同步总不是那么好搞的. |
6 LukeChien 2018 年 7 月 10 日 via Android 各个数据中心距主数据中心必须有高速稳定低延时的专线才能实现 |
7 Livid MOD OP PRO @monsterxx03 数据库及大文件存储要做到离用户最近这个是否可能,或者是否有必要,我也没有想明白。 目前觉得数据库和存储可能还是需要选 AZ,用户用 OAuth 或者其他方式在边缘完成认证之后,通过某个算法,为其数据存储分配一个距离他相对较近的 AZ。 |
8 mcfog 2018 年 7 月 10 日 嗯嗯,算力分布好做,数据分布难做,事务分布 (还要自动地,业务无关地) 那是地狱难度了 |
9 hu6360567 2018 年 7 月 10 日 via Android 容器对应的是业务,是能够方便交付,方便编排 |
10 whileFalse 2018 年 7 月 10 日 代码部署在哪里都不重要,关键是 db。 用 AWS 的 CloudFormation StackSets 可以很容易地将代码一键部署到全球多个 Region,然后通过 Route53 分发用户。 但是,用户数据怎么办呢? 如果不同用户的数据相对隔离,可以将用户在注册时自动分配至临近的 Region ;如果用户迁移了地理位置,再通过自动或者用户手动指定的方式迁移数据。 或者使用 AWS DynamoDB GlobalTables,可以在不同的 Region 中自动同步。 说到底,这样的解决方案对业务形态是有限制的。如果 @Livid 感兴趣,可以联系我讨论。 |
11 monsterxx03 2018 年 7 月 10 日 via iPhone @Livid 数据分区存储,具体怎么存储,感觉还是个业务导向的事,google spanner 号称 global distributed, 而且不是最终一致性,没用过,不清楚跨 region 对业务有什么限制,直觉上没那么完美 |
12 whileFalse 2018 年 7 月 10 日 @est #3 cloudflare worker 是基于 v8 做的隔离而不是 lambda 的容器,酷。 |
13 rio 2018 年 7 月 10 日 就是 Edge Computing。目前还没有这么完美的产品,但有些部分可以体验了,比如 Cloudflare Workers 和 AWS Lambda 都提供了 serverless 的体验,不用关心服务器的配置、位置等细节,计费也比较简单;又比如 Hyper.sh 提供了直接从 Dockerfile 部署到运行环境的体验,加个钩子到 GitHub 也不难实现 push 后直接部署。 |
14 JohnSmith 2018 年 7 月 10 日 via Android 是不是说的边缘计算 |
15 Cbdy 2018 年 7 月 10 日 via Android 这不是函数计算吗? |
16 Tink PRO 雾计算和这个类似 |
17 Kilerd 2018 年 7 月 10 日 如果抛开 docker 的话。serverless 最符合你的这个情况了。 |
18 wtbhk 2018 年 7 月 11 日 主要还是 DB 放在哪,如果要追求分布式就一定要牺牲一致性 |
19 scnace 2018 年 7 月 11 日 via Android 开个脑洞 如果数据分 Region 要考虑到分布式一致性很难(甚至没法做到完全实时)的话 那么是不是可以考虑有那么一种数据压缩技术 可以把数据碎片化之后存到每台接入 Distribute Network 的设备上呢(当然是考虑了 Region 的概念的) 那么是不是可以把每个地方(物理)都当成一个 db 集群了啊 然后随着用户的移动(物理) 再把用户的数据进行一次重新分发(感觉这个剧本哪里看过来着) |
20 est 2018 年 7 月 11 日 via Android |
21 noonempz 2018 年 7 月 11 日 怎样衡量距离用户最近?哪个用户,哪些用户。 |
22 night98 2018 年 7 月 11 日 我的想法是未来云服务商会出现自有语言或自有 sdk,按照指定方式编程即可完成分布式事务,分布式文件,分布式事务等一系列操作,而只需要和普通单机一样编程即可,并且不再需要管理数据库等,只需要指定需要的字段,按照服务商提供的 key 就可直接连接数据库进行操作。 部署时只需要打包发送并点击部署按钮即可,会自动进行部署,也可以选择高级部署方案,选择部署的国家或地区机房,无需选择资源,包括 cdn 等方案均自动完成,只需要按月进行后付费即可。 |
23 Sliverburger 2018 年 7 月 13 日 楼上的都说 serverless,这东西没办法满足“部署到世界各地距离用户最近的数据中心”的要求把? 当然通过 Cloudformation 启动多个 lambda 倒是可以考虑 |