为什么Bet365对云计算说不?

简介:

当很多网站转向敏捷开发模式、使用云服务、采用Java和JavaScript语言时,Bet365(全球知名博彩服务商)仍坚持自己的IT路线。

构建Bet365体育博彩APP的是一种由爱立信发布的开源函数式编程语言和中间件 -- 支持电信交换网络中的分布式、容错和实时软件。

Alan Reed是Bet365的系统开发和支持总监,管理这一个65人的团队,负责开发用户界面并对公司核心产品的中间件提供支持,当前的项目包括横跨Bet365网站、桌面、移动设备和平板电脑的各类博彩产品。

Reed表示:“之所以采用函数式语言而非过程式语言,是因为我们面临着和电信业类似的问题。”

因此,在2012年,Bet365决定用Erlang取代Java作为主要开发语言。

Erlang由爱立信在上世纪90年代提出。电信业者在那个年代所面临的问题,与体育博彩网站有极大的雷同,即可靠性(reliability)、可扩展性(scalability)和简单性(simplicity)。

基于Erlang,Bet365在2014年推出了主打的新产品,其最主要的特性在于可以让用户在赛事结束前就提前结束投注。这需要进行大量概率方面的实时计算。在将数据库迁移到NoSQL的过程中,Erlang也发挥了作用。

跟上创新的步伐

Bet365网站的后台主要处理大量的事务交易,用泛型语言编写,而其前端则主要考虑一致性。“我们力图交付轻量级的产品,让前端代码尽量简洁、通用。”Reed表示。但是,为了适配各类终端设备,需要在保持用户界面一致性和支持设备本地特性之间达成微妙的平衡。

HTML5让Bet365可以构建通用的产品,其中只有少量的代码是基于设备的。“HTML5使我们能够写出通用性较高的产品。”Reed解释到。

“虽然不可能涵盖当前所有的设备,但我们仍然尽力保证代码的通用性。在此基础上,这款APP还有一定程度的差异化。比如,对于iPhone,我们支持特定的手势。对于各类智能手机上按键的不同,Bet365的应用也尽量提供本地化的体验。”Reed说。

“以技术为基础,我们在差异化方面竭尽全力。”Reed补充到。比如,由于可以支持视频功能,Objective C就被用于开发iPhone上的应用;类似的,当HTML5力有不逮时,就使用原生的安卓代码进行开发。

和其他很多网站一样,Bet365也使用了JavaScript。但是,其员工没有直接编写JavaScript代码的权限,而是必须通过 TypeScripts(来自于微软的开源脚本语言)生成JavaScript代码。“这种以规定格式生成Java代码的方式,可以确保代码的纯净,从而 降低错误出现的概率。这一点,对大型团队尤其重要。”Reed表示。

代码的标准性对于网站是极其重要的。“我们必须要面对的一个问题就是,由于代码生命周期很长,相应的维护工作就会变得比较重要。按规定的标准进行开发,有利于减轻维护方面的工作量。”Reed解释到。

Bet365模式

关于敏捷开发的模式,Reed的观点是:“我们还是倾向于使用传统的方法,很适合我们。”用Reed的话来说,就是Bet365是“博取各家精华”。

“在开发实践上我们的态度非常开放,凡是可取之处都会引入。”Reed补充说。

Reed表示,Bet365在软件开发上面临的很多挑战是非常独特的,新员工必须接受严格的培训。

不过,Bet365在开发工作上的确借鉴了敏捷模式的某些特质。“我们每天都发布新代码并且持续更新,但是技术规格和需求文档不能频繁变动。”

由于移动互联网应用需要持续地改进,传统的瀑布型开发模式不再适用。因此,Bet365需要在两者之间进行平衡。“我们所面临的情况,只采用瀑布模式或敏捷模式都不是很合适。”Reed表示。

独辟蹊径的技术路线

出乎意料,Bet365基于自有的数据中心构建了基础架构,而不是采用云方案。

对此,Reed回应到:“我们倾向于自建系统,这是最适用于Bet365的策略。”

在软件开发的诸多方面,Bet365的这个策略都始终贯彻如一 – 独有的开发模式、基于Erlang而非Java的后端系统、用TypeScript对JavaScript(内嵌于微软的Visual Studio 2013中)进行标准化约束等。所有这些,都体现了Bet365不随波逐流人云亦云,而是根据自身业务选定技术路线的理念。


本文作者:佚名

来源:51CTO

相关文章
|
7月前
|
存储 人工智能 大数据
云计算的详细介绍
云计算的详细介绍
294 1
|
2月前
|
存储 机器学习/深度学习 数据库
云计算的认识
云计算的三种主要类型包括基础设施即服务、平台即服务和软件即服务。每种类型的云计算都提供不同级别的控制、灵活性和管理,因此您可以根据需要选择正确的服务集。
28 0
|
8月前
|
人工智能 大数据 物联网
云计算
第一节云计算 1.云的概念 “云”是网络、互联网的一种比喻说法。通俗来讲,云是对互联网的升级,意味着互联网不仅用于存储数据,还可以为用户提供某种服务。 云”是指以云计算、网络及虚拟化为核心技术,通过一系列的硬件和软件,实现“按需服务”的一种计算机技术。 2.云计算的概念 云计算是一种通过Internet以服务的方式提供动态可伸缩的虚拟化资源的计算模式。 云计算是分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均衡等传统计算机技术和网络技术发展结合的产物。 3.云计算的特点 虚拟化 高扩展性 按需服务 灵活性高 高可靠性 极其廉价 通用性强 超大规模 考点2 云计算
|
云计算
什么是云计算
什么是云计算自制脑图
184 1
什么是云计算
|
存储 分布式计算 并行计算
云计算是什么
云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。
云计算是什么
|
物联网 数据库 云计算
关于云计算初学总结
总结一下,阿里云和华为云的区别
|
边缘计算 自动驾驶 安全
5G如何使云计算更加前卫
到2024年,全球边缘数据中心市场收入预计将超过70亿美元,并且传统电信运营商与互联网内容提供商之间的竞争关系将继续发展。这种转变意味着数据中心的数量将在全球范围内激增,为了满足这一需求,未来几年内将会建设数千个边缘数据中心。随着5G和边缘云在全球范围内的推广,服务提供商和互联网内容提供商将有一个难得的机会来进入这一领域。
103 0
|
存储 安全 网络安全
“云计算”初识
“云计算”这个概念很多人一定不陌生,这几年被炒作得人人皆知,虽然很多人对此不慎了解,但至少都知道有一个概念---云计算。
194 0
“云计算”初识
|
存储 云计算
云计算知识第三讲:云计算的产生和特点
传统IT技术存在利用率低,成本高,维护效率低,能源消耗高等诸多问题,在这种背景下,云计算在2007年被提出。
云计算知识第三讲:云计算的产生和特点