飞轮|数据驱动 x 敏捷开发,字节是如何践行这两大技术理念的( 五 )

  • 在优化过程中 , 会有很多创意 。 我们通过A/B测试高速迭代 , 看看哪个创意更合适 。 而在评估的过程中 , 也会出现更多的数据 , 从而又补充了整个策略方案 , 最终就形成一个数据驱动的增长飞轮 。
  • 在这样的过程里面 , 实验的速度是非常关键的 。 如果别人一天只能做10个实验 , 你能做100个 , 那结果不言而喻 。 小到创意的实验 , 大到APP功能的迭代开发 , 速度在里面都起到非常大的作用 。 而这就呼应了我想讲的第二个理念 , 敏捷开发 。
    敏捷开发:全栈云原生架构支撑大规模应用
    说到敏捷开发 , 我们可以看到市面各种各样不同层次的解决方案 , 比如说低代码 , aPaaS等等 。 不过今天主要想和大家聊的还是云原生这块 , 因为无论是SaaS层还是PaaS层的方案 , 在底层都离不开一整套云原生架构的支持 。
    字节跳动全栈云原生化架构

    飞轮|数据驱动 x 敏捷开发,字节是如何践行这两大技术理念的
    文章图片

    这里也简单回顾下云基础技术的发展历史 , 相信很多人也比较熟悉这段轨迹了 。 可以看到 , 13年是一个重要的拐点 。 13年之后 , 随着Docker、K8s等技术的兴起和普及 , 云从 以基础设施为中心 , 走向以应用为中心;从资源服务化走向平台服务化 , 而字节跳动刚好诞生在2012年 , 因此非常幸运没有什么历史包袱 , 直接拥抱了最新的云原生技术 。

    飞轮|数据驱动 x 敏捷开发,字节是如何践行这两大技术理念的
    文章图片

    给大家分享一组数字(2021年2月份统计):字节跳动内部业务中 , 服务器的节点数近百万;同时在线的微服务数有8w+ , 并且在以每月2000的数量增长;容器数750w+;每日新增量60多PB 。
    从这些数字大家也可以看得出 , 我们面临的是一个非常大规模的 , 而且还在不断快速上涨的服务体量的挑战 。 所以从基础架构的视角 , 我们认为有三个方面的问题需要考虑:
    第一是如何支撑海量服务 。 随着应用微服务化 , 治理对象由单体应用转变为数量更庞大的微服务 , 这导致全局治理难度更加大 , 包括构建全局的配置中心以及更灵活的全局网络、运行时的选择、配备完善的安全机制 , 以及如何端到端的和整个DevOps流程进行打通 。
    第二是在大规模调度运维下的挑战 , 如何让基础设施更加稳定 。 目前内部平均单集群规模是5000多节点 , 大的集群有数万台 。 在这么大体量的情况下 , 需要考虑各种各样的问题 , 比如在大规模镜像分发的场景下 , 怎么做镜像预热、多集群的联邦管理的问题;在弱网环境下 , 云边协同的问题;在异构的环境下 , 机器学习的场景里面的GPU调度问题 。

    推荐阅读