因为个人事忙,所以很久没有动笔。其实笔者很早就已经想好要写一个“低功耗架构开发”系列,立足于极小型团队开发的架构与技术选型、开发技术的。所谓的“极小型团队”的组成大概如下:
- 每个职能最多只有一名人员配备,而且甚至是兼职人员
- 没有考虑产品经理、运营人员
- 没有DBA、运维等角色
- 暂时不纳入测试
为了理解方便,在此我设置一个虚构的团队作为例子,以后的“低功耗架构开发”系列,都用此团队默认作为团队情况。
- Keith:架构师、后端开发,兼DBA与DB维护、运维
- Adolph:兼职APP开发工程师,iOS/Android/微信都做
- Dragoon:兼职前端开发工程师,HTML+CSS开发+Web开发,UI设计也得扛着
Ended,仅此三人,一人全职两人兼职。
笔者个人觉得团队已经很难精简,据自己的从业经验,通常精通架构与后端多种存储的人员很难精通界面开发,尤其是UI设计这一块,即使有技术把Web端和APP端开发出来,很可能仍然需要Dragoon的角色来优化一下UI,不然根本不能看。而且如今iOS开发已经成为标配,作为架构师兼DBA的人员通常擅长用Java,但对于目前仍以Objective-C为主的iOS多半就只能呵呵了,而且iOS开发还得配齐苹果三件套(不考虑黑苹果),一开始先不采购这个吧(假设没有Mac的话),先由拥有苹果三件套的Adolph收钱做事。
既然是“低功耗架构开发系列”,所谓的“低功耗”指的首先是节约企业/甲方的成本为基础的,所以我觉得再加入一个假设比较合理——开发产品的价格。
在此,我采用一线城市地狱价(比地板价还得低18层,真的给这个钱的话,开发人员都得转行了)的价格来计费:
- 每个功能点算200软妹币
- 界面上增删改查算4个功能点
- 单个HTTP Web接口的实现按照复杂度计算:低复杂度150元一个,中等复杂度200元一个,高复杂度300元一个
- 架构设计、基础组件设计不算钱
- 每个页面按照250元,包UI设计和切图,无论APP还是Web
- 不考虑运维成本
- 每次修改需求,功能点在原需求基础上增加,例如“添加用户”这个功能已经做完了,因为业务变化再做一次,那就是第二个功能点,再收一次钱
好,已经讲完了。立刻进入云服务选型。
为什么使用云服务?这些资料网上随便都有,但是为了方便阅读,我摘选了一些原因写在这里,并且自己加工了一下,说明为什么使用云服务。
对于一个企业、一个组织或者个人,想要在互联网上提供软件或服务,首先有哪几种可选型的基础设施。
- 物理服务器
- VPS
- 虚拟主机
- 云服务/云服务器