研发效率破局之道
葛俊
前 Facebook 内部工具团队 Tech Lead
34093 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 40 讲
开篇词 (1讲)
研发效率破局之道
15
15
1.0x
00:00/00:00
登录|注册

16 | 高效上云:如何用云计算来提高效能?

自动修复能力
提高系统容错性
错误隔离
信息可视化
弹性伸缩
公有云 vs. 私有云
CI/CD流程
开发环境获取
利用抽象服务
服务抽象程度
三类云服务
错误处理
自治和集中管理相结合
微服务架构
弹性和共享
自助化
服务化
可扩展
高可用
按需服务
虚拟化
分布式
大规模
应对方案
分布式计算
优势
特点
定义
思考题
处理云带来的挑战
云计算
高效上云:如何用云计算来提高效能?

该思维导图由 AI 生成,仅供参考

你好,我是葛俊。今天,我们来聊一聊,如何使用云计算来提高研发效能。
自从 AWS 的出现,云的崛起已经成为软件开发不可阻挡的趋势。它逐渐像水和电一样,成为软件开发的一项基础设施。不容置疑的是,云极大地提升了软件研发的效能。
以我之前在 Stand 公司开发社交 App 的工作为例,项目刚开始时只有 3 个研发人员(包括两个后端和一个前端开发者)。我们使用了 AWS 的云服务,三个月就上线了第 1 个手机版本,而且是可以弹性伸缩稳定支撑百万月活的版本。在云出现之前,这是难以想象的。
所以说,怎样高效地使用云,包括公有云、私有云和混合云,对每一个团队来说都是一个绕不过去的话题。
云计算的话题很大,但我们今天重点要说的是,落实到研发效能上我们应该怎么做。我将其归纳为以下两点:
第一,深入理解在云上进行研发以及运行服务的特点,充分利用它的优势,比如服务化、自助化和弹性伸缩;
第二,了解并妥善处理它带来的挑战,比如分布式系统带来的安全和控制方面的问题。
接下来,我们分别看看这两个方面吧。

理解并利用云计算的优势

我们先简单看看云计算的定义:云计算把许多计算资源整合起来,使用软件实现自动化管理,通过网络快速提供给用户使用。其中,计算资源,包括服务器、存储、数据库、网络、软件、分析服务等。也就是说,云计算通过自动化和自助化,使得计算能力成为一种商品,在互联网上流通,就像水、电、煤气一样,可以方便地取用,且价格较为低廉。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

云计算在软件开发中的应用已成为不可阻挡的趋势。本文从实际案例出发,探讨了如何利用云计算提高研发效能。作者指出,深入理解云计算的特点,充分利用其服务化、自助化和弹性伸缩等优势是关键。在服务化方面,建议尽量使用抽象的服务,如SaaS和PaaS,以提高研发效率。自助化方面,强调了云计算在开发环境获取和CI/CD流程方面的价值。而在弹性和共享方面,作者分享了如何利用云服务的弹性伸缩功能,以及在私有云环境中实现资源共享的方法。总的来说,云计算的优势在于提供了灵活、高效的资源管理方式,能够极大地提升软件研发的效能。 在面对云计算带来的挑战时,文章提出了应对方案。分布式计算的挑战在于软件架构必须支持水平扩展,而作者强调了自治和集中管理相结合的重要性,以及错误处理的关键性。此外,文章还分享了在Facebook等公司的实践经验,展示了云计算在提高开发体验和产品上线效能方面的应用。 总的来看,本文深入探讨了云计算在软件开发中的应用和挑战,并提出了解决方案。通过对云计算特性的充分利用,可以提高研发效率,同时应对分布式计算带来的挑战,进一步完善软件架构和管理机制。这些内容对于当前从事软件开发和云计算领域的读者具有重要的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《研发效率破局之道》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(5)

  • 最新
  • 精选
  • 技术修行者
    云计算带给我们团队的好处有: 1. 基础设施的自动维护,降低不同环境因为底层配置不同带来的各种问题。 2. 服务的开箱即用,包括各种中间件、数据库等,可以让开发人员更集中在业务端开发,减少等待时间。 3. 各种资源的自动伸缩,降低了运维团队的压力。 4. 有的云计算提供商可以提供CI/CD的功能,例如OpenShift中的Source to Image功能,可以提高部署和交付的效率。 云计算带来的挑战: 1. 整体架构的设计要符合云计算的特点,不适合单体应用,要做微服务拆分。 2. 分布式系统带来的各种挑战都要考虑。

    作者回复: 总结的很全面!

    2019-09-28
    10
  • oillie
    当前工作中云计算的一个好处是,公司内部的云平台,支持多种语言,后端使用go,但云平台也支持nodejs,所以前端也可以很方便地去部署一些应用,主要是做数据聚合和渲染页面

    作者回复: 的确是这样!! (不过要注意不要太多不同技术栈。不然团队知识共享比较麻烦。)

    2019-10-13
    2
  • 李双
    讲的挺大的,能否从一些自身开发经验上,提高研发效能!例如,如何快速准确定位需求,转化技术方案,编写高质量代码!

    作者回复: 多谢你的反馈和建议! 第一二部分更多的是从整体上讨论团队效能,所以可能会感觉比较“大”。在第三个部分“个人效能”会比较多的讲述这一部分。

    2019-09-27
    2
  • 刘丹
    还可以使用云厂商提供的代码托管、CI、CD服务以及测试

    作者回复: 是的。这些Hosted Service可以发挥作用,他们实际上是SaaS,云厂商承担了绝大部分职责,我们拿来用就行了 :)

    2019-09-27
    1
  • qinsi
    一开始过于依赖云服务是否会导致lock-in,使得后面想迁移到其他平台时更困难呢?

    作者回复: 如果将来是迁移到其他云平台,那么如果你不使用云场上的特殊功能,那么应该没有什么lock-in。比如 * 使用云上的虚拟机 * 使用标准的K8s 那么可以很方便地迁移到其他云厂商的K8s上,或者自己机房里的K8s。 相反,如果使用云厂商的特殊功能,则会有Lock-in。比如特定的Ddatabase。 如果是上云以后再下云,那么云平台提供的服务就的确是lock-in。

    2020-02-05
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部