智能广告系统+支付系统 业务。
> 公司服务与业务
> 详述 IaaS、PaaS 和 SaaS 的含义及区别- http://blog.youkuaiyun.com/qq_35246620/article/details/76098949?ref=myread
IaaS:基础设施服务,Infrastructure-as-a-service;他人提供厨房、炉子、煤气,你使用这些基础设施,来烤你的披萨。
PaaS:平台服务,Platform-as-a-service;除了基础设施,他人还提供披萨饼皮。你只要把自己的配料洒在饼皮上,让他帮你烤出来就行了。也就是说,你要做的就是设计披萨的味道(海鲜披萨或者鸡肉披萨),他人提供平台服务,让你把自己的设计实现。
SaaS:软件服务,Software-as-a-service。他人直接做好了披萨,不用你的介入,到手的就是一个成品。你要做的就是把它卖出去,最多再包装一下,印上你自己的 Logo。
-- 云服务 : http://geek.youkuaiyun.com/news/detail/93004
从对内提供接口服务到对外提供云服务,经历了三个阶段发展:
1.0时代,定位对内服务,为公司研发的几十款应用提供服务端功能,推送、统一用户管理等API接口,可以说是非常普通的接口服务;
2.0时代,定位对外服务,除了支撑公司的移动研发以外,同时对外开放服务,提供更多的功能接口,也参考了行业的通用做法,形成了针对移动研发加速和提高运营效率的BaaS云平台;
3.0时代,定位基础研发平台,工具链逐渐完整,从研发、上线、运维到运营,提供应用管理、支付、IM、推送等SaaS功能,也提供托管、发布、监控、日志等PaaS功能,逐步形成SaaS + PaaS的研发平台。
-- 常见的云服务有几种方式:
1. IaaS(Infrastructure as a Service),基础设施即服务。提供云端的基础设施为主,比如提供主机、存储、网络、CDN、域名解析等功能,知名厂商有阿里云、AWS、Azure等;
2. PaaS(Platform),平台即服务。提供云端的发布、数据库服务、文件存储、缓存服务、容器管理等基础存储和管理组件,自动化了程序的配置、发布、管理,有Heroku、Google App Engine、Force.com等;
3. SaaS(Software as a Service),软件即服务。提供云端的应用服务,ERP、HR、CRM等在线系统,每个账户或者每家公司有独立的数据存储,通过账户进行权限和访问隔离,知名厂商有Salesforce、Successfactor、Zendesk等;
4. BaaS(Backen as a Service),后端即服务,起初专指针对移动端研发提供的云服务,降低移动研发的复杂度,让开发者关注与移动端开发即可。流行的服务有几大类:综合类:Parse、Kinvey;分析类:友盟、TalkingData、神策数据;支付类:Beecloud、Ping++;IM类:环信、网易;消息类:极光、个推等。
我们在2.0时代把自己定位于BaaS,随着功能的不断演进3.0着眼于PaaS和SaaS。
相比较1.0时期,架构上更合理,扩展性、维护性、鲁棒性都有很明显提升。功能上,完成移动应用研发大部分组件(统计分析、支付、IM、社交、在线参数、推送、营销、云数据、云存储、云代码)。应用的研发、上线、运维、运营形成闭环,顺利完成从对内服务到公共BaaS平台的升级。团队上,1-3人一个服务的研发,测试、上线的节奏可以自己把控。
当然,业务在演进,也有新的问题需要去解决。从功能角度,Nginx只能支持静态方式设置反向代理,然后reload,而平台有服务对应的后端服务和端口是有动态调整需求。从架构角度,在相对成熟的系统中,日志、监控这些基础组件需要统一收集、管理、处理。数据访问层、RPC等基础服务也要标准化。
产品向3.0演进由新的业务需求和架构自身的调整需求共同推动。
互联网公司多数都有由小团队、小想法、小产品,一步步发展起来的,在这个过程中能够通过设计和决策,在正确的时间做正确的事情,让产品能够快速迭代,快速上线,才是架构人员最需要考虑的事情。