直播分享会干货|云时代的应用开发问题与探索实践

HelloKitty 2022-10-19 15:17

扫一扫 在手机阅读、分享本文

2268

白鲸技术栈举办的直播分享会,我们邀请了氦三科技创始人兼CTO邓洪超来和我们聊聊“云时代的应用开发问题与探索实践”的相关话题。

邓洪超美国卡内基梅隆大学硕士,CoreOS + 阿里云,CNCF 联席主席 + KubeCon 评委会主席,专注于:应用开发与交付,开发者体验。

云为应用开发带来了哪些好处?

云上资源弹性调度,让应用开发按需付费,节省不必要的开支。

. 比如在产品验证阶段,没必要为了上线买了一堆设备,最后发现没人用就浪费了。

云服务让全栈开发省下了 DevOps 时间,更专心于业务。

. 云上有托管 Kubernetes、Postgres、Redis 服务等,省去了底层运维的工作。

云服务甚至能让全栈开发更快速开发功能,交付最核心业务。

. 一些非核心业务像登陆验证、管理订阅邮件等都有对应云服务 (Auth0, Sendgrid),应用开发只需最小量工作即可实现功能,节省时间精力,更专注于核心业务逻辑。

云时代的应用开发会有哪些变化?

服务数量会越来越多

. 应用架构和依赖越来越复杂

. 使用资源也越来越多

. 数据量越来越大

. 测试和追踪需要分布式方案

云带来了新问题

应用无法在本地环境正常运行

. 微服务依赖复杂,本地跑不起来

. 数据难以在本地复现

. 云上依赖有各种限制 (比如限制 ip 访问地址等)

. 测试和追踪无法在本地运行

应用开发环境需要跟云上各种 IaaS、PaaS、SaaS 功能和资源做好整合

开发测试环境上云

将云直接作为开发测试环境

. 本地的 IDE 只作为编辑器 + 客户端工具

. 服务以及依赖都跑在云上,本地不再需要配置任何工具和环境

. 免去了本地配置的同时,开发环境更贴近生产环境,上线成功率更大

. 开发测试环境按需使用,能够快速创建和销毁,能够一键复制

640.png

一个典型的架构

传统的本地测试和追踪工具不再有效

云上测试需要基于云的 API 测试工具

. 网络访问限制

云上测试需要包含整个服务拓扑的追踪体验

. 分布式追踪

. 请求和回复记录

. 方便调查和重现. 远程调试

云时代的测试和追踪

640 (1).png

. 一个请求就能展示途径所有服务的拓扑

. 对于出错 (返回 5xx) 的请求,相应的服务都能标记出来

. 出错请求的 request + response 都能记录下来,方便 debug

. 可以远程进入容器开发调试,并 replay 之前的request 来重现问题和 debug

总结

. 云时代的应用开发将无法在本地正常运行

. 云将被直接当做开发测试环境,本地 IDE 只是作为编辑器和客户端

. 开发测试环境按需使用,能够快速创建和销毁,能够一键复制

. 云上环境支持远程开发直接进入容器开发调试

. 云时代的测试和追踪需要适配分布式方案


【本篇文章属于白鲸技术栈原创,如需转载请注明出处】

扫一扫 在手机阅读、分享本文

扫码关注公众号

获取更多技术资讯

精选活动 更多 >

{{ val.activity_name }}

{{ val.province ? (val.province + ' ' + val.city) : val.location }}
客服微信
享受1V1专属服务
免费领取技术福利
发送名片申请入群
与CTO聊合作
(备注姓名、公司及职位)
热门文章