Shopify是面向中小企业的商务服务平台,帮助个人建站,进行电商服务。
Shopify的创始人是个滑雪爱好者,对当时存在的一些电商平台不满意最而自己建站,希望通过自己的网站售卖滑雪用品。
Lütke最开始的身份是一名软件工程师,但到2004年,他不再想做一名程序员了,因为他对此已经厌倦了。他决定追随自己的激情,开了一家名为“Snowdevil”的网上商店,他在网上商店里销售自己从第三方购进的滑雪板。于是自己用ROR撸了一个电商网站。后来一步步完成了从网站搭建工具到平台再到生态的过程,打造了一个100亿美金的电子商务王国。
Shopify究竟是如何成长为今天这样一个非常成功的企业的,让我们来看看:
- Shopify是如何开发出一个比同时代其他电子商务网站更简单、更快、更美观的电商网站的?
- Shopify是如何将他们的产品从单纯的服务网店店主的工具慢慢扩展到对开发者和更大的电子商务社区都有益的产品形态上的?
- Shopify是如何计划在日益复杂的电子商务领域继续提供更简单的销售解决方案的?
他真正想要的是一个非常简单的、用户友好型的开发工具,但是当时这样的工具并不存在。
最开始的网站还是比较简单的一个web系统,mysql ROR memcached redis,前端采用HTML,JQuery,Prototype.JS是自己开发的SPA单页面架构,正常的入门级标配。
随着公司业务的发展,原有的一个数据库已经不能满足了,之后进行了垂直分库,解决了容量问题。
但是业务还是发展很快,最后Shopify提出了Pod概念,虽然Pod类似于K8s中的Pod但是和这个Pod是两个事情。
Shopify的Pod概念是:Pod是一个独立的Shopify微服务实例,Pod中拥有自己的数据存储,mysql,redis等,同时包含自己的定时任务和ROR服务。每个Pod都可以独立部署,Pod内故障不会影响总体服务。
前端系统随着需求越来越多,迭代越来越快,从最开始的JQuery变为了模块化的TypeScript和React。
在之后,为了每天执行上百个CI任务,开发持续集成框架,及自动化测试框架,部署引入了金丝雀部署模式。
未来考虑到更具弹性的系统准备引入K8s方案。