9月25日消息,国家情报中心及其志愿者团队依靠出色的志愿者(和工具)在短短15天之内推出了该应用程序(仅13天就支持了5000万次下载)。其中一位志愿者是Goibibo和Aarogya Setu项目志愿者的联合创始人兼首席技术官Vikalp Sahni,向我们介绍了他和他的团队如何创建了首批在全球范围内推广使用的接触追踪应用程序之一确定3,000多个COVID-19热点。
Vikalp还与我们分享了印度技术界和印度政府为达到1.4亿以上的下载量所采取的步骤。
采访的部分摘录:
在团队开始使用Aarogya Setu App之前,要牢记一些设计和架构原则?
我们确保在后端使用极其简化的微服务架构。我们利用高性能的NoSQL(高度分布式)数据库来承担数以百万计的点击量的工作量。这些超级简单的操作可确保在小于100ms的99%响应时间上实现可伸缩性。在前端,我们采用了混合方法。我们确保使用本地组件和WebView来制作非凡的可扩展和迭代的解决方案。
这个项目最大的挑战是什么?
可伸缩性和安全性是两个最大的技术挑战。我们在13天内确实达到了5000万公民,并且一天之内,就有近1400万公民下载了Aarogya Setu应用程序。在该级别上扩展服务是一项巨大的技术挑战,团队始终忙于抢占负载并进行创新,以免遇到任何停机或性能故障。幸运的是,我们确实有效地克服了规模挑战。
安全是我们面临的另一个重大挑战。许多黑客试图破坏应用程序的安全性,并且隐私功能不断受到质疑。我们看到许多违反道德和不道德的企图侵入服务/进行逆向工程。随着团队在开发过程中采取正确的措施并仔细考虑了这些漏洞,我们成功地规避了所有这些问题。
您能详细说明印度技术界和印度政府为达到1.4亿以上的 下载量
所采取的关键步骤。印度政府通过在印度各地发起大规模的推广活动提供了巨大帮助。甚至我们尊敬的总理纳伦德拉·莫迪(Narendra Modi)也向公民伸出了手来下载该应用程序。政府还向各种私人和公共机构伸出援手,以帮助他们扩大通过Aarogya Setu进行联系追踪的范围。没有印度政府的市场营销努力,这种增长和成功是不可能的。
如何使用正确的技术使团队能够满足需求的激增(有一点,联系人跟踪应用程序在一分钟内记录了700万个服务器请求)
如前所述,选择技术和正确的体系结构至关重要。我们坚持我们的理念,即保持服务简单和利用本地移动设备存储私人联系人跟踪数据。此外,我们确保我们拥有正确的DevOps实践,可以在需要更多资源时处理自动扩展的规模,并且为了促进这种增长,我们确实利用了无服务器设计和容器化方法。AWS和New Relic等合作伙伴帮助我们确保在早期阶段就克服了瓶颈以进行扩展。
对于开发人员而言,开发可大规模扩展的应用程序有哪些经验教训?
1.保持用户服务极其简单和高性能,并将所有复杂性移至后端异步流程。
2.确保快速扩展和缩减的体系结构,因此要使用Container First和无服务器部署方法。
3.在快速部署方面,前端是瓶颈很大的领域。利用应用程序中本机组件和Web组件之间的适当平衡,并创建可配置的前端。
4.移动是一个繁琐的客户端,应用程序可以做很多事情,因此可以有效利用客户端技术来分配一些原本会给服务器带来的负载。