一、 业务介绍与技术挑战
1.公司简介
天财商龙于1998年在天津成立,是一家为餐饮企业提供信息化、整体闭环解决方案以及管理咨询服务的高新技术企业。涵盖了点餐系统、收银系统、供应链系统以及会员系统等多个方面。产品从前台的预定、点餐、支付到后台的厨房等环节。目前,服务的客户累计已达全国10万家门店。在这26年里,始终致力于推动餐饮行业从信息化向数字化发展。未来,随着技术的不断进步,餐饮行业的数字化和智能化程度将不断提高,也会继续探索为餐饮行业提供更优质的服务。
从2013年起,注册了第一个阿里云账号。在此之前,公司一直采用cs架构,推出了如点餐堡、点餐器等产品。2013年,启动了整体业务的云化发展,注册了阿里云账号,由此开启了与阿里长达十年的合作之旅。2015年,餐饮收银poss系统在阿里上正式运行。2021年,启动全线业务上云的工作。2022年,完成了核心业务的迁移改造,并基于landing zone的框架对环境进行了安全合规治理。2023年,采用阿里云WA体系对阿里云账号进行了全面治理。今年,还在与阿里沟通整体大数据上云的方案,经过近半年的poc测试,目前已具备整体大数据上云的初步准备。
2.上云历程
在业务上云阶段,我们面临诸多问题。全业务上云难度较大,尤其是云上治理方面。如何保障云上服务的稳定与安全是关键问题。特别是在当下注重成本的环境中,如何在云上控制成本、实现降本也至关重要。餐饮行业关乎民生,服务的稳定性至关重要。例如,顾客点餐时二维码无法扫码、餐品未送达后厨出现留单丢单现象,或者支付时无法结账,会员无法使用会员卡余额等情况,若长时间未解决,可能引发社会性事件,若再出现醉酒闹事或恶意捣乱等情况,甚至可能上升为治安事件。
安全问题也是企业在云上极为关注的方面。数据存储在云上,如何确保其安全性是一大挑战。若云平台权限分配不合理,可能导致权限外溢,引发数据泄露、ak丢失等问题,影响严重。对于一些规模较大的企业,可能拥有多个阿里云账号,如何对这些账号进行统一管理和治理也是我们面临的问题。
二、云卓越架构治理实践
1.账号管理
接下来分享我们在云上的治理实践。我们采用阿里云的wA体系对云上进行治理。云锐架构帮助企业在阿里云平台上构建符合卓越架构方法论与实践要求的企业云上架构,提供涵盖安全、合规、成本优化、性能效率、业务稳定、卓越运营五大支柱的咨询与实施服务,助力企业用好云、管好云。我们围绕这五大支柱展开相关工作,由于时间有限,在此挑选一些具有代表性的举措进行介绍。
首先是账号管理问题。之前我们的账号隶属于各个事业部和产品线,由各部门自行负责。2020年,将这些账号统一交由运营部门负责。起初面对众多账号,不知如何下手治理。在财务充值方面,需多次为账号充值,且每个账号需频繁登录查看费用和资源情况,还存在很多产品复用情况。我们将此问题反馈给阿里云,wA团队介绍了这个问题,制作了一个框架,采用云地中心的方式对账号进行治理。我们新建了一个ma的主账号,将所有业务性账号统一划分到ma主账号的业务账号体系内,又创建了运维账号体系,从max账号中划分出若干个ram账号,作为安全账号、监控账号、审计账号、测试账号和开发账号等。我们将原先业务账号中的部分资源迁移到运维账号下,从财务角度对财务体系进行统一管控。账号充值直接到mA主账号下,由mA账号划拨资金给每个业务账号。从ma里面直接生成ram号默认从my账号扣款。通过这种方式,实现了账号的集中化管理,在管理、财务和财务分配方面都大幅提高了效率,实现了资源隔离,提高了账号级别的安全性。
2.安全保障
账号整合完成后,接着是权限管理。之前登录阿里账号使用raM账号,存在软账号多人共用以及用主账号登录的问题,这严重影响安全性。我们采用云sso这个产品,回收了全部ram账号和主账号的部分操作权限,为每个人分配一个云sso的账号,并按照不同职能以ram角色的方式分配不同权限,如网络权限、dba权限、运维权限等。对于研发人员访问阿里云的情况,之前存在账号共享问题,研发人员只能访问某个账号中的部分资源产品,无法使用ram角色。我们采用云sso账号和ram账号同步的方式,在目标账号下生成ram账号,以原来sso同步的方式关联到ram账号,并关联到指定的资源组进行资源访问。实现了权限的最小化。从程序访问阿里云通过ak的角度,我们禁用了全部主账号的ak,以ram账号的方式对ak进行细化。ak的ram账号禁止登录,针对不同资源划分不同ak,如访问oss的账号只有管理oss的ak。在程序中我们也进行了加密,避免ak的明文暴露。虽然增加了ak的数量,但降低了单ak泄露后的影响范围。我们还会调研阿里云的kaimas产品,以便更高效地管理ak。
在整体安全方面,我们秉持三分技术七分管理的原则,内部规范了很多安全措施,在流程上规避了很多风险。在云上的安全建设中,采用网络安全、外部安全、主题安全和数据安全四道防线。网络安全方面,通过Ddox产品形成整体的库仓和模式,通过云防火墙实现南北流量管控,通过vaf实现外部侧的安全,通过Vaf中的api接口防护加密api接口,通过元容芯加固每台ess,通过数据安全中心产品对数据库实现分类分级、脱敏以及搜索审计。通过这些产品实现了公账号的统一管控模式。做好四道防线后,我们采用阿里的合规检查包对云上环境进行实时配置合规检测,就像人去医院体检一样,采用云质中心里面的健康度对云康的资源进行实时健康监测。同时我们采用单独的审计账号,将每个账号下的审计日志统一汇总到该审计账号中进行分析。通过分析能准确知道每个账号下哪些配置有问题,哪些地方可优化,从而针对云上资源进行针对性治理。
3.监控体系
对于监控体系的搭建,我们秉持让数据说话的原则。之前各账号单独监控,数据未有效聚合,存在资源浪费情况,相同内容需在多个账号下反复配置。我们与阿里的kvat团队合作,打造了一个集中的监控账号。在每个业务账号下部署一个plos探针,在监控组装号下采用ARMS的方式将每个业务账号下的探针数据统一拉取到单独的监控账号下,并进行动态展示,实现了对e4s、数据库等产品的运维监控,以及整体应用调度链路、网络链路和安全攻击、防护等日志的整体呈现,使监控展示更加直观、立体。
4.成本管控
在成本管控方面,我们没有采用一刀切的配置原则或砍资源的做法。我们先利用资源组的方式对每个账号下的所有资源进行分类,资源组的构成与产品线一致,秉持一个产品线一个资源组的模式。对于无法划分资源组的产品,我们采用标签打标签的方式呈现。结合阿里的财务单元,每月根据资源组和标签统计当月资源费用消耗情况。对于共享资源,如安全产品,按照一定比例分配给产品线。在获取每个资源组和产品线当月费用消耗情况以及资源占比情况后,我们与对应的产品线团队进行资源使用率和费用的沟通。在双向配合下,我们能精准发现当月资源使用不合理的问题并及时纠正。目前我们每月大约能降低40 - 500000的费用,节省下来的费用可投入到其他需要的模块下,实现云上资源使用率的最大化。餐饮行业具有高峰期和低峰期明显的特点,每天有中午的午式和晚上的晚室两个高峰期。因此,资源如何合理分配是重点。若都按照高等配额配置资源,会造成资源浪费。我们采用阿里云的ess弹性射高技术,在高峰期自动扩容e4s,高峰期过后自动回收,实现主机侧以及容器侧的动态扩缩容。对于中间价以及数据库,我们正在逐步切换阿里的severless产品,目前像mq、poldb已经逐步切换成sos的版本,以实现整体资源使用率的最大化。
三、业务收益与总结展望
通过以上治理举措,效率相比以前有了很大提升,安全水位得到加固,成本得到有效控制。再配合整体业务线和架构团队的优化,整体稳定性也大幅提升,秉持公司“让幸福餐饮在华夏”的原则。
未来我们将持续挑战大目标,希望借助大数据基础尝试智能运费场景,针对餐饮门店端,提升其整体使用情况,并基于云进行故障演练。例如,餐饮门店或总部端出现故障时如何快速修复,降低点餐、支付等环节的等待时长。在安全方面,我们将与阿里进一步探讨网络的东西向监控和管控。在出海合规方面,我们将与阿里探索如何实现餐饮会员数据在国内和国外的共享使用。