三年前,在线旅游公司Priceline开始了云之旅,目标是构建一个更灵活、更敏捷的技术基础设施,首席技术官Marty Brodbeck这样说。
这其中包括按照12要素方法对应用进行现代化改造,“将应用迁移到Docker容器中,然后通过运行在Google GKE Edge上的Kubernetes来简化这个过程”。
与此同时,Priceline还在构建实时数据基础设施,提供对业务绩效的洞察,并明确未来趋势。
近日,Brodbeck分享了关于扩展云部署过程中遇到的挑战和取得的成功,致力于帮助开发人员减轻负担,以及在此过程中吸取的经验教训。
优化开发 快速迭代
Brodbeck:我们把软件开发流程视为公司最关键的业务流程之一,我们能让开发者月轻松,帮助他们提高速度,他们就越能为公司的总体目标做出贡献。作为一家公司,我们进行了大量的A/B测试,把各种功能放在平台并对其测试的频率,对我们来说是一个至关重要的优先事项。
迄今为止,我们在云转型之旅中遇到的挑战之一是,很多技术都是非常新的技术,但不一定能提供最强大的开发人员体验。
另一个挑战是,我们一直在做的大量云开发工作都是围绕12要素方法和Kubernetes的,但是现在很多CI/CD管道不一定都是Kubernetes或者12要素原生的。
Brodbeck的企业文化是高度协作的。我们喜欢相对快速地进行测试、迭代和部署。这与我们测试工具的方式是完全相同的。我们会确定一组用例,快速测试这些用例,确定是否满足我们的需求,然后找出扩展的方法。
我们在整个企业组织都是这样做的。如果工程师有一个非常好的想法,我们希望能够快速推进该想法,对其进行测试,如果真的有效,然后扩大到整个组织中应用。
云上业务 降本增效
Brodbeck:我们看待任何新技术的方式首先是,我们能从这些技术中获得什么样的运营效率和有效性?我们可以从当前管理基础设施和软件开发的方式中节省哪些成本?
然后我们会评估新技术会在我们的平台上带来的价值或者额外的收入,以及这是否会帮助我们实现更好的客户体验,从而推动我们平台进一步增长收入,为客户提供更好的体验?
第三,是围绕运营效率或者更定性的指标,为我们的同事和员工提供更好的工作体验。
每当我们评估任何类型的技术时,都会围绕其中一个方面打造业务案例,或者有时候会将这三个方面结合在一起——当我们在这方面投入的时候,以及当我们认为这些业务案例会实现盈利的时候,都会设定明确的投资回报率。
例如,我们和谷歌合作构建的云业务实例,首先是降低基础设施的成本,因此我们制定了一个为期3年的业务实例,预计到2023年前淘汰所有的数据中心。
第二个明确的业务实例是关于我们的CI/CD管道效率:我们可以通过在CI/CD工具上投入开发多少新的功能?我们可以在CI/CD管道中实施多大程度的自动化来提高开发人员的效率?
平台监管 稳定运行
Brodbeck:我认为,我们得到最大的教训就是要确保在云中运行这些平台时,能得到运营商很好的支持以及稳定性。
这涉及一些关键的事情包括:
首先,是拥有一个非常强大的可观察性平台来监控云应用,查看哪里有漏洞和缺陷。
其次,有非常好的成本管理控制,获得有关组织如何使用云的详细信息,以及非常好的治理政策。
第三,设立一个非常强大的站点可靠性工程组织,管理Kubernetes环境及规模的部署管理。
我真希望从一开始我们就知道所有这一切,但美妙之处就在于,我们在这些方面经常很快就失败了,但是能够非常快速地转型,获得一些非常好的能力,让我们能够及时地对云部署进行横向扩展。
好文章,需要你的鼓励
临近年底,苹果公布了2024年App Store热门应用和游戏榜单,Temu再次成为美国下载量最多的免费应用。
云基础设施市场现在已经非常庞大,很难再有大的变化。但是,因为人们可以轻松地关闭服务器、存储和网络——就像开启它们那样,预测全球云基础设施开支可能非常困难。