1033 #面向企业# 中小微互联网公司该如何技术选型


中小微公司,尤其是初创型公司,一定要记住: “move fast"!


在国内,由BAT"巨头垄断"的大环境下,我们中小微公司要想在夹缝中生存和发展起来,


一定要快,在快中寻找机遇,在快中寻找突破,或许,一不留神,你就成了。

所以,今天聊聊,在快速发展中,中小微企业该如何技术选型呢?有没有更好的选择?

因为业务领域不同,在技术选型上肯定大有不同,但是,选择的思路和原则肯定是一致的。

这里,我们列举了我们开发电商系统是如何技术选型的,仅供参考:

1、开发语言 PHP、JS

为什么我们选择PHP:

1)web开发的成熟语言

2)简单,灵活

3)随写,随测,随调,随时上线,开发效率高

4)PHP不是性能差,是你没用好

2、前后端分离

1)前后端协同开发,效率高

2)Resultful API,标准化API接口

3)便于以后服务化或技术迁移,比如迁移Java或go

3、开发工具 sublime、netbeans/phpstorm、vim、Git、postman、API契约测试Pact

开发工具尽量趋于个人习惯,但是好的工具应该纳入公司首选和推荐中。

4、数据存储 MySQL、redis

1)MySQL没有你想想中的那么慢,你真的用好它了吗

2)缓存,缓存。良好的缓存机制,可以让你的系统飞一样的快

5、开发框架及工程工具 JQuery、Vue.js、bootstrap、laravel、composer、webpack

框架要轻,要成熟,要实用

6、开发环境和运维 Vagrant、virtubox、Linux、Jenkins、Docker、ansible、Nagios、Fluentd

1)用vagrant构建一致的应用环境(开发、测试、预发、生产),不要把时间浪费在怀疑环境的问题上。

2)CI/CD(可选),如果有能力还是要建立CI/CD,让开发只关注代码开发,让自动化一切可以自动化的。

3)Docker (可选),docker的轻量和效率是有目共睹的,但是,如果用不好,会给团队增加复制度和不必要的麻烦。

4) 阿里云平台,使用方便,相对还是可靠的。

5)轻量稳定的监控系统Nagios、日志采集分析工具fluentd

7、敏捷开发

1)快速迭代、协同作战、高效沟通

2)做好阶段性回顾总结,让团队持续推进,

3)从每日站会、需求管理、看板、代码审查、需求验证、持续集成、持续反馈中,寻找团队节奏,持续演进。


8、协同工具 钉钉、Tower

1)选择钉钉,初衷是想将工作(钉钉)和生活(微信)分开。

2)Tower,你需要一个简单好用的项目协同工具,这里还包括trello、Worktile、teambition


总之,我们在做技术选型时,遵循以下原则:

1、简单、轻量、高效

2、能用开源的,绝不自己造轮子

3、能用钱解决的,不要耗费人力时间

4、自动化一切可以自动化的(只要错误在可控范围内)


中小微公司,和大型公司不一样,我们是在技术、人力、成本的平衡中去做选择,可能不是最好,但一定要是最适合发展的,快速争取时间和赢得市场,你说呢?

如果你有更好的选择和建议,欢迎拍砖和探讨。