云服务浪潮
阿里云的崛起,代表着开发技术的标准化大潮来临。
有了基础硬件(域名、服务器、数据库),短信邮件等软件服务更快地普及开来。
根据我的经历(自己做项目、创业小公司、京东大公司)来看,开发者最常见的服务有以下11种。
1、域名、域名解析
域名是互联网的基石。
PC互联网时代的入口,公司的品牌和脸面。
小米mi.com,京东jd.com,都是价值千万美元的极品。
具体点,最常见的服务是:域名注册、解析、网站和域名备案。
阿里云旗下的万网(很早就被阿里收购了),专门提供域名相关的服务。
京东云,也有对外提供的域名注册等服务。
京东集团,内部有自己的域名各项服务,比如域名注册、域名解析。
有所不同的是,内部主要是x.jd.com,x.jd.local等二级域名,局域网解析的域名。
2、云服务器和固定IP
早些年是租机房、虚拟主机、虚拟空间,现在是云服务器、容器、应用引擎。
京东集团,内部有自己的云服务器和弹性容器(这2者可能是一个事),应用引擎暂时没有。
京东云,有对外开放的弹性云。
阿里云,云服务器总的来说较为成熟了。
应用引擎,百度BAE(Baidu App Engine)、新浪SAE(Sina App Engine)更为知名。
和域名同样重要的是固定IP,一般来说是买了云服务器,才会有固定IP。
以前很多人都想通过自己的私人电脑,提供公有服务,最大麻烦点之一,在IP经常变动。
有了云服务器,断网断电的可能性降低了很多。
3、关系型数据库
目前主流的云数据库还是MySQL版本,或者叫MySQL-Like,支持MySQL的语法,可能再有一些特殊语法支持。
数据库是有状态的,底层同一时刻是“单点的”,不能随便挂掉。
自己维护,稳定运行、数据备份、参数优化都是难题。
雷观:开发者的价值,应该体现在业务的实现上,而非在解决通用的技术问题中。
京东集团:私有云,有MySQL服务,走流程,申请MySQL。
京东云:公有云,对外提供标准化的MySQL云服务。
阿里云:公有云。
云计算创业公司:没怎么注意到。
4、NoSQL数据库
Redis是最常见的,主要作为缓存来使用。
MongoDb算是常见的NoSQL数据库,主要作为数据库来用。(有使用过阿里云的MongoDb服务,不过在自己的开发场景中,没有看到文档数据库的应用点)
京东集团:内部有私有Reids,叫做JimDb,提供标准化的远程服务和API调用接口。
京东云:对外提供公有云服务。
阿里云:公有云。
云计算创业公司:提供底层硬件服务和开发环境的厂商比较少IaaS,提供SaaS的创业公司会更多一些。
5、云存储和图片服务
Google HDFS论文开放,2007之后,做云存储的创业公司特别多,现在传道我耳朵里的还真没几个。
云存储,提供文件存储、数据存储。数据库,算是云存储的特例。
另外一个特例是,图片存储,特殊在图片还有“水印”、“防盗链”等进一步服务。
京东集团:内部私有云,存储服务,图片服务,这2个是分开的。
京东云:存储服务和图片服务是一起的,标准名叫OSS。
阿里云:公有云OSS,Open Storage Service。
创业公司:又拍云、七牛云存储,创业公司提供图片服务的比较多一些。
6、CDN内容分发网络
把图片等静态资源文件,分发到离用户距离更近的网络节点,加快用户的访问速度。
京东集团:私有云
京东云:公有云
阿里云:公有云。
CDN服务,通常会和域名解析、图片服务连带提供,或者说域名解析和图片服务是CDN的经典使用场景。
7、RPC调用和SOA治理
远程方法调用RPC,是具体到开发层面的刚需,把本地运行的API部署到云端,开放给其他人,可以促进分工,大大提高开发效率。
API多了之后,之间的关系需要“治理”,阿里开源的Dubbo服务是其中比较知名,普及率比较高的。
阿里开源:Dubbo。
京东内部:Dubbo定制实现版本,基于Dubbo思路的重新实现又一个版本。
内部叫做京东服务框架Jingdong Service Framework,JSF。在我看来,JSF解决的是“同步通信”的问题。
下面提到的MQ,解决的是“异步通信”的问题。
京东云和阿里云:暂无此项服务
8、MQ消息队列和消息推送服务
Java有Java Message Service标准。
京东集团:内部有JMQ的自定义实现,解决异步通信的问题。另外,可以辅助解决“分布式事务”。
阿里云:有相应的公有有云服务。
京东云:暂无。
需要特别指出的是,消息推送服务和消息队列服务是2个相近但又不同的服务,消息推送是指把一条应用消息,比如“你中奖100元”推送到
你的Android手机设备。
消息推送服务:阿里云、腾讯云、友盟
9、日志和监控
京东集团:内部有软件、硬件、代码服务等各种级别的监控,也有统一的日志服务,叫做UMP。
京东云:只能监控云服务器
阿里云:云服务器、网站URL等监控
创业公司:监控宝等有专门提供监控解决方案。
10、自动部署
程序自动编译、打包、部署,节省人力,降低出错情况。机器犯错的可能性,远低于人工。
开源实现:Jekins
京东集团:在Jekins的基础上,定制实现了自己的自动编译部署系统Jone,Jone功能很多,和内部系统,比如项目管理系统都打通了。
创业公司:自己写Linus编译部署脚本,或者把脚本和Jekins整合下。
暂时没有注意到,有创业公司专门做自动化部署解决方案的。
11、短信邮件
域名、服务器、云存储等以上10种,主要都是“基础设施”级别的云服务。
短信邮件,也有“基础设施”的味道,但更多还算“基础应用服务”。
专一服务商:搜狐旗下的SendCloud,螺丝帽,第三方代理商很多很多。
京东:内部有自己的短信发送平台,邮件服务需要开发者自行编写代码,与内部邮件系统通信,然后发送邮件。
小结:我所见到的最常见的云服务差不多就11种,大公司小公司都需要。其它诸如“语音识别”、“语音消息”就看各家的情况了。
云服务时代已经来临,IT信息化和Internet互联网化的速度越来越快。
雷观:作为一名技术研发人员,我所追求的是充分利用标准化的云服务,实现电商、金融、协同办公之类的业务系统。
解决应用问题、赚大钱、自由生活,才是我的本质追求。
对云存储等底层技术的深入实现,并没有太多的兴趣,可能仅仅是一份赚钱的工作,一点不值钱的好奇探究之心。
纠结
这最常见的11种云服务,是互联网类创业公司几乎一定会用到的,而京东也有自己的进一步个性化实现,甚至还通过京东云开放了云服务。
文章标题纠结了好久,最终还是决定为“懂商业的技术合伙人(8):最常见的11种云服务”,而非“谈谈我对京东的认识(7):最常见的11种云服务”。