案例研究:无服务器计算在可口可乐的应用,成本降30%!
如果你对使用无服务器技术有兴趣,那么你需要查看一些案例。目前许多大型企业已经考虑如何开始在生产中使用无服务器,这是一个需要关注的迹象,表明在不久的将来看到更多无服务器基础设施的实施。我们来看看可口可乐是如何在生产中使用无服务器的。
早在2016年,负责可口可乐云迁移战略的负责人可口可乐北美公司的Michael Connor就在AWS Re-Invent大会上展示了可口可乐为了满足需求,而制定的策略。新一代的数字营销应用程序完全无需服务器,并且可以窥探他们计划在未来使用AWS Lambda的创新方式。
为什么要无服务器?
开发人员需要了解DevOps,才能构建企业应用程序。不妨思考一下,现实是大多数公司依靠开发人员来运行和管理他们的服务器,但他们的时间和效率没有得到充分发挥。为了让应用程序加载,开发者们需要在Linux上做好配置,但这是企业需要的吗?
在编程的发展历程中,前端开发和后端开发几乎没有区别。事实上,过去都是同一概念:开发人员。对于Web,前端开发意味着HTML和CSS。而后,在2004年Ajax出现后,将Javascript添加到了前端开发人员层面。几年后,前端开发人员需要了解一点设计,可能是一个Photohop或Illustrator,以及一些用户体验和用户界面设计。
是不是这样,你可以查找前端开发人员的招聘广告,并将其与2006年至2009年的招聘广告进行比较。你会看到明显的要求变化。
而现在,作为前端开发人员,你需要了解上面提到的所有技术,以及一点Angular,React,Redux,VueJs,Aurelia,SemanticUI,Bootstrap,Bulma,Foundation,相信这个表单未来还会无休止的延长。
这就是应用程序的前端。而后端更加糟糕。添加到“新常态”,即后端开发人员需要能够部署,监控,管理,进行安全更新等等。
无服务器有何不同?
无服务器仍然会让你学习和使用一堆相同的前端框架,但它将消除所有后端管理,安全漏洞等的压力。这将使你能够专注于应用程序,UX,用户界面和业务逻辑,而其他所有内容都由无服务器基础架构提供。
可口可乐的无服务器
可口可乐在全球范围内的自动售货机与可口可乐总部有一个集成的通信系统。为这些机器提供服务的人员,可知道特定机器是否货品不足,或者机器停止运行。营销团队使用相同的系统,可以创建诸如“买一送一”之类的活动,或者为用户为提供相关的活动。
为了开始比较两种选择,即基础设施即服务(IaaS)与功能即服务(FaaS),先了解一下可口可乐在采用无服务器之前所做的事情。他们最古老的自动售货机(具有上述功能的自动售货机)大约有10到12年的历史。直到2016年,他们一直在使用6台EC2 T2.Medium机器,每年运行费用为12864美元。这包括自动化,Ealastic负载均衡,管理,安全等,来保持自动售货机的运行。
之后,他们转向无服务器,将所需功能的成本加起来,降至了每年4490美元。这是根据他们当时获得的3000万个请求计算出来的。
如何实际工作?
自动售货机背后的逻辑很简单。客户购买饮料,机器调用支付网关来验证购买,该购买对AWS API网关进行Rest API调用,触发lambda。AWS Lambda将处理事务背后的所有业务逻辑。如果用户通过移动设备发起了交易,则涉及第五步,即向他们的移动设备发送推送通知,将信息提交给Android Pay或Apple Pay。
无服务器实现的另一个令人印象深刻的方面是所有通信都在不到1秒的时间内完成,并且只有在有实际请求时才需要付费。
结论
无服务器在可口可乐公司迈出了一大步,他们已经做到了这一点。而现在,他们被迫同时使用EC2实例和新开发的无服务器系统,直到他们完全用无服务器替换旧的自动售货机系统。